Skip to content

Commit 028aeac

Browse files
committed
Add handling for missing value
1 parent c79ee0c commit 028aeac

File tree

1 file changed

+6
-2
lines changed

1 file changed

+6
-2
lines changed

routers/web/auth/auth.go

Lines changed: 6 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -387,8 +387,12 @@ func getUserName(gothUser *goth.User) (string, error) {
387387
case setting.OAuth2UsernameEmail:
388388
return user_model.NormalizeUserName(strings.Split(gothUser.Email, "@")[0])
389389
case setting.OAuth2UsernamePreferredUsername:
390-
preferredUsername := gothUser.RawData["preferred_username"].(string)
391-
return user_model.NormalizeUserName(preferredUsername)
390+
preferredUsername, exists := gothUser.RawData["preferred_username"]
391+
if exists {
392+
return user_model.NormalizeUserName(preferredUsername.(string))
393+
} else {
394+
return "", fmt.Errorf("preferred_username is missing in received user data but configured as username source. Check if OPENID_CONNECT_SCOPES contains profile")
395+
}
392396
case setting.OAuth2UsernameNickname:
393397
return user_model.NormalizeUserName(gothUser.NickName)
394398
default: // OAuth2UsernameUserid

0 commit comments

Comments
 (0)