feat: fix bug that unable to query webauthnCredentials when db is mssql or postgres in GetUserByWebauthID() (#3712)

This commit is contained in:
DacongDA 2025-04-08 17:51:32 +08:00 committed by GitHub
parent f04a431d85
commit b3bafe8402
No known key found for this signature in database
GPG Key ID: B5690EEEBB952194

View File

@ -461,7 +461,16 @@ func GetUserByEmail(owner string, email string) (*User, error) {
func GetUserByWebauthID(webauthId string) (*User, error) { func GetUserByWebauthID(webauthId string) (*User, error) {
user := User{} user := User{}
existed, err := ormer.Engine.Where("webauthnCredentials LIKE ?", "%"+webauthId+"%").Get(&user) existed := false
var err error
if ormer.driverName == "postgres" {
existed, err = ormer.Engine.Where(builder.Like{"\"webauthnCredentials\"", webauthId}).Get(&user)
} else if ormer.driverName == "mssql" {
existed, err = ormer.Engine.Where("CAST(webauthnCredentials AS VARCHAR(MAX)) like ?", "%"+webauthId+"%").Get(&user)
} else {
existed, err = ormer.Engine.Where("webauthnCredentials like ?", "%"+webauthId+"%").Get(&user)
}
if err != nil { if err != nil {
return nil, err return nil, err
} }