Compare commits

...

3 Commits

Author SHA1 Message Date
ning
70cb2afc7c code refactor 2024-06-14 11:52:56 +08:00
ning
a814bb39b8 code refactor 2024-06-14 11:39:21 +08:00
ning
ece1e4305d feat: oidc support default team 2024-06-14 11:28:49 +08:00
2 changed files with 12 additions and 0 deletions

View File

@@ -262,6 +262,15 @@ func (rt *Router) loginCallback(c *gin.Context) {
user.FullSsoFields("oidc", ret.Username, ret.Nickname, ret.Phone, ret.Email, rt.Sso.OIDC.DefaultRoles)
// create user from oidc
ginx.Dangerous(user.Add(rt.Ctx))
if len(rt.Sso.OIDC.DefaultTeams) > 0 {
for _, gid := range rt.Sso.OIDC.DefaultTeams {
err = models.UserGroupMemberAdd(rt.Ctx, gid, user.Id)
if err != nil {
logger.Errorf("user:%v UserGroupMemberAdd: %s", user, err)
}
}
}
}
// set user login state

View File

@@ -32,6 +32,7 @@ type SsoClient struct {
Email string
}
DefaultRoles []string
DefaultTeams []int64
Ctx context.Context
Provider *oidc.Provider
@@ -55,6 +56,7 @@ type Config struct {
Email string
}
DefaultRoles []string
DefaultTeams []int64
Scopes []string
}
@@ -90,6 +92,7 @@ func (s *SsoClient) Reload(cf Config) error {
s.Attributes.Email = cf.Attributes.Email
s.DisplayName = cf.DisplayName
s.DefaultRoles = cf.DefaultRoles
s.DefaultTeams = cf.DefaultTeams
s.Ctx = context.Background()
if cf.SkipTlsVerify {