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) for Nodejs
miniOrange provides a ready to use solution for nodejs app. This solution ensures that you are ready to roll out secure access to your app using SAML within minutes.

Nodejs Solution

Nodejs is an open source tool built for the serverside javascript code. miniOrange have separate Single Sign On connectors for all Nodejs framework like Hapi.js, Express.js, Socket.io, Koa.js, Meteor.js, Mojito.js, Derby.js, Sails.js, Total.js. miniOrange provides secure access to Nodejs for enterprises and full control over access of applications, Single Sign On (SSO) into your Nodejs Account with one set of login credentials.


miniOrange Identity Management Features

  • Single Sign-On

    miniOrange Single Sign-On (SSO) Solution provides easy and seamless access to all enterprise resources with one set of credentials. miniOrange also provides secure authentication by establishing a trust relationship between the Service Provider and Identity Provider. miniOrange Single Sign-On supports SSO to any type of device or application whether they are in the cloud or on-premise. Learn More

  • Multi-factor Authentication

    Secure your Nodejs application from password theft using multi-factor authentication methods with 15+ authentication types provided by miniOrange. Our multi-factor authentication methods prevent unauthorized users from accessing information and resources having passwords alone as an authentication factor. Enabling second-factor authentication for Nodejs protects you against password thefts. Learn More

  • IP Blocking

    miniOrange provides IP blocking/IP restriction for Nodejs login which adds security to Gmail, Web, and other applications. In this, we provide you option for IP blocking which includes both automatic (based on user behavior) and manual IP blocking which includes blacklisting and whitelisting of IP addresses to provide access restriction, the office only access, intranet access & network restriction. Learn More

  • Adaptive Authentication

    miniOrange Adaptive Authentication aims to provide a better experience to reduce the authentication burden on users while enforcing strong authentication where it is needed the most. For example, when a user attempts to access an application via an unregistered device then they may be prompted to register it. If the user logs in from a geographical location other than their office, they may be asked to answer security questions. Learn More

  • User Provisioning

    miniOrange User Provisioning provides an easy way of creation, management, and maintenance of end-users especially for large enterprises to reduce the risk for unauthorized access of information. User provisioning includes the creation, updating and deletion of user accounts. User provisioning makes life easier for admins because they do not have to manually arrange access for each user. Learn More

miniOrange supports both IdP (Identity Provider) and SP (Service Provider) initiated Single Sign On (SSO)

  • IdP Initiated Single Sign On (SSO)

    In IdP Initiated Login, SAML request is initiated from miniOrange IdP.

    • Enduser first authenticates through miniOrange Idp by login into miniOrange Self Service Console.
    • The Enduser will be redirected to their Nodejs account by clicking the Nodejs icon on the Enduser Dashboard - there is no need to log in again.
  • SP Initiated Single Sign On (SSO)

    In SP Initiated Login, SAML request is initiated by Nodejs.

    • An Enduser tries to access their Account by going to Nodejs domain.
    • Here they can enter the miniOrange login credentials and login to their Nodejs Account.

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.


Follow the Step-by-Step Guide for nodejs Single Sign On (SSO) using miniOrange as IdP

Download

  • Click here to download free Express Connector Module.

Installation

  • Extract the files of the connector and copy the extracted directories to the root folder of server app, i.e. the directory in which your main js file resides.

  • nodejs_sso_1

  • Open app.js and register mo_saml_sso routes by adding the code below. This code can be copied from app.js file included in the connector.

  • nodejs_sso_2

  • Add the dependencies given in package.json file of the connector to your server's package.json and run this command:>npm update.
  • Open Controller/samlController.js and replace the path of idpdetails database in mongoose.connect function with your database.

  • nodejs_sso_3

  • Restart the web App.

Installation

  • Extract the files of the connector and copy the mo_saml_sso directory to the root folder of server app, i.e. the directory in which your main js file resides.
  • nodejs_sso_4

  • Open app.js and register mo_saml_sso routes by adding the code below. This code can be copied from app.js file included in the connector.
  • nodejs_sso_5

  • Restart the web App.

Step 1: Configure Nodejs in miniOrange

  • Login into miniOrange Admin Console
  • Go to Apps >> Manage Apps.
  • Nodejs Single Sign-On(sso) manage apps

  • Click on Add Applicaton button.
  • Nodejs Single Sign-On(sso) add app

  • Click on SAML tab and search for Nodejs App. Click on Nodejs app.
  • Single Sign On (sso) add nodejs saml app

  • Click on Import SP Metadata and in URL field enter /saml/sp-metadata.
  • Single Sign On (sso) nodejs app

  • Select Name ID Format as urn:oasis:names:tc:SAML:1.1:nameid-format:emailAddress.
  • Go to the Add Policy and select DEFAULT from the Group Name dropdown.
  • Now enter the Nodejs in the Policy Name field.
  • Select PASSWORD from the First Factor Type dropdown.
  • Single Sign On (sso) nodejs add policy

  • Click on save button to configure Nodejs.
  • Click on metadata and copy IDP Entity ID, SAML Login URL, SAML Logout URL, X509 Certificate.

  • Single Sign On (sso) nodejs import metadata

  • Add IDP and SP configurations in saml-config.json file given in saml-config folder.
    • entityID [required]: IDP Entity ID
    • samlUrl [required]: SAML Login URL
    • samlLogoutUrl [required]: SAML Logout URL
    • cert [required]: X509 Certificate(without spaces)
    • redirect_path[required]: path to redirect to with saml attributes after response validation

  • Single Sign On (sso) nodejs configure app

  • Restart the server.
  • Access /saml/idp/update to update IDP details to your mongoDB collection.
    • /saml/idp/update: to update any changes performed in saml-config.json to database.
    • /saml/sp-metadata: This will generate your sp metadata file which can be provided to haka for registration
    • /saml/auth: This route can be used to send SAML Request.
    • /saml/logout: This route is used to send a single logout request to IDP if the samlLogoutUrl for that IDP is configured

Step 2: Choose Your User Directory

2.1: Setup AD as User Directory

  1. Login to miniOrange dashboard from the Admin Console.
  2. From the left side menu, click on User Stores >> Add User Store.
  3. Nodejs Single Sign-On (SSO) configure user store

  4. Select User Store type as AD/LDAP.
  5. NodejsSingle Sign-On (SSO)Select AD/LDAP as user store

    1. STORE LDAP CONFIGURATION IN MINIORANGE: Choose this option if you want to keep your configuration in miniOrange. If active directory is behind a firewall, you will need to open the firewall to allow incoming requests to your AD.
    2. STORE LDAP CONFIGURATION ON PREMISE: Choose this option if you want to keep your configuration in your premise and only allow access to AD inside premises. You will have to download and install miniOrange gateway in your premise.
    3. Nodejs Single Sign-On (SSO) select ad/ldap user store type

  6. Enter LDAP Display Name and LDAP Identifier name.
  7. Select Directory Type as Active Directory.
  8. Enter the LDAP Server URL or IP Address against LDAP Server URL field.
  9. Click on Test Connection button to verify if you have made a successful connection with your LDAP server.
  10. Nodejs  Single Sign-On (SSO)configure LDAP server URL Connection

  11. In Active Directory, go to the properties of user containers/OU's and search for Distinguished Name attribute.
  12. Nodejs  Single Sign-On (SS0)configure user bind account domain name

  13. Enter the valid Bind account Password.
  14. Click on Test Bind Account Credentials button to verify your LDAP Bind credentials for LDAP connection.
  15. Nodejs  Single Sign-On (SS0)check bind account credentials

  16. Search Base is the location in the directory where the search for a user begins. You will get this from the same place you got your Distinguished name.
  17. Nodejs  Single Sign-On (SSO) configure user search base

  18. Select a suitable Search filter from the drop down menu. To use custom Search Filter select "Custom Search Filter" option and customize it accordingly.
  19. Nodejs Single Sign-On (SSO)select user search filter

  20. You can also configure following options while setting up AD. Enable Activate LDAP in order to authenticate users from AD/LDAP. Click on the Save button to add user store.
  21. Nodejs Single Sign-On (SSO) Activate ldap options

    Here's the list of the attributes and what it does when we enable it. You can enable/disable accordingly.

    Attribute Description
    Activate LDAP All user authentications will be done with LDAP credentials if you Activate it
    Sync users in miniOrange Users will be created in miniOrange after authentication with LDAP
    Backup Authentication If LDAP credentials fail then user will be authenticated through miniOrange
    Allow users to change password This allows your users to change their password. It updates the new credentials in your LDAP server
    Enable administrator login On enabling this, your miniOrange Administrator login authenticates using your LDAP server
    Show IdP to users If you enable this option, this IdP will be visible to users
    Send Configured Attributes If you enable this option, then only the attributes configured below will be sent in attributes at the time of login

  22. Click on Save. After this, it will show you the list of User stores. Click on Test Configuration to check whether you have enter valid details. For that, it will ask for username and password.
  23. Nodejs Single Sign-On (SSO)test AD/Ldap connection

  24. On Successful connection with LDAP Server, a success message is shown.
  25. Click on Test Attribute Mapping.
  26. Nodejs Single Sign-On (SSO) LDAP successful connection

  27. Enter a valid Username. Then, click on Test. Mapped Attributes corresponding to the user are fetched.
  28. Nodejs Single Sign-On (SSO)Fetch mapped attributes for user

  29. After successful Attribute Mapping Configuration, go back to the ldap configuration and enable Activate LDAP in order to authenticate users from AD/LDAP.
  30. Refer our guide to setup LDAPS on windows server.


2.2: Setup miniOrange as a User Store

  1. Log in to miniOrange Admin Console.
  2. There are 3 ways to setup miniOrange as an Identity Source

    2.2.1 Create User in miniOrange

    • Click on Users >> Add User.
    • Nodejs Single Sign-On (SSO)add user in miniOrange

    • Here, fill the user details without the password and then click on the Create User button.
    • NodejsSingle Sign-On (SSO) add user details

    • After successful user creation a notification message "An end user is added successfully" will be displayed at the top of the dashboard.
    • NodejsSingle Sign-On (SSO) add user details

    • Click on On Boarding Status tab. Check the email, with the registered e-mail id and select action Send Activation Mail with Password Reset Link from Select Action dropdown list and then click on Apply button.
    • Nodejs Single Sign-On (SSO) email action

    • Now, Open your email id. Open the mail you get from miniOrange and then click on the link to set your account password.
    • On the next screen, enter the password and confirm password and then click on the Single Sign-On (SSO) reset password button.
    • Nodejs reset user password
    • Now, you can log in into miniOrange account by entering your credentials.

    2.2.2 Bulk Upload Users in miniOrange via Uploading CSV File.

    • Navigate to Users >> User List. Click on Add User button.
    • Nodejs Single Sign-On (SSO)add user via bulk upload

    • In Bulk User Registration Download sample csv format from our console and edit this csv file according to the instructions.
    • Nodejs Single Sign-On (SSO) download sample csv file

    • To bulk upload users, choose the file make sure it is in comma separated .csv file format then click on Upload.
    • Nodejs Single Sign-On (SSO) bulk upload user

    • After uploading the csv file successfully, you will see a success message with a link.
    • Click on that link you will see list of users to send activation mail. Select users to send activation mail and click on Send Activation Mail. An activation mail will be sent to the selected users.

    2.2.3 Self User Registration

    • miniOrange self user registration allows end users to register themselves using customized registration form. miniOrange admin users can customize the registration form by adding more custom fields according to their choice. Follow the miniOrange guide to customize user self registration page.

Step 3: Create a policy for Nodejs

  • Login to miniOrange Admin Console.
  • Go to Policies >> App Authentication Policy.
  • Add a new policy for Nodejs.
    1. Select Custom App Name from Application dropdown.
    2. Select a Group Name from dropdown - the group for which you want to add Nodejs policy.
    3. Give a policy name for Nodejs in Policy Name field.
    4. Select the First Factor Type for authentication.
    5. Enable Second Factor for authentication if required.
    6. Click on Save button to add policy for Nodejs Single Sign On (SSO).
    nodejs sso add policy

  • Now click on Onboard users into our system from View Policy Tab.

Step 4: Login to your Nodejs account with miniOrange IdP by either of the two steps:

    Using SP Initiated Login

    1. Go to your Nodejs URL, here you will be either asked to enter the username or click on the SSO link which will redirect you to miniOrange IdP Sign On Page.
    2. Nodejs Single Sign-On (SSO) login

    3. Enter your miniOrange login credential and click on Login. You will be automatically logged in to your Nodejs account.

    Using IDP Initiated Login

    1. Login to miniOrange IdP using admin credentials and select the User Dashboard from the right side menu.
    2. Nodejs Single Sign-On (SSO) user dashboard

    3. Click on Nodejs application which you added, to verify your SSO configuration.
    4. Nodejs Single Sign-On (SSO) verify configuration

Step 5: Now sign in to your Nodejs account with miniOrange IdP by either of the two steps:

    1. Using SP initiated login :-

  • Access /saml/login.
  • Single Sign On (sso)nodejs sso configure

  • Enter Credentials on miniOrange Login Page.
  • SAML Response is sent back to web app.
  • All SAML Attributes are sent to /saml/auth by default. This endpoint can be changed in redirect_path saml-configurations.json file.
  • Single Sign On (sso) nodejs sso sp initiated login

    2. Using IdP initiated login :-

    1. Login to your miniOrange Self Service Console as an End User and click on the icon on your Dashboard.
    2. Single Sign On (sso) nodejs sso log in to miniorange

    3. SAML Response is sent to web app
    4. All SAML Attributes are sent to /saml/auth by default. This endpoint can be changed in redirect_path saml-configurations.json file.
    5. Single Sign On (sso) nodejs sso saml attributes

Step 6: Adaptive Authentication with Nodejs

6.1: Restricting access to Nodejs with IP Blocking

    You can use adaptive authentication with Nodejs Single Sign-On (SSO) to improve the security and functionality of Single Sign-On. You can allow a IP Address in certain range for SSO or you can deny it based your requirements and you can also challenge the user to verify his authenticity. Adaptive authentication manages the user authentication bases on different factors such as Device ID, Location, Time of Access, IP Address and many more.

    You can configure Adaptive Authentication with IP Blocking in following way:
  • Login to Self Service Console >> Adaptive Authentication.
  • Add a Policy Name for your Adaptive Authentication Policy.
  • Nodejs Single Sign-On (SSO) Restrict Access adaptive authnetication policy

  • Select your Action for behaviour Change and Challenge Type for user from the Action for behaviour Change Section.
  • Nodejs Single Sign-On (SSO) Restrict Access adaptive authentication behaviour change


    Action for behaviour Change Options :


    Attribute Description
    Allow Allow user to authenticate and use services if Adaptive authentication condition is true.
    Challenge Challenege users with one of the three methods mentioned below for verifying user authenticity.
    Deny Deny user authentications and access to services if Adaptive authentication condition is true.

    Challenge Type Options :

    Attribute Description
    User second Factor The User needs to authenticate using the second factor he has opted or assigned for such as
  • OTP over SMS
  • PUSH Notofication
  • OTP over Email
  • And 12 more methods.
  • KBA (Knowledge-based authentication) The System will ask user for 2 of 3 questions he has configured in his Self Service Console. Only after right answer to both questions user is allowed to proceed further.
    OTP over Alternate Email User will recieve a OTP on the alternate email he has configured threw Self Service Conolse. Once user provides the correct OTP he is allowed to proceed further.

  • Now Enable Enable IP Restriction option from the IP RESTRICTION CONFIGURATION section to configure custom IP range.
  • Nodejs Single Sign-On (SSO) Restrict Access adaptive authentication ip blocking

  • Select the Action you want to perform if the IP address is out of the range. i.e Allow, Challenge & Deny.
  • Specify the IP Address range for which you want above setting to reflect. You can add more than one IP Address ranges by clicking on following button +.
  • Scroll to the end and click on save.


6.2: Adaptive Authentication with Limiting number of devices.

    Using Adaptive Authentication you can also restrict the number of devices the end user can access the Services on. You can allow end users to access services on a fixed no. of devices. The end users wii be able to access services provided by us on this fixed no. of devices.

    You can cofigure Adaptive Authentication with Device Restriction in follwing way

  • Login to Self Service Console >> Adaptive Authentication.
  • Add a Policy Name for your Adaptive Authentication Policy.
  • Select your Action for behaviour Change and Challenge Type for user from the Action for behaviour Change Section.
  • Nodejs Single Sign-On (SSO) Restrict Access adaptive authentication behaviour and challenge type


  • Scroll down to Device Configuration section and enable Allow User to Register Device option to allow users to register their devices.
  • Enter the Number of Devices which are allowed to register in field next to Number of Device Registrations Allowed
  • Choose Action if number of devices exceeded (This will override your setting for Action for Behaviour Change.)
    1. Challenge: The user needs to verify himself using any of the three methods mentioned in table in step 6.1
    2. Deny : Deny users access to the system
  • Enable option Send email alerts to Users if number of Device registrations exceeded allowed count if you want to alert the user about no of devices exceeding the limit. Save the configuration.
  • Nodejs Single Sign-On (SSO) Restrict Access adaptive authentication enable device restriction


6.3: Add Adaptive Authentication policy to Nodejs.

  • Login to Self Service Console >> Policies.
  • Click on Edit option for predefined SAML app policy.
  • Nodejs Single Sign-On (sso) edit device restriction policy

  • Set your application name in the Application and select password as Login Method.
  • Enable Adaptive Authentication on Policy page and select the required restriction method as an option.
  • From Select Login Policy dropdown select the policy we created in last step and click on save.
  • Nodejs Single Sign-On (SSO) Restrict Access save device restriction policy

    How to add a trusted Device
    1. When End-user log in to the self service console after the policy for device restriction is on, he is provided the option to add the current device as a trusted device.

More Secure authentication with Two-Factor Authentication

The most practical way to strengthen authentication is to require a second factor after the username/password stage. Since a password is something that a user knows, ensuring that the user also has something or using biometrics thwarts attackers that steal or gain access to passwords.

Traditional two-factor authentication solutions use hardware tokens (or "fobs") that users carry on their keychains. These tokens generate one-time passwords for the second stage of the login process. However, hardware tokens can cost up to $40 each. It takes time and effort to distribute them, tracks who has which one, and replace them when they break. They're easy to lose, hard to use, and users consistently report high levels of frustration with token-based systems.


Your choice of the second factor

miniOrange authentication service has 15+ authentication methods.

You can choose from any of the above authentication methods to augment your password based authentication. miniOrange authentication service works with all phone types, from landlines to smart-phone platforms. In the simplest case, users just answer a phone call and press a button to authenticate. miniOrange authentication service works internationally and has customers authenticating from many countries around the world.



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 97178 45846 (India)    |       info@xecurify.com