-
Notifications
You must be signed in to change notification settings - Fork 16
[WIP] SAML to OIDC mapping specification #30
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
Conversation
Propose a simple mapping of SAML attributes to OpenID Connect standard claims.
Add a few mappings of eduPerson attributes to claims of the same name.
Fix casing of `eduPersonUniqueId`, it's "Id" not "ID".
|
Hi Etienne, |
|
Hi Etienne, By definition it is not possible to have the SAML friendly name match one-on-one as OIDC does not support casing in the claim names, so edupersonPrincipalName would need map to edupersonprincipalname. I fear we can discuss endlessly if that is more beautiful and/or more understandable as compared to eduperson_principal_name. While indeed there is a extra underscore in the names I very much doubt anybody will misinterpret the intent of e.g. eduperson_principal_name. We simply followed what seems to be the 'norm' in the IANA JWT registry: https://www.iana.org/assignments/jwt/jwt.xml However, since the document[2] was written, many have adopted the proposal which means there are now multiple production instances (including e.g. eduTEAMs, PERUN, SURF/Openconext) who use this specification. I very much doubt they will be willing to change there production platform and all connected RPs because of a few underscores. Best, Niels |
|
Hi Niels, Thanks for dropping by to comment! :) I was wondering whether you were still around to provide insight into that choice.
I'm afraid you're wrong on that one. The OpenID Connect Core 1.0 specification states:
Granted, this piece of information is a bit hidden (I think it should be featured a the top of section 5). The same about scope names is much clearer though:
Moreover, the JWT RFC clearly specifies that claims names are case sensitive:
So there is nothing holding us back to only lowercase names.
Indeed, that isn't very risky. It is, however, a needless complexity when one already has SAML attributes and a name transformation is required between the two worlds.
That is unfortunate inertia, based on something that isn't a specification (as you yourself wrote in that document) so early implementers run the risk of having things specified a different way. Is this working group required to follow that earlier white paper? |
|
Withdrawing this proposal as we reached consensus on using snake_case for claim names. |
Here is my proposal to start specifying mappings from SAML attributes to OIDC claims, based on our (SWITCH) experience of running one identity provider for both protocols.