[CILogon] Instructions for CILogon with Google OAuth use new Google API for oid
, but CILogon uses an old OAuth API
#522
Labels
oid
, but CILogon uses an old OAuth API
#522
Bug description
The
allowed_idps
dict is documented to expect its keys to be entity ids from the list provided by CILogon at https://cilogon.org/idplist.oauthenticator/oauthenticator/cilogon.py
Line 113 in 333f356
However, the
idp
field of theuserinfo
response from CILogonoauthenticator/oauthenticator/cilogon.py
Line 306 in f3af268
is an old Google oidc endpoint, i.e. http://google.com/accounts/o8/id . I believe the OpenID Connect authorization endpoint to use instead is https://accounts.google.com/o/oauth2/v2/auth which is document at https://developers.google.com/identity/protocols/oauth2/openid-connect.
Expected + actual behaviour
I expected what CILogon would return in the
userinfo
dict would be the entity id in the list at https://cilogon.org/idplist, which ishttps://accounts.google.com/o/oauth2/auth
, but is not, so when trying to use the Google identity provider, JupyterHub returns a 500 error.How to reproduce
A config like:
won't work, because it would think you're using an idp that wasn't authorized when logging in using Google (which is actually the opposite of what's wanted)
Possible solution
I opened an issue about it upstream also ncsa/oa4mp#45 and I believe solving that would also solve this issue.
In the meantime however, we should document which is the actual entity id of Google that is expected.
The text was updated successfully, but these errors were encountered: