Single Sign On (SSO) for Your Application Using WSO2

WSO2 Single Sign On (SSO) for Your Application miniOrange provides a ready to use solution for Your application. This solution ensures that you are ready to roll out secure access to your application using WSO2 within minutes.

Step 1: Configuring miniOrange as Service Provider (SP) in WSO2.

  • Let’s first register in WSO2 Identity Server (IS).
  • Download and start WSO2 IS using wso2server.bat run command.
  • Enter Username and Password as admin. Click on Sign in
  • wso2 sso management console
  • From the Left Navigation Menu Click on ADD under Service Provider Tab.
  • wso2 sso add service provider
  • Add Service Provider name according to your preference and add description if necessary.
  • Click on Register.
  • wso2 sso register service provider wso2 service provider
  • Under Claims configuration select https://wso2.org/claims/emailaddress from Subject Claim URI dropdown.
  • Add following URIs in Service Provider Claim Dialect: https://wso2.org/oidc/claim & https://wso2.org/claims.
  • wso2 sso claims configuration
  • Click on Inbound Authentication Configuration.
  • Select Select SAML2 Web SSO Configuration from the dropdown.Click on Configure.
  • wso2 sso configure saml2 web configuration wso2 sso add acs url
  • For Manual configuration you need to get the Entity ID and ACS URL from miniOrange.
  • Go to miniOrange Dashboard in the left navigation menu. Click on Add External IdP.
  • wso2 sso add external IDP
  • Now click on the Click here link to get miniorange metadata as shown in Screen below.
  • wso2 sso get miniorange metadata
  • For SP -INITIATED SSO section Select Show Metadata Details.
  • wso2 sso SPintiatedMetadata
  • Enter the values in Manual configuration as shown in below screen.
  • Issuer Entity ID or Issuer
    Assertion Consumer URL ACS URL
  • Uncheck the Enable Response Signing, Enable Signature Validation in Authentication Requests and Logout Requests and Enable Single Logout.
  • Click on Register at the very bottom of the page.
  • wso2 register sp details
  • On Successful registration , you could see the below screen.
  • wso2 sso sp added sucessfully
  • Now go in list in Service Provider tab. Click on Edit against your configure app.
  • Click on Edit SAML2 Web SSO Configuration.
  • wso2 sso edit saml2 web configuration
  • Click on Download IDP Metadata option at the bottom the page.You will need this metadata in Step 2.
  • wso2 sso dowmload Metadata xml
  • To add users in WSO2 : Click on ADD under Users and Roles in the Left Navigation Menu. Then Click on Add New User.
  • wso2 sso-13
  • Enter Username and Password. Click on finish.
  • wso2 sso-13 wso2 sso-13
  • Hence the user is Successfully added in WSO2.

Step 2: Configure WSO2 as Identity Provider (IDP) in miniOrange

  • Go to miniOrange Admin Console.
  • From the left navigation bar select Identity Provider.
  • wso2 Identity Provider
  • Select SAML. Click on Import IDP metadata.
  • wso2 Import IDP metadata
  • Choose appropriate IDP name. Browse for the file downloaded in step 1.
  • Click on Import.
  • wso2 Import
  • As shown in the below screen the IDP Entity ID, SAML SSO Login URL and x.509 Certificate will be filled from the file imported.
  • SAML SSO Login URL and x.509 Certificate
  • Few other optional features that can be added to the Identity Provider(IDP) are listed in the table below:
  • 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.

Step 3: Test Connection

  • Go to Identity Providers tab.
  • Click on Select>>Test Connection option against the Identity Provider you configured.
  • wso2 sso testconnection
    wso2 sso login
  • On entering valid WSO2 credentials you will see a pop-up window which as shown in below screen.
  • wso2 sso share attributes with miniorange
  • Click on Select all to share the WSO2 user attributes with miniorange.
  • SucessTestConn wso2 IDP
  • Hence your configuration of WSO2 as IDP in miniOrange is successfully completed.

Step 4: Configure Your application in miniOrange

With us, You can configure application according to the the protocol it supports like SAML, OAuth, JWT, Ws-fed etc.


  • For example lets say the application supports SAML. Then go with the configurations Shown in SAML Application Tab.
  • Login to miniOrange Admin Console.
  • Go to Apps >> Manage Apps Click Configure Apps button.
  • azure ad saml Apps
  • Then click on SAML tab. Search for Custom App.

  • azure ad saml Apps azure ad saml Apps
  • 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 applcation.
  • Now to get the IDP metadata of the app configured, Go to apps >> your_app >> select >> metadata tab.

  • azure ad saml Apps
  • 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.
  • azure ad saml Apps
  • You need to Upload this metadata in your application.
  • To configure OAuth application in miniOrange, login to miniOrange Admin Console.

  • Go to Apps >> Manage Apps Click Configure Apps button.

  • configure app
  • Select on OAuth/OIDC tab. Click on Open ID Connect 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.

  • OAuth openIDConnect app 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.

  • OAuth editOpenidConnect app OAuth openidConnectData

    Note: Choice 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}
  • Select External/JWT App.
  • External JWT 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.
  • JWT app configure

    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.
  • JWT app SSO
  • Then, copy the Single Sign On Url and verify SSO setup by browsing that url.
  • JWT app SSO
  • 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.
  • JWT app SSO certificate

Step 5: Setup Multiple IDPs (Optional)

    You also have a choice to set multiple IDPS for Single Application. And there are two ways to represent them :

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

A] Login using IDP selection page

  • 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 IDP 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 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.

    idp selection

  • 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
  1. You can customize the title of this page.
  2. You can change the logo and favicon for this page.
  3.  You can change the background and button color for this page from admin UI.

B] Login via Domain Mapping

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 then 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.
  • For your reference , Azure AD and Okta is being used as two different IDPs and WordPress is being used as SP. Follow the guides to set up Okta and WordPress at your end.


  • Once the setup is complete you can login through your Wordpress site.
  • Lets Say in Azure AD IDP Domain field we enter example.com and in Okta IDP Domain field we enter demo.com
  • So a user logging in with the example.com domain will be redirected to Azure AD IDP.
  • User logging in with email address having demo.com domain will be redirected to Okta IDP.
  • Once the user will authenticate itself through respective IDPs, it will be redirected back to Wordpress site.

C] Login via App Identity Provider Mapping

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

  • saml app identity source option
  • Now the users of this application would be able to authenticate only by the IDP(Identity Provider) selected from Identity Source dropdown list.