Skip to content

Commit 51d1580

Browse files
authored
Check id token for preferred_username (alerta#987)
1 parent f7c4150 commit 51d1580

File tree

1 file changed

+3
-2
lines changed

1 file changed

+3
-2
lines changed

alerta/auth/oidc.py

Lines changed: 3 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -101,7 +101,8 @@ def openid():
101101

102102
subject = userinfo['sub']
103103
name = userinfo.get('name') or id_token.get('name')
104-
nickname = userinfo.get('nickname')
104+
username = userinfo.get('preferred_username') or id_token.get('preferred_username')
105+
nickname = userinfo.get('nickname') or id_token.get('nickname')
105106
email = userinfo.get('email') or id_token.get('email')
106107
email_verified = userinfo.get('email_verified', id_token.get('email_verified', bool(email)))
107108
picture = userinfo.get('picture') or id_token.get('picture')
@@ -113,7 +114,7 @@ def openid():
113114
group_claim: userinfo.get(group_claim) or id_token.get(group_claim, []),
114115
}
115116

116-
login = userinfo.get('preferred_username', nickname or email)
117+
login = username or nickname or email
117118
if not login:
118119
raise ApiError("Must support one of the following OpenID claims: 'preferred_username', 'nickname' or 'email'", 400)
119120

0 commit comments

Comments
 (0)