Hello there!

Need Help? We are right here!

Support Icon
miniOrange Email Support
success

Thanks for your Enquiry. Our team will soon reach out to you.

If you don't hear from us within 24 hours, please feel free to send a follow-up email to info@xecurify.com

Search Results:

×

Configure Keycloak as SAML or OAuth IDP for SSO


miniOrange Identity Broker service solution enables cross protocol authentication. You can configure Keycloak as an IDP for Single Sign-On (SSO) into your applications/websites. Here, Keycloak will act as an Identity Provider (IDP) and miniOrange will act as a broker.

We offer a pre-built solution for integrating with Keycloak, making it easier and quick to implement. Our team can also help you set up Keycloak as SAML or OIDC IDP to login into your applications.


Get Free Installation Help


miniOrange offers free help through a consultation call with our System Engineers to configure SSO for different apps using Keycloak as IDP in your environment with 30-day free trial.

For this, you need to just send us an email at idpsupport@xecurify.com to book a slot and we'll help you in no time.



Prerequisites

Please make sure your organisation branding is already set under Customization >> Login and Registration Branding in the left menu of the dashboard.


Follow the Step-by-Step Guide given below for Keycloak Single Sign-On (SSO)

1. Configure miniOrange as SP in Keycloak

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).


  • Go to miniOrange Admin console and navigate to Identity Providers in the left navigation menu. Then, click on Add Identity Provider button.


  • Now click on the Click here link to get miniOrange metadata as shown in Screen below.
  • Keycloak as IDP : get miniorange metadata

  • For SP -INITIATED SSO section Select Show Metadata Details.
  • Keycloak as IDP : SP intiated Metadata

  • Click on Download Metadata
  • Keycloak as IDP : SAML attributes

  • Log in to the Keycloak Admin Panel and go to Clients.
  • Keycloak SSO- Go to Clients

  • Click on Create on the right corner of the table.
  • Keycloak SSO- Create Client

  • If you have XML file from service provider, you can click on import file and upload metadata.
  • Keycloak SSO- Import Metadata

  • For manual configuration, Select saml from client protocol dropdown and enter values provided by service provider as follows:
  • Client Id EntityID / Issuer
    Endpoints ACS Url
    Keycloak SSO- Configure client
  • Click on Save for further configuration.
  • Now provide SP configuration values as instructed in table value: .
  • Client ID The SP-EntityID / Issuer from the plugin's Service Provider Metadata tab
    Name Provide a name for this client
    Description Provide a description
    Client Signature Required OFF
    Force POST Binding OFF
    Force NameID format OFF
    NameID format Email
    Root URL Leave empty or Provide Base URL from Service Provider Metadata tab
    Valid Redirect URIs The ACS (Assertion Consumer Service) URL from the plugin's Service Provider Metadata tab
    Keycloak as SAML IDP: Keycloak SSO Client Configuration

    Keycloak as SAML IDP: Keycloak SSO Client Configuration

  • Now in Fine Grain SAML Endpoint Configuration enter values as follows.
  • Assertion Consumer Service POST Binding URL ACS Url
    Logout Service Redirect Binding URL Single Logout Url
    Keycloak as SAML IDP: Keycloak SSO Client Configuration
  • Click on the Save button.
  • For IDP metadata, Go to Realms in left panel and click on SAML 2.0 Identity Provider Metadata.

2. Configure Keycloak as IDP in miniOrange

  • Go to miniOrange Admin Console .
  • From the left navigation bar select Identity Provider.
  • Click on Add Identity Provider button.
  • Keycloak as SAML IDP

  • Select SAML. Click on Import IDP metadata.
  • Keycloak as SAML IDP: import metadata

  • Choose an appropriate IDP name. Enter the URL which you have saved in the previous step from Keycloak.
  • Click on Import.
  • Configuring Keycloak as IdP: Keycloak Import

  • As shown in the below screen the IDP Entity ID, SAML SSO Login URL and x.509 Certificate will be filled from the Metadata file we just imported.
  • Configuring Keycloak as IdP : SAML SSO Login URL and x.509 Certificate

  • Click Save
  • First of all, Download Keycloak and install it.
  • Start Server: Start the keycloak server by running the _standalone.sh_ file.
  • Root Directory of keycloak >> bin >> standalone.sh
  • Add Realm : Now login to keycloak administration console and navigate to your desired realm. You can add new realm by selecting Add Realm option.
  • Keycloak as SAML IDP: Keycloak SSO(Add Realm)

  • Create realm: Enter Realm Name and click on CREATE Keycloak SSO(Create Realm).
  • Keycloak as SAML IDP: Keycloak IDP - add realm

  • Create ROLE: The Role will be used by your applications to define which users will be authorized to access the application. Click on the Roles and choose Add Role.
  • Keycloak IDP (Add a new user)

  • Add User: We need to add users to realm who will be able to access the resources of realm. Click on the Users and choose to Add a new User.
  • Keycloak IDP (Manage Credentials)

  • User Configuration: After user is created following action needs to be performed on it.
    • 1) Setting a password for it so click on Credentials and set a new Password for the user.

    Keycloak IDP (Attribute mapping)

    NOTE : Disabling Temporary will make user password permanent.

  • Map User: We need to map user to a role. Click on Role Mappings and assign the user desired role from available roles and clicking on add selected.
  • Keycloak IDP (select new group)

  • Create groups: Click on the Groups and choose New to create a new group.
  • Keycloak IDP (assign user to group)

  • Assign user to group: Select the user whom you want to add in group. Choose Groups option from tab and then select the group-name and click on join.
  • Keycloak IDP (create OpenId Client)

  • Create OpenID client: Click on the Clients and choose create to create a new client. Enter client id and select client protocol openeid-connect and select Save.
  • Keycloak IDP (Change access type)

  • Change Access type: After client is created change its access type to confidential.
  • Keycloak as SAML IDP: Single Sign-On using Keycloak SSO

  • To get the Redirect URL:
    • Go to miniOrange Admin Console.
    • From the left navigation bar select Identity Provider. Select Oauth
    • Keycloak as SAML IDP: Azure AD sso

      Keycloak as SAML IDP: Azure AD sso

    • Copy the Callback URL as Redirect URL required for next step.
    • Keycloak as SAML IDP: Single Sign-On using (Identity Provider with OAuth 2.0 Provider)
  • Enter Valid Redirect URLs: Copy callback URL from plugin and then click on SAVE. Ex -- https:///oauth/callback
  •  Keycloak Single Sign-On (SSO) - change access type

  • Keycloak Group Mapper: Now to get group details we need to perform its client mapping with group membership else group details will not be fetched. So in client select Mappers and then click on create. Select mapper type Group Membership and enter name and token claim-name i.e the attribute name corresponding which groups will be fetched. Turn Off full group path and click on Save.
  • Keycloak SSO(Group Mapper)

    Note: -- If full path is on group path will be fetched else group name will be fetched.

  • Realm name: You need a realm name when you set up Keycloak as an OAuth provider. Go to the Realm Settings tab and copy the realm name.
  • Get Client Secret: Now we need to get client secret. So select Clients and select credentials and copy your secret from here.
  • Keycloak SSO(Jira Test)

2. Configure Keycloak as IDP in miniOrange

    Follow the steps to configure Keycloak as IdP by OAuth configuration.

  • Go to miniOrange Admin Console.
  • From the left navigation bar select Identity Provider. Select Oauth
  • Keycloak as SAML IDP: Pinterest sso

    Keycloak as SAML IDP: Pinterest sso

  • Enter the following values.
  • IdP Name Custom Provider
    IdP Display Name Choose appropriate Name
    OAuth Authorize Endpoint https://{your-base-url}/as/authorization.oauth2
    OAuth Access Token Endpoint https://{your-base-url}/as/token.oauth2
    OAuth Get User Info Endpoint (optional) https://{your-base-url}/idp/userinfo.oauth2
    Client ID From step 1
    Client secret From step 1
    Scope auto

3. Test Connection

  • Visit your Login Page URL.
  • Go to Identity Providers tab.
  • Click on Select >> Test Connection option against the Identity Provider (IDP) you configured.
  • Keycloak-IDP-TestConnection

  • On entering valid Keycloak credentials (credentials of user assigned to app created in Keycloak), you will see a pop-up window which is shown in the below screen.
  • SucessTestConn-Keycloak-IDP

  • Hence your configuration of Keycloak as IDP in miniOrange is successfully completed.

Note:

You can follow this guide, if you want to configure SAML/WS-FED, OAuth/OIDC, JWT, Radius etc


Configure Attribute Mapping

  • Go to Identity Providers >> View Identity Providers >> Your configured Keycloak as IdP.
  • Now click on Select and then Configure Attribute Mapping of your application.
  • Keycloak Single Sign-On SSO Select and Configure Attribute Mapping

  • Under Attribute Type - EXTERNAL for the external attributes that need to be transformed and sent to applications or service providers.
  • Click on the + Add Attribute button to add the attribute fields.
  • Keycloak Single Sign-On SSO Map External Attribute

  • Check attributes in test connection window from last step. Enter the attribute names (any name) that you want to send to your application under Attribute Name sent to SP.
  • Enter the value of attributes that are coming from IdP into the Attribute Name from IdP field on the Xecurify side.

Setup Multiple IDPs (Optional)

  • You can configure multiple IDPs (Identity Providers) and give users the option to select the IDP of their choice to authenticate with.
    For Example - It could be multiple AD domains belonging to different departments or multiple okta organizations.
  • Few usecases where customers configure multiple IDPs -

  • Suppose you have a product which many of your clients use and each client has their own unique IDP so you want them to SSO into your product as well using their existing IDP only. miniOrange provides a centralized way to connect with all IDPs in a very easy manner and integrate SSO into your application.
  • Suppose you are providing a course to many universities, each having a unique SAML, OAuth protocol supported IDP's like Shibboleth, ADFS, CAS, etc. You can provide Single Sign-On (SSO) into your course application to all these universities by integrating with all of them using a single platform provided by miniOrange.
  • This is the endpoint to call from your SAML application -
  • For Cloud IDP - https://login.xecurify.com/moas/discovery?customerId=<customer_id>
    For On-Premise IDP - https://yourdomain.com/discovery?customerId=<customer_id>

  • You should copy the Customer Key from admin console-> Settings -> and replace it with <customer_id> here. Once configured in SP, when you initiate the login from Service Provider, a user will be redirected to IDP Selection Page listing all IDPs configured for that account.
  • 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.

    Select your IDP (Identity Provider) to login

  • You also have the option to modify the appearance and design of this page. Login to miniOrange Admin console. Navigate to Customization -> Branding Configuration. See the below screenshot for reference-

  • Customize IDP selection login page

  • You can customize the title of this page.
  • Change the logo and favicon for this page.
  • Change the background and button color for this page from admin UI.

External References

Want To Schedule A Demo?

Request a Demo