This commit is contained in:
parent
6fb7986a7a
commit
4c46386fff
5 changed files with 41 additions and 20 deletions
22
auth_oidc.go
22
auth_oidc.go
|
@ -97,22 +97,26 @@ func OIDC_CRI_complete(w http.ResponseWriter, r *http.Request, ps httprouter.Par
|
|||
}
|
||||
|
||||
var claims struct {
|
||||
Firstname string `json:"given_name"`
|
||||
Lastname string `json:"family_name"`
|
||||
Nickname string `json:"nickname"`
|
||||
Username string `json:"preferred_username"`
|
||||
Email string `json:"email"`
|
||||
Groups []interface{} `json:"groups"`
|
||||
Firstname string `json:"given_name"`
|
||||
Lastname string `json:"family_name"`
|
||||
Nickname string `json:"nickname"`
|
||||
Username string `json:"preferred_username"`
|
||||
Email string `json:"email"`
|
||||
Groups []map[string]interface{} `json:"groups"`
|
||||
}
|
||||
if err := idToken.Claims(&claims); err != nil {
|
||||
http.Error(w, err.Error(), http.StatusInternalServerError)
|
||||
return
|
||||
}
|
||||
|
||||
// Try to debug Groups
|
||||
log.Println(claims.Groups)
|
||||
groups := ","
|
||||
for _, g := range claims.Groups {
|
||||
if slug, ok := g["slug"]; ok {
|
||||
groups += slug.(string) + ","
|
||||
}
|
||||
}
|
||||
|
||||
if err := completeAuth(w, claims.Username, claims.Email, claims.Firstname, claims.Lastname, &session); err != nil {
|
||||
if err := completeAuth(w, claims.Username, claims.Email, claims.Firstname, claims.Lastname, groups, &session); err != nil {
|
||||
http.Error(w, err.Error(), http.StatusInternalServerError)
|
||||
return
|
||||
}
|
||||
|
|
Reference in a new issue