-
Notifications
You must be signed in to change notification settings - Fork 18
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
Supporting other "famous" IdPs #21
Comments
How is support for "big OIDC-supporting providers" different from support for all OIDC-supporting providers? |
For most OIDC providers, you need to register. For the canonical Portier broker, I don't think we want to register with a potentially endless list of providers, so we only register with providers that (a) provide us with a large population, or (b) support our native IdP protocol, which will rely on some kind of dynamic registration. |
From experience on Persona, unilaterally supporting providers other than Gmail is untenable. We frequently saw situations where it was literally impossible to get an OAuth or OpenID gateway to return a user's preferred email address. If we can't match user input to federated output, we can't in good conscience deploy a bespoke integration: Portier won't work, and we'll lock people out of websites. For Yahoo, I know for a fact that we can't guarantee that there is any overt or discoverable relationship between the email address the user thinks they have and the email address returned by Yahoo's auth gateway. I believe we ran into similar issues regarding the many domains that have historically been associated with Hotmail and Outlook. None of this is documented by the providers themselves, so it's all guesswork and trying to reverse engineer unexpected failures. Gmail was the only provider that worked reliably. Its normalization rules are sane:
Amusingly, none of the above necessarily apply to Google Apps accounts. Closing this as WONTFIX, at least for the MVP. |
Have the email normalization changes introduced in https://github.com/portier/portier-broker/releases/tag/v0.3.0 changed the conclusion on this issue at all, by any chance? |
Definitely worth investigating again. The situation might have improved. |
Yeah, v0.3.0 threw me off today when a user created two accounts, one with dots and one without 😅 I was expecting the GMail-normalized version, but I'll go ahead and do it myself on the backend now. |
They've not changed the conclusion, unfortunately, but maybe the situation for those providers has changed, since? We can look into that. When we talk to a provider, we want some guarantee that the account they authenticate matches what we requested (using our With the change in 0.3, we can offer a much stronger guarantee to the relying party that the email address is a stable identifier, because it's just the users input, with a little normalization applied (a pure function). So for us to support additional providers means we need to have good confidence that it's going to authenticate what we send as
Both of these issues exist because If we can find a way to support more providers, while following this rule for, say, 95% (like GMail), that'd be great! |
In my test instance, Hotmail/Outlook.com is also supported. We could easily support a few other big OIDC-supporting providers in the future. It seems like this should be reflected in the documentation somehow?
The text was updated successfully, but these errors were encountered: