feat: add AddToUsergroup option to OAuth2 providers
This commit is contained in:
parent
9256b5c756
commit
7e1a38eb9e
|
|
@ -263,10 +263,21 @@ func (h *OAuth2Handler) HandleOAuthCallback(w http.ResponseWriter, r *http.Reque
|
||||||
Timeout: clientSettings.Timeout,
|
Timeout: clientSettings.Timeout,
|
||||||
}
|
}
|
||||||
|
|
||||||
userinfo := getUserInfo(h.cfg, userInfoClient, h.cfg.AuthOAuth2Providers[registeredState.providerName])
|
userinfo := getUserInfo(h.cfg, userInfoClient, providerConfig)
|
||||||
|
|
||||||
h.registeredStates[state].Username = userinfo.Username
|
h.registeredStates[state].Username = userinfo.Username
|
||||||
h.registeredStates[state].Usergroup = userinfo.Usergroup
|
|
||||||
|
usergroup := userinfo.Usergroup
|
||||||
|
if providerConfig != nil && providerConfig.AddToUsergroup != "" {
|
||||||
|
// Append configured usergroup name if addToUsergroup is set
|
||||||
|
if usergroup != "" {
|
||||||
|
usergroup = usergroup + " " + providerConfig.AddToUsergroup
|
||||||
|
} else {
|
||||||
|
usergroup = providerConfig.AddToUsergroup
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
h.registeredStates[state].Usergroup = usergroup
|
||||||
|
|
||||||
http.Redirect(w, r, "/", http.StatusFound)
|
http.Redirect(w, r, "/", http.StatusFound)
|
||||||
}
|
}
|
||||||
|
|
|
||||||
|
|
@ -184,6 +184,7 @@ type OAuth2Provider struct {
|
||||||
InsecureSkipVerify bool `koanf:"insecureSkipVerify"`
|
InsecureSkipVerify bool `koanf:"insecureSkipVerify"`
|
||||||
CallbackTimeout int `koanf:"callbackTimeout"`
|
CallbackTimeout int `koanf:"callbackTimeout"`
|
||||||
CertBundlePath string `koanf:"certBundlePath"`
|
CertBundlePath string `koanf:"certBundlePath"`
|
||||||
|
AddToUsergroup string `koanf:"addToUsergroup"`
|
||||||
}
|
}
|
||||||
|
|
||||||
type NavigationLink struct {
|
type NavigationLink struct {
|
||||||
|
|
|
||||||
Loading…
Reference in New Issue