chore(auth): refactor creating users in openid and ldap

This commit is contained in:
kolaente
2025-01-27 14:55:47 +01:00
committed by konrad
parent 38bb8de4f1
commit 71cad7aa13
4 changed files with 47 additions and 58 deletions

View File

@@ -417,32 +417,7 @@ func getOrCreateUser(s *xorm.Session, cl *claims, issuer, subject string) (u *us
Subject: subject,
}
// Check if we actually have a preferred username and generate a random one right away if we don't
if uu.Username == "" {
uu.Username = petname.Generate(3, "-")
}
u, err = user.CreateUser(s, uu)
if err != nil && !user.IsErrUsernameExists(err) {
return nil, err
}
// If their preferred username is already taken, generate a random one
if user.IsErrUsernameExists(err) {
uu.Username = petname.Generate(3, "-")
u, err = user.CreateUser(s, uu)
if err != nil {
return nil, err
}
}
// And create their project
err = models.CreateNewProjectForUser(s, u)
if err != nil {
return nil, err
}
return
return auth.CreateUserWithRandomUsername(s, uu)
}
// If it exists, check if the email address changed and change it if not