ASP.NET SAML Single Sign-On (SSO) with PingFederate 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 PingFederate considering PingFederate as IdP. To
know more about the other features we provide, click
here.
Platform Support: The ASP.NET SAML SSO module supports ASP.NET 3.5
and above frameworks.
To set up the module, extract the file
asp.net-saml-sso-module-xxx.zip. You will find a DLL named
miniorange-saml-sso.dll, a configuration file named
saml.config and an integration.md file which contains
steps for adding the module into your application.
Add miniorange-saml-sso.dll into your bin folder (where other DLL
files for your application exist).
Register minorangesamlsso module in your application according to
the steps provided in the file named integration.md.
Add the provided configuration file saml.config in the root
directory of your application.
After integration, open your browser and browse the connector dashboard with
the URL below: https://<your-application-base-url>/?ssoaction=config
If the registration page or login page pops up, you have successfully added
the miniOrange SAML SSO connector to your application.
Register or log in with your account by clicking the Register button
to configure the module.
Steps to configure ASP.NET Single Sign-On (SSO) using PingFederate as IDP
1. Configure PingFederate as identity provider
You need to send your SP metadata to your identity provider. For SP
metadata, use the SP metadata URL or download the SP metadata as a .xml
file and upload it at your IdP end. You can find both these options under
the
Service Provider Settings tab.
Alternatively, you can manually add the SP Entity ID and ACS URL from
Service Provider Settings tab in the plugin to your IdP
configurations.
Login to your Ping Federate User Admin dashboard.
Click on the Identity Provider in the left navigation menu.
Under SP CONNECTION, click on
Create New button.
Select the Browser SSO Profiles connection template on
the Connection Type tab and click Next.
Select Browser SSO on the Connection Options tab and click
Next.
Select File as the method for importing metadata and click
Choose file to choose the miniOrange SSO plugin’s metadata
on the Import Metadata tab. Click Next.
Review the information on the Metadata Summary tab and
click Next.
In the General Info tab ensure that the
Service Provider’s Entity ID, Connection Name, and
Base URL fields pre-populate based on the metadata. Click
Next.
Navigate to the Browser SSO tab and click on the
Configure Browser SSO. You will be redirected to Browser
SSO Setup wizard.
1) Select the IdP-Initiated SSO and
SP-Initiated SSO options on the SAML Profiles tab and click
Next.
2) Enter your desired assertion validity time from on the
Assertion Lifetime tab and click Next. By default, it is configured
5 minutes for both.
3) Navigate to the Assertion Creation and click on the Configure
Assertion Creation. You will be redirected to the assertion creation setup
wizard.
In the Identity Mapping tab select STANDARD and click Next.
Select a Subject Name Format for the SAML_SUBJECT on the
Attribute Contract tab and click Next.
Click Map New Adapter Instance on the Authentication Source Mapping.
Select an Adapter Instance and click
Next. The adapter must include the user’s email
address.
Select the
Use only the adapter contract values in the SAML assertion option on the Mapping Method tab and click
Next.
Select your adapter instance as the
Source and the email as the Value on
the Attribute Contract Fulfilment tab and click
Next.
(Optional) Select any authorization conditions you would like on the
Issuance Criteria tab and click Next.
Click Done on the Summary.
Click Next on the
Authentication Source Mapping tab.
Click Done on the Summary tab.
Click Next on the
Assertion Creation
Navigate to the Protocol Settings tab of the Browser SSO wizard and click on
the Configure Protocol settings.
Select POST for Binding and specify the single sign-on
endpoint URL in the Endpoint URL field on the
Assertion Consumer Service URL Click Next.
Select POST on the
Allowable SAML Bindings tab and click
Next.
Select your desired signature policies for assertions on the
Signature Policy tab and click Next.
Select your desired encryption policy for assertions on the
Encryption Policy tab and click Next.
Click Done on the
Protocol Settings Summary tab.
Navigate to the Credentials and click on the
Configure Credentials. You will be redirected to the
Credentials setup wizard.
Select the Signing Certificate to use with the Single Sign-On service and
select Include the certificate in the signature element in the Digital
Signature Settings tab. Click Done.
Click Done on the Summary.
Click Next on the Credentials.
Select Active for the Connection Status on
the Activation & Summary tab and click
Save.
Now, navigate to the Ping Federate User Admin dashboardè Identity Provide.
Click Manage All under SP Connections.
Click Export Metadata for the desired service provider
connection.
Click Export on the Export & Summary tab
and click Done.
2. Configure ASP.NET application as service provider (SSO Module)
Note: After installation of the plugin, we need to setup the trust
between your ASP.NET application and PingFederate. SAML metadata is shared
with PingFederate so they can update their inbuilt configuration to support
Single Sign-On.
2.1: Share SAML Metadata with PingFederate
Click on Add New IDP to configure ASP.NET Single Sign-On (SSO) with
PingFederate.
Under Service Provider Settings tab, you can either copy-paste the
metadata URL on your IDP side or download the SP metadata as
an XML file. Additionally, you have the choice to manually copy and paste
Base URL, SP Entity ID, and ACS URL.
Share SAML metadata with your identity provider.
2.2: Import PingFederate SAML metadata
Select PingFederate from the list of identity providers shown below.
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.
You may refer to the screenshot below:
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.
You have successfully configured your ASP.NET application as a service
provider.
3. Testing SAML SSO
Before testing, please ensure the following:
The ASP.NET (SP) SAML metadata has been exported to PingFederate (IDP).
Importing the PingFederate (IDP) SAML metadata in ASP.NET (SP).
To test whether the SAML configuration you’ve done is correct, hover on
Select Actions and click on Test Configuration.
Note: In the trial version of the plugin, you can only configure and
test one identity provider (IDP).
The screenshot below shows a successful result. Click on
Done to further continue with the SSO Integration.
If you are experiencing any error on the module end you’ll be shown with the
window similar to below.
To troubleshoot the error you can follow the below steps:
Under
Troubleshooting
tab, enable the toggle to receive the plugin logs.
Once enabled, you will be able to retrieve plugin logs by navigating to
Identity Provider 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.
4. Integration Code
This step allows you to specify the sso prefix of the session or claims
parameter that will be used to access user attributes in your application.
If you're still confused about how the integration steps work, take a look
at the Setup Tour.
Select the mode for storing SSO attributes, and you will now see the
integration code based on the authentication method you selected and
the language your application uses.
Just copy-paste that code snippet wherever you want to access the user
attributes.
Note: This trial module only supports session-based authentication
and User Claims is available in the premium plugin.
Note: All the mapped attributes will be stored in the session so that
you can access them in your application.
If you want some assistance regarding the integration code, get in touch
with us at
aspnetsupport@xecurify.com
5. Login Settings
Hover on Select Actions and click on Copy SSO Link.
Use the copied link in the application from where you want to perform SSO:
https://base-url/?ssoaction=login
For example, you can use it as: <a href=”https://base-url/?ssoaction=login”>Log in</a>
6. Logout Settings
Use the following URL as a link in your application from where you want to
perform SLO:
https://<your-application-base-url>/?ssoaction=logout
For example you can use it as:
<a
href="https://<your-application-base-url>/?ssoaction=logout">Logout</a>
You can even configure the
DNN SAML Single Sign-On (SSO)
module with any identity provider such as
ADFS, Azure AD, Bitium, Centrify, G Suite, JBoss Keycloak, Okta, OneLogin,
Salesforce, AWS Cognito, OpenAM, Oracle, PingFederate, PingOne, RSA
SecureID, Shibboleth-2, Shibboleth-3, SimpleSAML, WSO2
or even with your own custom identity provider. To check other identity
providers, click
here.
Not able to find your identity provider? Mail us on
aspnetsupport@xecurify.com
and we'll help you set up SSO with your IDP and for quick guidance (via
email/meeting) on your requirement and our team will help you to select the
best suitable solution/plan as per your requirement.
×
Hello there!
Need Help? We are right here!
Contact miniOrange Support
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