Skip to content

Commit d46f4d2

Browse files
authored
Merge pull request #915 from jplana/fix_no_userinfo_endpoint
Skip userinfo if provider doesn't support it.
2 parents 5d46d52 + 95c249f commit d46f4d2

File tree

1 file changed

+9
-0
lines changed

1 file changed

+9
-0
lines changed

Diff for: lib/auth/auth.go

+9
Original file line numberDiff line numberDiff line change
@@ -909,6 +909,10 @@ func claimsFromUserInfo(oidcClient *oidc.Client, issuerURL string, accessToken s
909909
if err != nil {
910910
return nil, trace.Wrap(err)
911911
}
912+
// If the provider doesn't offer a UserInfo endpoint don't err.
913+
if pc.UserInfoEndpoint == nil {
914+
return nil, nil
915+
}
912916
endpoint := pc.UserInfoEndpoint.String()
913917
err = isHTTPS(endpoint)
914918
if err != nil {
@@ -979,6 +983,11 @@ func (a *AuthServer) getClaims(oidcClient *oidc.Client, issuerURL string, code s
979983
log.Debugf("[OIDC] Unable to fetch UserInfo claims: %v", err)
980984
return nil, trace.Wrap(err)
981985
}
986+
if userInfoClaims == nil {
987+
log.Warn("[OIDC] Provider doesn't offer UserInfo endpoint. Only token claims will be used.")
988+
return idTokenClaims, nil
989+
}
990+
982991
log.Debugf("[OIDC] UserInfo claims: %v", userInfoClaims)
983992

984993
// make sure that the subject in the userinfo claim matches the subject in

0 commit comments

Comments
 (0)