Search Results :

×

Guide to Configure ASP.NET Framework SAML SSO using Duo as IDP

ASP.NET SAML Single Sign-On (SSO) module gives the ability to enable SAML Single Sign-On for your ASP.NET applications. Using Single Sign-On you can use only one password to access your ASP.NET application and services. Our module is compatible with all the SAML compliant identity providers. Here we will go through a step-by-step guide to configure Single Sign-On (SSO) between ASP.NET and Duo considering Duo as IdP.

Platform Support: The ASP.NET SAML SSO module supports ASP.NET 3.5 and above frameworks.



  • To install the miniOrange SAML SSO NuGet package in your .NET application, simply install the miniOrange NuGet package on top of your application.
NuGet Package
.NET CLI

PM> NuGet\Install-Package miniOrange.SAML.SSO

  • After Installation, open your browser and browse the module dashboard with the URL below:
 http(s)<your-dotnet-application-base-url>?ssoaction=config
  • If the registration page or login page pops up, you have successfully added the miniOrange SAML SSO module in your application.
ASP.NET Core- registeration page

  • Register or log in with your account by clicking the Register button to configure the module.
  • After successful registration, you will receive a trial license key on your registered email address.
  • To activate the module, you can either:
    • Enter the license key received via email in the provided input field.

    OR

    • Upload the license file that you downloaded by clicking on the Click Here button.
ASP.NET Framework Verify Trial License

  • Then, check the box "I have read the above conditions and I want to activate the module", and click the Activate License button.
ASP.NET Framework Activate License

Pre-requisites : Download And Installation

A] NuGet Installation:
  • Login to http://portal.miniorange.com/ and navigate to the Downloads tab. From there, locate your purchased plugin and click on Download Plugin to download the plugin zip file.
ASP.NET SSO Module Enterprise Plugin Download

  • Extract the Downloaded zip file in your machine and place the nuget package file (.nupkg file) in a some folder like "C:\miniOrangePackages"
  • Run the following command in your VS terminal to add it as a package source:
dotnet nuget add source C:\miniOrangePackages--name miniOrangePackage
  • Open your Project in the terminal:
cd C:\Path\To\YourProject
  • Install the Package in your project using the below command:
dotnet add package miniOrange.SAML.SSO --source miniOrangePackage

OR

  • After placing the NuGet package (.nupkg file) in a local folder, instead of using the terminal, you can also install it using Visual Studio by following the steps below:
  • Open your .NET application in Visual Studio, click on Tools in the top navigation bar, and navigate to NuGet Package Manager → Manage NuGet Packages for Solution.
Nuget Package Manager

  • A new window will open; click on the gear icon next to the Package source dropdown.
Gear icon

  • A pop-up window will open; select Package Sources from the left navigation panel, click on the plus (+) icon, enter a name for the package source, provide the path of the folder where you placed the NuGet package in the Source field, then click Update and finally click OK to save the changes, as shown in the image.
Package Sources Window

  • After closing the pop-up window, select the newly added package source from the Package source dropdown.
Package Source dropdown

  • Now click on the Browse tab, search for miniOrange.SAML.SSO, select the package from the results, and click Install.
miniOrange.SAML.SSO

B] Manual Installation:
  • Extract the downloaded package from the miniOrange portal. It contains a Manual Installation folder with miniorange-saml-sso.dll and other DLL files which are required to be placed in your application's bin folder.
  • Place the saml.config file and the miniOrangeContent folder in the root directory of your application.
  • Register the miniOrange module in your web.config by following the steps in the integration.md.

Access the Module Dashboard
  • After Installation, open your browser and browse the module dashboard with the URL below:
 http(s)<your-dotnet-application-base-url>?ssoaction=config
  • If the login page pops up, you have successfully added the miniOrange SAML SSO module in your application.
ASP.NET Module - login page

  • Log in with your licensed miniOrange account to configure the module.
  • After logging in, the Account Setup dashboard will open. Enter the license key to activate the plugin, which you will receive after logging in to portal.miniorange.com and navigating to Manage License → License Keys.
License Activation

  • Then, check the box "I have read the above two conditions and I want to activate the plugin", and click the Activate License button.
License Activation Checkbox

There are two ways detailed below with which you can get the SAML SP metadata to configure onto your Identity Provider end.

A] Using SAML metadata URL or metadata file
  • In the Plugin Settings menu, look for Service Provider Settings. Under that, you can find the metadata URL as well as the option to download the SAML metadata.
  • Copy metadata URL or download the metadata file to configure the same on your identity provider end.
  • You may refer to the screenshot below:
ASP.NET Module Enterprise- Service Provider Metadata

B] Uploading metadata manually
  • From the Service Provider Settings section, you can manually copy the service provider metadata like SP Entity ID, ACS URL, Single Logout URL, and share it with your Identity Provider for configuration.
  • You can also download the SP Certificate by clicking on Download SP Cert and provide it to your Identity Provider if required.
  • Under the Encryption Certificate section, select the appropriate certificate type as per your requirement.
  • After completing the above steps, click on Save to apply the configuration.
  • You may refer to the screenshot below:
ASP.NET Module Enterprise - Upload sp data manually

Steps to Configure Duo IdP
  • Log in to your Duo Administration Console.
Duo Administration Console

[A] Setup Duo as Identity source:

  • In the given step, we will configure an Identity Source for the Duo primary Authentication in this Single Sign-On integration. You have two options here, you can either add an Active Directory or a SAML Identity Provider here. In this guide, we are configuring SAML Identity Provider for Identity Source. If you have already configured the Identity Source you may skip to step B.
  • Select the Single Sign-On tab from the left menu pane and click on Add Source button. Here we will add the primary Authentication Source for the Duo Single Sign-On.
Duo as Identity source

  • Select Authentication Source as SAML Identity Provider and click on Add SAML Identity Provider button.
Duo as Identity source

  • Navigate to Configure Duo Single Sign-On section and provide the following values from your Identity Source:
Display Name Provide the Identity Provider's name
Entity ID Enter the Entity ID of your Identity Source.
Single Sign-On URL Enter a Single Sign-On URL from your Identity Source
Existing Certificate Upload the Certificate provided by your Identity Source
Duo as Identity source

  • Click on Save to save your configuration.
  • Now navigate to Configure SAML Identity Provider section to download the XML metadata file, and provide the metadata file to the Identity Source.
Duo as Identity source

  • After Saving the configuration, click Go back to Single Sign-On.
  • Select the Bridge Attributes tab, here you will map the user attributes received from the Identity Source which will be further used to configure Duo as SAML Identity Provider.
  • There are some required Bridge Attributes, which are pre-defined and can not be changed or configured with Custom Bridge attributes.
  • To configure any bridge attribute, you have to configure 2 parameters:
    • Bridge Attribute Name: This will be an alias that will be further used by Duo as SAML Identity Provider.
    • SAML Identity Provider Attribute: This is the attribute name, you are expecting to be received from your Identity Source. The name of the field may differ based on your application.
  • After configuring all Bridge attributes, save the settings.

[B] Setup Duo as IDP

  • Configure the following information from the Service Provider tab of the ASP.NET SAML Single Sign-On (SSO) module. Please refer to the below image for more information.
Setup Duo as IDP

Entity ID Enter the SP Entity ID from the Service Provider metadata section of the module.
Assertion Consumer Service (ACS) URL Enter the ACS URL from the Service Provider metadata section of the module.
  • Select the Applications tab from the left menu pane, then click Protect an Application.
Setup Duo as IDP

  • Search for Generic Service Provider.
  • Then, select the Single Sign-On application and click on Protect button.
Setup Duo as IDP

  • Copy the Metadata Url, from the Metadata Section. This will be further used to configure the ASP.NET SAML Single Sign-On (SSO) module.
Setup Duo as IDP

  • Scroll down to the Service Provider section.
Setup Duo as IDP

  • In NameID field in the SAML Response section, select the Bridge Attribute you want to send to service provider as NameID.
Setup Duo as IDP

  • Scroll down to Map Attributes field in the SAML Response section:
  • Configure the Mapping as per below guideline:
    • Idp Attribute: This is the Bridge Attribute we mapped in the Single Sign-On settings. You may select the attribute as per your need.
    • SAML Response Attribute: This is the name of the Attribute which will be sent in the SAML Response with the Bridge Attribute value as configured in Idp Attribute.
Setup Duo as IDP

  • Once configuration are complete, click save.
A] Using SAML metadata URL or metadata file
  • In the Plugin Settings menu, look for Service Provider Settings. Under that, you can find the metadata URL as well as the option to download the SAML metadata.
  • Copy metadata URL or download the metadata file to configure the same on your identity provider end.
  • You may refer to the screenshot below:
ASP.NET Core- Service Provider Metadata

B] Uploading metadata manually
  • From the Service Provider Settings section, you can manually copy the service provider metadata like SP Entity ID, ACS URL, Single Logout URL and share it with your identity provider for configuration.
  • You may refer to the screenshot below:
ASP.NET Core- enter sp data manually

Steps to Configure Duo IdP
  • Log in to your Duo Administration Console.
Duo Administration Console

[A] Setup Duo as Identity source:

  • In the given step, we will configure an Identity Source for the Duo primary Authentication in this Single Sign-On integration. You have two options here, you can either add an Active Directory or a SAML Identity Provider here. In this guide, we are configuring SAML Identity Provider for Identity Source. If you have already configured the Identity Source you may skip to step B.
  • Select the Single Sign-On tab from the left menu pane and click on Add Source button. Here we will add the primary Authentication Source for the Duo Single Sign-On.
Duo as Identity source

  • Select Authentication Source as SAML Identity Provider and click on Add SAML Identity Provider button.
Duo as Identity source

  • Navigate to Configure Duo Single Sign-On section and provide the following values from your Identity Source:
Display Name Provide the Identity Provider's name
Entity ID Enter the Entity ID of your Identity Source.
Single Sign-On URL Enter a Single Sign-On URL from your Identity Source
Existing Certificate Upload the Certificate provided by your Identity Source
Duo as Identity source

  • Click on Save to save your configuration.
  • Now navigate to Configure SAML Identity Provider section to download the XML metadata file, and provide the metadata file to the Identity Source.
Duo as Identity source

  • After Saving the configuration, click Go back to Single Sign-On.
  • Select the Bridge Attributes tab, here you will map the user attributes received from the Identity Source which will be further used to configure Duo as SAML Identity Provider.
  • There are some required Bridge Attributes, which are pre-defined and can not be changed or configured with Custom Bridge attributes.
  • To configure any bridge attribute, you have to configure 2 parameters:
    • Bridge Attribute Name: This will be an alias that will be further used by Duo as SAML Identity Provider.
    • SAML Identity Provider Attribute: This is the attribute name, you are expecting to be received from your Identity Source. The name of the field may differ based on your application.
  • After configuring all Bridge attributes, save the settings.

[B] Setup Duo as IDP

  • Configure the following information from the Service Provider tab of the ASP.NET SAML Single Sign-On (SSO) module. Please refer to the below image for more information.
Setup Duo as IDP

Entity ID Enter the SP Entity ID from the Service Provider metadata section of the module.
Assertion Consumer Service (ACS) URL Enter the ACS URL from the Service Provider metadata section of the module.
  • Select the Applications tab from the left menu pane, then click Protect an Application.
Setup Duo as IDP

  • Search for Generic Service Provider.
  • Then, select the Single Sign-On application and click on Protect button.
Setup Duo as IDP

  • Copy the Metadata Url, from the Metadata Section. This will be further used to configure the ASP.NET SAML Single Sign-On (SSO) module.
Setup Duo as IDP

  • Scroll down to the Service Provider section.
Setup Duo as IDP

  • In NameID field in the SAML Response section, select the Bridge Attribute you want to send to service provider as NameID.
Setup Duo as IDP

  • Scroll down to Map Attributes field in the SAML Response section:
  • Configure the Mapping as per below guideline:
    • Idp Attribute: This is the Bridge Attribute we mapped in the Single Sign-On settings. You may select the attribute as per your need.
    • SAML Response Attribute: This is the name of the Attribute which will be sent in the SAML Response with the Bridge Attribute value as configured in Idp Attribute.
Setup Duo as IDP

  • Once configuration are complete, click save.

  • Click on the Select your IDP button to configure a new Identity Provider.
ASP.NET Framework SAML SSO using Duo as IDP - Add New IDP

  • Under the Plugin Settings tab, select Duo as your identity provider from the list shown.
ASP.NET Framework SAML SSO using Duo as IDP - Add New IDP

There are two ways detailed below with which you can configure your SAML Identity Provider metadata in the module.

A] Upload metadata using the Upload IDP Metadata button:
  • If your identity provider has provided you with the metadata URL or metadata file (.xml format only), then you can simply configure the identity provider metadata in the module using the Upload IDP Metadata option.
  • Copy metadata URL or download the metadata file to configure the same on your identity provider end.
  • You may refer to the screenshot below:
ASP.NET Framework- Upload IDP Metadata

  • You can choose any one of the options according to the metadata format you have available.
B] Configure the identity provider metadata manually:
  • After configuring your Identity Provider, it will provide you with IDP Entity ID, IDP Single Sign On URL and SAML X509 Certificate fields respectively.
  • Click Save to save your IDP details.
ASP.NET Framework- Configure IDP Manually
  • Click on the Add new IDP button to configure a new Identity Provider.
ASP.NET Framework SAML SSO using Duo as IDP - Add New IDP

  • Under the Plugin Settings tab, select Duo as your identity provider from the list shown.
ASP.NET Framework SAML SSO using Duo as IDP - Add New IDP

There are two ways detailed below with which you can configure your SAML Identity Provider metadata in the module.

A] Upload metadata using the Upload IDP Metadata button:
  • If your identity provider has provided you with the metadata URL or metadata file (.xml format only), then you can simply configure the identity provider metadata in the module using the Upload IDP Metadata option.
  • Copy metadata URL or download the metadata file to configure the same on your identity provider end.
  • You may refer to the screenshot below:
ASP.NET Framework Enterprise- Upload IDP Metadata

  • You can choose any one of the options according to the metadata format you have available.
B] Configure the identity provider metadata manually:
  • After configuring your Identity Provider, it will provide you with IDP Entity ID, IDP Single Sign On URL and SAML X509 Certificate fields respectively.
  • Click Save to save your IDP details.
ASP.NET Framework Enterprise- Configure IDP Manually

  • After uploading the metadata details, navigate to the Identity Provider Settings section. Hover over the Select Actions dropdown and click on Test Configuration.
ASP.NET Framework- Test Configuration

  • The screenshot below shows a successful result. Click on SSO Integration to further continue with the SSO Integration.
ASP.NET Framework- Test Configuration

  • If you are experiencing any error on the module end you'll be shown with the window similar to below.
ASP.NET Framework - Test Configuration Error

  • To troubleshoot the error you can follow the below steps:
  • Under Troubleshoot tab, enable the toggle to receive the plugin logs.
ASP.NET Framework - TroubleShoot

  • Once enabled, you will be able to retrieve plugin logs by navigating to Plugin Settings tab and clicking on Test Configuration.
  • Download the log file from the Troubleshoot tab to see what went wrong.
  • You can share the log file with us at aspnetsupport@xecurify.com and our team will reach out to you to resolve your issue.
  • After uploading the metadata details, navigate to the Identity Provider Settings section. Hover over the Select Actions dropdown and click on Test Configuration.
ASP.NET Framework Enterprise- Test Configuration

  • The screenshot below shows a successful test result. Please click on click here to complete the remaining SSO integration steps.
ASP.NET Framework Enterprise - Test Configuration

  • If you are experiencing any error on the module end you'll be shown with the window similar to below.
ASP.NET Framework - Test Configuration Error

  • To troubleshoot the error you can follow the below steps:
  • Under Troubleshoot tab, enable the toggle to receive the plugin logs.
ASP.NET Framework - TroubleShoot

  • Once enabled, you will be able to retrieve plugin logs by navigating to Plugin Settings tab and clicking on Test Configuration.
  • Download the log file from the Troubleshoot tab to see what went wrong.
  • You can share the log file with us at aspnetsupport@xecurify.com and our team will reach out to you to resolve your issue.
  • After testing the configuration, Map your application attributes with the Identity Provider (IdP) attributes.
  • From the left-hand menu of the miniOrange ASP.NET SAML SSO Module, click on Attribute/Role Mapping tab as shown in the image.
ASP.NET Framework- Attribute Mapping

  • If you want to pass additional attributes from your IdP, enter the Attribute Name and corresponding Attribute Value under Custom Attribute Mapping.
  • Note: All the mapped attributes will be stored in the session so that you can access them in your application.
  • Once the attributes are mapped, click Save Attribute Mapping to apply changes.
ASP.NET Framework- Attribute Mapping

  • After testing the configuration, Map your application attributes with the Identity Provider (IdP) attributes.
  • From the left-hand menu of the miniOrange ASP.NET SAML SSO Module, click on Attribute/Role Mapping tab as shown in the image.
  • Map the required IdP attributes (such as Username, Email, Firstname, and Lastname) received in the SAML Response to their corresponding fields.
ASP.NET Framework Enterprise- Attribute Mapping

  • Note: All the mapped attributes will be stored in the session so that you can access them in your application.
  • Once the attributes are mapped, click Save Attribute Mapping to apply changes.
Custom Attribute Mapping
  • If you want to pass additional attributes from your IdP, enter the Attribute Name and corresponding Attribute Value under Custom Attribute Mapping.
  • From the Attribute Value (Claim) dropdown, select one of the claims you received in the Test Configuration results. For example: NameID.
  • These claims correspond to the attributes sent by your Identity Provider (IdP).
ASP.NET Framework Enterprise - Custom Attribute Mapping

  • These claims correspond to the attributes sent by your Identity Provider (IdP).
ASP.NET Framework Enterprise - Custom Attribute Mapping

  • In the Attribute Name field, enter the name of the attribute as you want it to appear or be used in your .NET application.
  • You can add multiple mappings if your application requires multiple attributes by clicking on the + button.
  • After defining all the required mappings, click on Save Attribute Mapping to store the configuration.
ASP.NET Framework Enterprise - Custom Attribute Multiple Mapping

  • The module will now translate the incoming SSO claims from your Identity Provider (IdP) into the custom attribute names defined here.
Role Mapping
  • In the Role Mapping section, enter the Group Attribute Name exactly as configured in your Identity Provider to fetch the user group information.
  • Enter the Role Name received from the Identity Provider and map it to the appropriate Role Value field. In the Role Value field, enter the roles defined in your .NET application.
  • For example: Map the IdP group Group1 or Group10 received under the UserGroups attribute to the corresponding role configured in your .NET application.
  • After adding the required mappings, click on Save Role Mapping to save the configuration successfully.
ASP.NET Framework Enterprise - Role Mapping

Domain Restriction
  • This feature can be used to restrict user access to the site based on the domain of their mapped "Email" Attribute.
  • In the Email Attribute field, enter the attribute name that contains the user's email address as received from your Identity Provider (IdP).
ASP.NET Framework Enterprise - Domain Restriction

  • In the Domain Name field, enter the domain(s) you want to allow or restrict, separated by commas if adding multiple domains.
  • Enable the Restrict toggle based on your requirement to configure blacklist or whitelist access.
  • After completing the configuration, click on Save Domains to save the settings successfully.
ASP.NET Framework Enterprise - Domain Restriction Save Domains

  • These steps allow you to retrieve the SSO user information in your application in the form of session.
  • You can also look the setup tour to understand how the SSO integration would work in your asp.net module application.
  • Just copy-paste that code snippet wherever you want to access the user attributes.
ASP.NET Framework - Integration Code

  • Note: With the trial module the authenticated user details are stored in session variables. Support of setting user claims using Header-based, Forms-Cookie-based, JWT-based authentication is available in our premium plugin.
  • These steps allow you to retrieve the SSO user information in your application in the form of session.
  • You can also look the setup tour to understand how the SSO integration would work in your asp.net module application.
  • Just copy-paste that code snippet wherever you want to access the user attributes.
ASP.NET Framework - Integration Code

  • Hover on Select Actions and click on Copy SSO Link.
ASP.NET Framework Copy SSO Link

  • Use the following URL as a link in the application from where you want to perform SSO:
  https://<asp.net-module-base-url>/?ssoaction=login
  • For example, you can use it as:
  <a href="https://<asp.net-module-base-url>/?ssoaction=login">Log in</a>
  • Hover on Select Actions and click on Copy SSO Link.
ASP.NET Framework Copy SSO Link

  • Use the following URL as a link in the application from where you want to perform SSO:
  https://<asp.net-module-base-url>/?ssoaction=login
  • For example, you can use it as:
  <a href="https://<asp.net-module-base-url>/?ssoaction=login">Log in</a>
  • Use the following URL as a link to your application from where you want to perform SLO:
  https://<asp.net-module-base-url>/?ssoaction=logout
  • For example, you can use it as:
  <a href="https://<asp.net-module-base-url>/?ssoaction=logout">Log out</a>
  • Use the following URL as a link to your application from where you want to perform SLO:
  https://<asp.net-module-base-url>/?ssoaction=logout
  • For example, you can use it as:
  <a href="https://<asp.net-module-base-url>/?ssoaction=logout">Log out</a>

 Thank you for your response. We will get back to you soon.

Something went wrong. Please submit your query again

We'll Reach Out to You at the Earliest!


ADFS_sso ×
Hello there!

Need Help? We are right here!

support