-
Notifications
You must be signed in to change notification settings - Fork 81
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
External Authentication with SAML #139
base: master
Are you sure you want to change the base?
Conversation
@aalonsog @apozohue10 I appreciate if you merge this code or rewrite it to keyrock because i really need this feature (external user can sign-in with SAML or open-id-conect). |
Hi, i will analyze as Keyrock actually is an SSO itself and it also allows usersto log in from other services by using the external database authentication functionality |
Hi again @napat1412, sorry for the delay in answering and thanks for your contribution. I have been reviewing your PR and I think it would be interesting to integrate this functionality in Keyrock. However, I think that It should be each application which should decide to enable or not the SSO authentication with SAML. I mean, the SSO you have proposed is for sign in directly on Keyrock instead of the application. So, the SSO button should be moved to the OAuth view and there should be some kind form to enable this SSO when registering the application. You have an example of what i mean in the documentation. We developed years ago a SAML authentication with eIDAS. You can enable this kind of authentication when registering an application. So, when the application redirects to Keyrock using OAuth2.0 in order to perform the authentication, the user could authenticate through eIDAS or Keyrock itself. |
Pending to merge in the future. Could you firm the CLA? |
I upgrade keyrock to support Single Sign On. User can sign-in by using idp with SAML. When admin enable external_user_sso (this feature), user can sign-in with with SAML to setup local password in SQL database. After that user has 2 way to sign-in. (1 sign-in with local password 2 sign-in with SAML).
I use keycloak as idp, and setup 2 mappers for SAML client.
Name: username, Type: User Property, Property: username
Name: email, Type: User Property, Property: email
I appreciate if you merge this code or rewrite it to keyrock because i really need this feature (external user can sign-in with SAML or open-id-conect).
External Authentication with SAML
You can also configure the Identity Manager to authenticate users through an
external user in identity provider(idp).
When using this option, after the user correclty authenticates using his/her
remote credentials, a local copy of the user is created. For authenticating the
user externally Keyrock needs to read a set of user attributes from the SAML profile.
These SAML profile are:
username: the display name of the user.
email: the email address is the value used for authenticating the user.
For keycloak configuration(v4.8.3 Final), you create SAML client, and config
then config mapper in keycloak for SAML profile.
An example of this configuration is:
An example of keycloak configuration is:
client configuration
mapper configuration