I'm trying to use the oic library to authenticate with Google OpenID Connect, and get an error
oic.exception.IssuerMismatch: 'https://accounts.google.com' != 'accounts.google.com'
when running
from oic.oic.consumer import Consumer
db={}
config={}
c=Consumer(db, config)
print c.provider_config('https://accounts.google.com')
It tries accessing https://accounts.google.com/.well-known/openid-configuration, which says
"issuer": "accounts.google.com",
Now, the specification seems to suggest that this is incorrect:
issuer: REQUIRED. URL using the https scheme with no query or fragment component
Am I correctly interpreting the situation that this is an error in Google's OpenID connect configuration? Where should I report this error to?
(Note: I'm not looking for a work-around, which would be easy enough: I can just skip provider config discovery and hard-code the discovered information. But I want to support arbitrary OpenID Connect providers, not just Google)
oic
is confirming more exactly with regard to that field. Google's documentation explicitly states that HTTPS requests must be used, and that HTTP connections are blocked, which could be why they're okay with not adding that portion of the URI toissuer
. – admdrew.well-known/openid-configuration
I could find (eBay, Heroku, and others) do includehttps://
in theissuer
. No idea how you'd report this to Google, though. – admdrew