Hello there!

Need Help? We are right here!

support
miniOrange Email 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

Single Sign-On (SSO) into React Native Android Application

miniOrange provides Cloud and On-premise React Native Android Single Sign-on (SSO) solution using SAML 2.0 Compliant Identity provider (IDP) with JWT protocol. This is done using JSON Web Token (JWT) and it can be easily integrated with React Native Android.

React Native Android SSO

React Native Android SSO solution by miniOrange allows you to setup Single Sign-On into React Native Android App . React Native also allows to set up JWT SSO. With this React Native android SSO you can allow your users to login into React Native Android Application by verifying Identity with your existing compliant Identity Providers. This is done using JSON Web Token (JWT) tokens and it can be easily integrated with React Native Android built in any framework or language.


In case you need our help with below integration or sample code for JWT for your language, feel free to reach out at info@xecurify.com.


Pre-requisites:

This solution can be achieved with an easy setup which includes 2 simple steps:

We can connect with any External IDP/Directory

miniOrange provides user authentication from external directories like ADFS, Microsoft Active Directory, Azure AD, OpenLDAP, Google, AWS Cognito etc. It also provides user authentication with other IDPs like Shibboleth, PING, Okta, OneLogin, KeyCloak and many more.

Can't find your IDP ? Contact us on idpsupport@xecurify.com. We'll help you set it up in no time.



Step 1: Set up your Identity Provider in miniOrange

We are using ADFS to show the setup.

You can directly move to Step 3 if you have already configured an IDP for React Native Android SSO.

  • Login to your miniOrange dashboard. If you don’t have an IDP you can use miniOrange as your IDP.
  • Go to the Identity Provider tab and click on Add Identity Provider button.
  • Select the SAML tab.
  • React Native Android SSO select saml tab

  • Add configuration details of your IdP with minimum required configuration parameters below:
    IDP Name Enter Your IDP Name
    IDP Entity ID http://<YOUR_ADFS_DOMAIN>/adfs/services/trust
    SAML SSO Login URL http://<YOUR_ADFS_DOMAIN>/adfs/ls/
    X.509 Certificate Provide the ADFS signing certificate

Step 2: Configure miniOrange settings in your Identity Provider

  • Add configuration details below which will be required by your IdP:
  • a. Service Provider Entity ID / Issuer: https://login.xecurify.com/moas

    b. Assertion Consumption Service (ACS) URL: Find SAML ACS URL option in added Identity Source.

    • Choose ACS URL For SP-Initiated SSO.
    • SAML ACS URL for SP initiated react native Android SSO

    c. Download Metadata: This is required if you want to Download metadata.Download metadata to avoid putting the values manually.

    • Go to Identity Providers tab and find your configured IdP.
    • Click the Metadata link to view the metadata.
    • metadata details to configure IDP for react android SSO

    • A new page will get opened having metadata.

    • SAML metadata details for React native Android SSO Configurations

    • Click on the Download Metadata link to download the metadata. mo-sp-metadata.xml file will be downloaded.

    d. Signing Certificate (Optional): This is required if you want to enable signed SAML Auth request. so than IdP can verify that the contents have not been altered in transit. Download the signing certificate with the steps below.

    • Go to Identity Providers tab and find your configured IdP.
    • Click he Certificate link to download the certificate.
    • download xml metadata file for sso configuration


    e. Configure miniOrange as a relying party in ADFS:

    • Open ADFS Management console.
    • Go to Trust Relationships > Relying Party Trusts. Click Start.
    • Click on Add Relying Party Trust. Select Enter about the relying party manually. Click Next.
    • Enter Display Name. Click Next.
    • Select ADFS Profile. Click Next. Click Next again.
    • Select Enable support for the SAML 2.0 WebSSO protocol.
    • Enter the URL as https://login.xecurify.com/moas/login/broker/login/saml/acs/{YOUR_CUSTOMER_KEY} in the Relying Party URL textbox and click Next the button.
    • Enter the Relying party trust identifier as https://login.xecurify.com/moas/login
    • Click on Add. Click on Next until the last screen.
    • Check Open the Edit Claim Rules. Checkbox and click Close.
    • Click on Add Rule and select Send LDAP Attributes as Claims and Click Next.
    • Enter Claim Rule name and select Attribute Store.
    • Select Email Addresses as LDAP Attribute and Name ID as Outgoing Claim Type. Click Finish.
    • LDAP settings Attribute to SSO into React Native Android

Step 3: Configure React Native Android with miniOrange

a. Add React Native Android app in miniOrange:

In miniOrange dashboard, you can add JWT application with steps below:

  • Login to miniOrange Admin Console.
  • Go to Apps >> Manage Apps. Click on Add Application button.
  • adfs single sign on add application

  • Select tab External/JWT/PwdLess.
  • Then select the app External / JWT App.

  • React Native Android SSO - Add external JWT app

  • Configure the name for React Native Android and configure Redirect-URL which tells where to send JWT response. Redirect-URL should be an endpoint on React Native Android where you want to achieve SSO.
  • 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
  • Copy Client ID of the generated application and keep it with you for next the steps.

b. Add SSO link in React Native Android:

  • https://login.xecurify.com/moas/broker/login/jwt/<customer-id>?client_id=<client-id>&redirect_uri=<redirect-url>
  • You need to replace below values in URL:

    customer-id Customer ID of your miniOrange account which can be found under settings menu. Refer image below.
    client-id Client Id of JWT application created above(Step 3.a).
    redirect-url Configured Redirect URL against JWT application.
  • Get CustomerID.
  • Go to the Settings section, present on the top right corner.
  • Copy the value mentioned against Customer Key

  • React Native Android sso customer key


c. Verify JWT token and parse user details for SSO:

  • On your Callback endpoint, you can read and parse the JWT token.
  • Structure of JSON Web Token (JWT): JSON Web Tokens consist of three parts separated by dots (.), which are:
    • Header: Contains the signature algorithm name used to sign the payload.
    • Payload: Contains user attributes.
    • Signature: Signature value of the payload. eg. xxxx.yyyyyyyyyyyy.zzzzzz
  • 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 the JWT response.
  • React Native Android adfs sso certificate link

  • Verify JSON web token: Click here to verify your JSON token.

d. Perform SSO:

  • Once you have added the link above on React Native Android, you can verify the SSO setup by clicking a link.
  • On successful authentication, you will be redirected to configured Redirect or Callback URL with JWT token

Step 4: Single Logout (SLO)

This is an optional step. If you want to ensure that all sessions (SP and IDP) for a user are properly closed, you can configure Single Logout with the steps below.

a. Configure miniOrange with IdP SLO endpoint:

  • Go to the Identity Provider tab and edit the configured Identity Provider.
  • Find the option Single Logout URL and configure the SLO URL provided by your IdP.
  • React Native Android sso single logout url

b. Configure IdP with miniOrange SLO endpoint:

  • Configure your Identity Provider with below Single logout endpoint.
    https://login.xecurify.in/moas/broker/login/saml_logout/<your-customer-id>
  • You can find the SSO Binding option to configure the logout binding type to either REDIRECT or POST.

c. Configure your JWT application with SLO endpoint:

  • Configure your JWT application with below Single logout endpoint.
    https://login.xecurify.in/moas/broker/login/jwt/logout/<your-customer-id>?redirect_uri=<redirect-url>



Why Our Customers choose miniOrange Secure Identity Solutions ?


24/7 Support

miniOrange provides 24/7 support for all the Secure Identity Solutions. We ensure high quality support to meet your satisfaction.

Try Now

Affordable Pricing

miniorange provides most affordable Secure Identity Solutions for all type of use cases and offers different packages based on customer's requirement.

Request A Quote


We offer Secure Identity Solutions for Single Sign-On, Two Factor Authentication, Adaptive MFA, Provisioning, and much more. Please contact us at -

   +1 978 658 9387 (US)   ,   +91 77966 99612 (India)    |       info@xecurify.com

-