Single Sign-On (SSO) for Apps Using ADFS as IDP | ADFS SSO Login

Single Sign-On (SSO) for Apps Using ADFS as IDP | ADFS SSO Login


miniOrange's ADFS as IdP (Identity Provider) solution allows users to login to applications/websites using Single Sign-on (SSO) . It is possible to implement ADFS SSO Single Sign-On by configuring ADFS as SAML IDP in miniOrange, where miniOrange will act as SP.

miniOrange also acts as an identity broker for cross-protocol authentication. It involves configuring a Service Provider using one protocol with an Identity Provider using another protocol, such as SAML, OAuth, OpenID, JWT, etc. Using ADFS as an IDP, users can securely access their website/application once configured successfully.

This setup guide explains how users can configure Single Sign-On (SSO) login between SAML or OAuth applications and ADFS. ADFS is considered an Identity Provider (IDP) and their SAML or OAuth application are considered a Service Provider (SP), with miniOrange acting as an intermediate agent (broker).

Steps to setup ADFS as IDP and miniOrange as Service Provider(SP) for SSO login

1. Configure miniOrange as Service Provider (SP) in ADFS SSO

Mentioned below are steps to configure miniOrange as SP in ADFS via SAML and OAuth configuration. Follow the steps accordingly based on your requirement (SAML or OAuth).


  • On ADFS, search for ADFS Management application.
  • ADFS as IDP SSO login - ADFS Management application

  • After opening the ADFS Management, select Relying Party Trust & then click on Add Relying Party Trust.
  • ADFS as IDP - Add Relying Party Trust

  • Select Claims aware from the Relying Party Trust Wizard and click on Start button.
  • ADFS sso login - Start ADFS Wizard

  • Get the miniOrange SP metadata that you will require in the next step. For this, go to the miniOrange Admin Console >> Identity Provider >> Add Identity provider >> SAML Tab. Then click on the Click here link.
  • Configuring ADFS as IdP : import SP metadata

    Configuring ADFS as IdP : Import SP metadata

miniorange img Select Data Source
  • In Select Data Source, select the data source for adding a relying party trust.

    • Select Import data about the relying party published online or on the local network option & then add URL in the Federation metadata address box that you get in the previous step from miniOrange metadata section (Metadata URL).
    • Click Next.
    • Add SAML Metadata URL
    miniorange img Choose Access Control Policy
    • Select Permit everyone as an Access Control Policy and click on Next.
    • Select permit everyone as access policy to integrate adfs SAML IDP

    miniorange img Ready to Add Trust
    • In Ready to Add Trust, click on Next and then Close.
    • Select ready to add trust

    miniorange img Edit Claim Issuance Policy
    • In the list of Relying Party Trust, select the application you created and click on Edit Claim Issuance Policy.
    • Select your application to claim issuance policy

    • In Issuance Transform Rule tab, click on Add Rule >> OK button.
    • ADFS Identity Provider - Add Rules

    miniorange img Choose Rule Type
    • Select Send LDAP Attributes as Claims and click on Next.
    •  Send LDAP attributes

    miniorange img Configure Claim Rule
    • Enter the following details & click on Finish.
    • Claim rule name: Attributes
      Attribute Store: Active Directory
      LDAP Attribute: E-Mail-Addresses
      Outgoing Claim Type: Name ID
      Submit Claim rule name, attribute store and Claim type

  • You have successfully configured ADFS as IDP (Identity Provider) for achieving ADFS Single Sign-On (SSO) Login by exchanging the metadata between ADFS and miniOrange by creating a Relying party trust with miniOrange.

2. Configure ADFS as IDP in miniOrange

    Follow the steps to configure ADFS as IdP by SAML configuration.

  • Go to miniOrange Admin Console.
  • From the left navigation bar select Identity Provider
  • Click on Add Identity Provider button.
  • Configuring ADFS as IdP : Identity Provider

  • Select SAML.
  • Get the ADFS Federation Metadata by using this URL:
    https://< ADFS_Server_Name >/federationmetadata/2007-06/federationmetadata.xml.
  • Configuring ADFS as IdP : IDP metadata

  • Click on Import IDP metadata.
  • Configuring ADFS as IdP : IDP metadata

  • Choose appropriate IDP name. Select IDP Metadata as File. Then browse for the file you downloaded in the previous step.
  • Click on Import.
  • Configuring ADFS as IdP: ADFS Import

  • As shown in the below screen the IDP Entity ID, SAML SSO Login URL, Single Logout URL and x.509 Certificate will be filled from the Metadata file we just imported.
  • 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
  • Click on Save.

Test Connection (SP-Initiated)

  • Go to Identity Providers tab.
  • Click on Select>>Test Connection option against the Identity Provider you configured.
  • Test ADFS as IDP connection

  • On entering valid ADFS SSO credentials you will see a pop-up window which as shown in below screen.
  • ADFS as IDP SSO configuration successful

  • Hence your SSO configuration of ADFS as IDP in miniOrange is successfully completed.
  • To perform SSO with ADFS as Identity Provider, your application must be https enabled.
  • Navigate to Server Manager Dashboard >Tools > ADFS Management.

  • OAuth / OPenID Single Sign On (SSO) using ADFS, ADFS Management

  • Navigate to ADFS > Application Groups. Right click on Application Groups & click on Add Application group then enter Application Name. Select Server Application & click on Next.

  • OAuth / OPenID Single Sign On (SSO) using ADFS, Application Group

  • Copy Client Identifier. This is your Client ID. Add Callback URL in Redirect URL. Click on Next.

  • OAuth / OPenID Single Sign On (SSO) using ADFS, Client Identifier

  • Click on Generate shared secret. Copy the Secret value. This is your Client Secret. Click on Next.

  • OAuth / OPenID Single Sign On (SSO) using ADFS, Generate Client Secret

  • On the Summary screen, click Next. On the Complete screen, click Close.
  • Now, right-click on the newly added Application Group and select Properties.
  • Click on Add application from App Properties.
  • Click on the Add application. Then select Web API and click Next.

  • OAuth / OPenID Single Sign On (SSO) using ADFS, Add application

  • On the Configure Web API screen, enter the domain name address into the Identifier section. Click Add. Click Next.

  • OAuth / OPenID Single Sign On (SSO) using ADFS, SSO Login Configure

  • On the Choose Access Control Policy screen, select Permit everyone and click Next.

  • OAuth / OPenID Single Sign On (SSO) using ADFS, Access Control Policy

  • On the Configure Application Permission, by default openid is selected as a scope. You can select email and, profile as well, then click on Next.
  • OAuth / OPenID Single Sign On (SSO) using ADFS, Configure Application

  • On the Summary screen, click Next. On the Complete screen, click Close.
  • On the Sample Application Properties click OK.

2. Configure ADFS as IDP in miniOrange

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

  • Go to miniOrange Admin Console.
  • From the left navigation bar select Identity Providers. Select OAuth.
  • ADFS saml Apps

    ADFS saml Apps

  • Enter the following values.
  • IdP Name Custom Provider
    IdP Display Name Choose appropriate Name
    OAuth Authorize Endpoint From step 1
    OAuth Access Token Endpoint From step 1
    OAuth Get User Info Endpoint (optional) -
    Client ID From step 1
    Client secret From step 1
    Scope openid

3. Configure your Application in miniOrange


Note:

If you have already configured your application in miniOrange you can skip the following steps.


  • Click on Create App under SAML.
  • Click on Create SAML App
  • Search for your Application. In case you do not find your app, search for Custom SAML App.
  • Search for your SAML App Configure SAML Application
  • Get the ACS URL and SP Entity ID from your application.
  • Enter the following values OR click on Import SP Metadata:
  • 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
  • Click on Save to configure your application.
  • Now to get the IDP metadata of the app configured, Go to apps >> your_app >> select >> metadata tab.
  • Go to the metadata section
  • Click on the Show Metadata details in the Information required to Authenticate via External IDPs section. Download the metadata XML file by clicking on Download Metadata button or copy the Metadata URL link.
  • Downlaod metadata - URL
  • You need to Upload this metadata in your application.
  • Click on Create App under OAuth/OIDC. Click on Open ID Connect App .
  •  Add OAuth openIDConnect app
  • You can add any OAuth Client app here to enable miniOrange as OAuth Server. Few popular OAuth client apps for single sign-on are Salesforce, WordPress, Joomla, Atlassian, etc.
  • Select your OAuth openIDConnect app Configure OAth AddopenIDConnect app
  • Enter following Values:
  • Client Name Add appropriate Name
    Redirect URL Get the Redirect-URL from your OAuth Client
    Descrption Add if required
    Group Name Default
    Policy Name
    Login Method
  • Click on Save
  • Now to provide the required data to OAuth client go to the app configured i.e apps >> your_app >> select >> edit.
  • Edit OAuth editOpenidConnect app OAuth openidConnect app endpoints

    Note: Choose the Authorization Endpoint according to the identity source you configure.

  • When you want to use you want to use miniOrange as OAuth identity server use this endpoint: https://{mycompany.domainname.com}/moas/idp/openidsso
  • If you are configuring any Identity Provider in Identity Providers Menu and not using miniOrange as IDP use this endpoint: https://{mycompany.domainname.com}/broker/login/oauth{customerid}
  • Click on Create App under JWT.
  • Click n External JWT app
  • Select JWT App.
  • SelectJWT app
  • Configure the name for your application and configure Redirect-URL which tells where to send JWT response. Redirect-URL should be an endpoint on your application where you want to achieve SSO.
  • Configure JWT App

    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

  • Click Save
  • To get the SSO link for your application, Go to Apps >> your_app >> select >> Edit.
  • Get SSO Link
  • Then, copy the Single Sign On Url and verify SSO setup by browsing that url.
  •  SSO URL
  • On successful authentication, you will be redirected to configured Redirect or Callback URL with JWT token
  • You will need to download a certificate from App > Manage Apps, and click Certificate link against your configured application. This certificate will be used for signature validation of JWT response.
  • Download certificate to proceed with SSO

4. Setup Multiple IDPs (Optional)

    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.

  • Login using IDP selection page: It gives users an option to Select IDP from the dropdown list during login time.
  • Domain Mapping: Here we map the email domains to a particular IDP. So when the user enters the Email address with a specific domain he would be redirected to the respective IDP.
  • App Identity Provider Mapping: This feature gives users an option to select one specific IDP for their application before login.
  • Note : At once you can select either of them.



  • 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 can also change the look and feel of this page. Login to miniOrange Admin console. Navigate to Customization -> Branding Configuration. See the below screenshot for reference-
    Customize IDP selection login page
  1. You can customize the title of this page.
  2. Change the logo and favicon for this page.
  3. Change the background and button color for this page from admin UI.

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

  • We have provided a Domain Mapping field under each IdP where admins can enter the domain eg. demo.com , example.com as shown in the screenshot below.
  • Domain Mapping for selected IDP SSO

    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.

  • Once the setup is complete you can login through your Wordpress site.
  • So a user logging in with the demo.com domain will be redirected to the first organisation under ADFS.
  • Selected IDP Login Page


  • User logging in with email address having example.com domain will be redirected to the second organisation under ADFS.
  • Different Domain IDP SSO login
    SSO Login Page for the selected domain
  • Once the user will authenticate itself through respective Organisations under ADFS, it will be redirected back to Wordpress site.

    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.

  • Go to apps >> your_app >> select >>edit.
  • Edit SAML app
  • Here you will have an option called as an Identity source.
  • The dropdown list would show the list of configured IDPs (Identity providers) in miniOrange Identity Providers tab and Userstore.
  • Select one IDP you want for this application. Click on Save.
  • Select IDP from which you want to authenticate users
  • Now the users of this application would be able to authenticate only by the IDP (Identity Provider) selected from the Identity Source dropdown list.

Additional Resources


If you are looking for anything which you cannot find, please drop us an email on idpsupport@xecurify.com.

Hello there!

Need Help? We are right here!

support
Contact miniOrange Support
success

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