fix(auth): populate email for local login users

This commit is contained in:
mac
2026-07-16 17:08:23 +08:00
parent 2835cf2576
commit 487de70250
+1 -6
View File
@@ -169,16 +169,11 @@ func (s *AuthService) SAMLLogin(info *sso.SAMLDebugInfo, clientIP, userAgent str
} }
func findOrCreateLocalUser(tx *gorm.DB, username string) (model.User, error) { func findOrCreateLocalUser(tx *gorm.DB, username string) (model.User, error) {
email := "" email := username
if looksLikeEmail(username) {
email = username
}
var user model.User var user model.User
query := tx.Where("username = ? AND deleted_at IS NULL", username) query := tx.Where("username = ? AND deleted_at IS NULL", username)
if email != "" {
query = query.Or("email = ? AND deleted_at IS NULL", email) query = query.Or("email = ? AND deleted_at IS NULL", email)
}
if err := query.First(&user).Error; err == nil { if err := query.First(&user).Error; err == nil {
return user, nil return user, nil
} else if !errors.Is(err, gorm.ErrRecordNotFound) { } else if !errors.Is(err, gorm.ErrRecordNotFound) {