-
Notifications
You must be signed in to change notification settings - Fork 10.9k
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
[IMPROVE] SAML login process refactoring #12891
Conversation
- the eppn is primary identifier match parameter (if not exist then email is a secondary) - update eppn to user profile - support the eduPersonPrincipalName (eppn) usually required saml parameter - support the displayName optional saml parameter - support two new saml settings - overwrite user fullname if need (use idp attribute [cn,username or displayName]) - overwrite user mail address if need (use idp attribute)
- the eppn is primary identifier match parameter (if not exist then email is a secondary) - update eppn to user profile - support the eduPersonPrincipalName (eppn) usually required saml parameter - support the displayName optional saml parameter - support two new saml settings - overwrite user fullname if need (use idp attribute [cn,username or displayName]) - overwrite user mail address if need (use idp attribute)
+1 |
This is a very useful feature, strongly recommended. |
+1 |
1 similar comment
+1 |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Contains necessary changes, seems legit code.
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Good job!
a) This change destroy SAML with Microsoft ADFS. The login works, but the user maps always to the User Rocket.Cat. May 29 16:43:40 x06-rocketchat rocketchat[17255]: { actionName: 'authorize', |
Does it need a different authnContext value to work? What value would that be? |
request += '<samlp:RequestedAuthnContext xmlns:samlp="urn:oasis:names:tc:SAML:2.0:protocol" Comparison="exact">' + '<saml:AuthnContextClassRef xmlns:saml="urn:oasis:names:tc:SAML:2.0:assertion">urn:federation:authentication:windows</saml:AuthnContextClassRef></samlp:RequestedAuthnContext>\n' + '</samlp:AuthnRequest>'; |
This change also breaks SAML with OneLogin IdP; same symptoms as reported here, but OneLogin does support the hard-coded authnContext of |
You mean login working but with the wrong user? That was fixed by #14686 and included on the 1.1.1 hotfix release. |
Confirmed fixed. Thanks! |
The problem #14686 is fixed, THX. For AuthContext, I would suggest that you make an array to specify multiple AuthContext. This way you can support multiple variants. |
FIX NEW DIRECTORY
Closes #ISSUE_NUMBER