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

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 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
  • 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 Okta 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
  • 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 Core- 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.
  • 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 Core- Attribute Mapping
  • This 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.
  • 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>

Please reach out to us at aspnetsupport@xecurify.com, and our team will assist you with setting up the ASP.NET Framework SAML SSO. Our team will help you to select the best suitable solution/plan as per your requirement.

ADFS_sso ×
Hello there!

Need Help? We are right here!

support