Single-sign-on (SSO) with KeyCloak as IdP (Identity Provider) solution by miniOrange helps you to set up SSO login to your applications/websites using Keycloak. Keycloak Single Sign-On solution can be enabled by configuring Keycloak as SAML IDP in miniOrange, where miniOrange will act as SP. Here in this guide we will see step-by-step process of configuring SSO login between website/application and Keycloak by considering Keycloak as IdP (Identity provider) and miniOrange as SP(Service provider). Once configured successfully you will be ready to securely access your website/application using Keycloak IDP SSO within minutes.
Mentioned below are steps to configure KeyCloak as IDP via SAML and OAuth configuration. Follow the steps accordingly based on your requirement (SAML or OAuth).
Follow the steps to configure Keycloak as IdP by SAML configuration.
Domain Mapping | Can be used to redirect specific domain user to specific IDP |
Show IdP to Users | Enable this if you want to show this IDP to all users during Login |
Send Configured Attributes | Enabling this would allow you to add attributes to be sent from IDP |
Client Id | EntityID / Issuer |
Endpoints | ACS Url |
Name | Provide a name for this client (Eg. miniOrange) |
Client Protocol | SAML |
Sign Assertion | On |
Encrypt Assertion | Off |
Client Signature Required | Off |
Name ID Format | Username |
Valid Redirect URIs | ACS Url |
Assertion Consumer Service POST Binding URL | ACS Url |
Logout Service Redirect Binding URL | Single Logout Url |
Follow the steps to configure Keycloak as IdP by OAuth configuration.
IdP Name | Custom Provider |
IdP Display Name | Choose appropriate Name |
OAuth Authorize Endpoint | https://<keycloak domain>/auth/realms/{realm-name}/protocol/openid-connect/auth | OAuth Access Token Endpoint | https://<keycloak domain>/auth/realms/{realm-name}/protocol/openid-connect/token | OAuth Get User Info Endpoint (optional) | https://<keycloak domain>/auth/realms/{realm-name}/protocol/openid-connect/userinfo |
Client ID | From step 2 |
Client secret | From step 2 |
Scope | email profile openid |
NOTE : Disabling Temporary will make user password permanent.
Note: -- If full path is on group path will be fetched else group name will be fetched.
Service Provider Name | Choose appropriate name according to your choice |
SP Entity ID or Issuer | Your Application Entity ID |
ACS URL X.509 Certificate (optional) | Your Application Assertion Consumer Service URL |
NameID Format | Select urn:oasis:names:tc:SAML:1.1:nameid-format:emailAddress |
Response Signed | Unchecked |
Assertion Signed | Checked |
Encrypted Assertion | Unchecked |
Group policy | Default |
Login Method | Password |
Client Name | Add appropriate Name |
Redirect URL | Get the Redirect-URL from your OAuth Client |
Descrption | Add if required |
Group Name | Default |
Policy Name | As per your Choice |
Login Method | Password |
Note: Choose the Authorization Endpoint according to the identity source you configure.
https://{mycompany.domainname.com}/moas/idp/openidsso
https://{mycompany.domainname.com}/broker/login/oauth{customerid}
In case you are setting up SSO with Mobile Applications where you can't create an endpoint for Redirect or Callback URL, use below URL.
https://login.xecurify.com/moas/jwt/mobile
You have a choice to set multiple IDPS for Single Application, i.e integrate multiple IDP and users can select IDP accordingly from which they want to authenticate themselves. There are three different ways to authenticate users using IDP.
Note : At once you can select either of them.
Few usecases where customers configure multiple IDPs -
For Cloud IDP - | https://login.xecurify.com/moas/discovery?customerId=<customer_id> |
For On-Premise IDP - | https://yourdomain.com/discovery?customerId=<customer_id> |
You can see the screenshot below of the IDP Selection Page with a list of IDPs .
Note: To view the IDP in drop-down list, go to Identity Providers tab > against your configured IDP > Select >Edit , here Enable the Show IdP to Users option.
If you have multiple IDPs and you want a certain set of users to authenticate from one IdP whereas another set of users to authenticate from another IdP, based on their email domains you can achieve this by using the following steps:- Our domain mapping feature
Lets say, there are two organisations under ADFS. One want to authenticate the users under the domain demo.com and other one with the domain example.com. For reference, We have taken the 2 organisations as two different IDPs and WordPress as SP. Follow the guides to set up ADFS and WordPress at your end.
If you have multiple IDPs (identity provider) and you want a certain application user to authenticate with one IDP and other application users with another IDP then you can achieve this by our Identity Source Feature.
Need Help? We are right here!
Thanks for your inquiry.
If you dont hear from us within 24 hours, please feel free to send a follow up email to info@xecurify.com