Umbraco SAML Single Sign-On (SSO)
plugin gives the ability to enable SAML Single Sign-On for your Umbraco
applications. Using Single Sign-On you can use only one password to access
your Umbraco application and services. Our plugin 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 Umbraco and Okta considering
Okta as IdP. To know more about the features we provide for Umbraco SSO, click
here.
Pre-requisites : Download And Installation
-
Download
Umbraco SAML Single Sign-On (SSO) module.
-
For Setting up the module, extract the
umbraco-saml-sso-connector.zip, you will find a DLL file
miniorange-saml-sso.dll, a configuration file saml.config and
a integration.md file which contain the steps for adding the module
into your application.
1. Add module in Umbraco Application
-
Add miniorange-saml-sso.dll in the bin folder (where your other DLL
files exist) for your Umbraco site.
-
Register miniorangesamlsso module for your umbraco SSO according to
the provided steps in the integration.md file.
-
Add the provided configuration file saml.config in the root directory
for your umbraco site.
-
After integration open browser and browse the module dashboard with URL
below:
https://<umbraco-base-url>/?ssoaction=config
-
If it pops up the registration page or login page, you have successfully
added the miniOrange saml sso module for your application.
- Register or Login for configuring the module.
2. Configure Okta as IDP
There are below two ways with which you can get the SAML SP metadata to
configure on your identity provider end.
A] Using SAML metadata URL or metadata file:
-
Under the Service Provider Settings section, you can find the metadata URL
as well as the option to download the SAML metadata
-
Copy metadata URL or download metadata file to configure the same on your
identity provider end.
-
You can refer to the below screenshot:
B] Uploading metadata manually:
-
From the Service Provider Settings section, you can copy the service
provider metadata manually like SP Entity ID, ACS Url, Single Logout Url,
and provide it to your identity provider for configuration.
-
You can refer to the below screenshot:
-
Log in to
Okta Developer Console.
-
In Okta Developer site, navigate to Applications tab and select
Applications.
- Click on the Create App Integration button to create new app.
- Click on the SAML 2.0.
-
In General Settings tab, enter App Name and click on
Next button.
- In SAML Settings, enter the following:
Single Sign On URL |
Enter ACS (AssertionConsumerService) URL from the Service Provider
metadata tab of the module.
|
Audience URI (SP Entity ID) |
Enter SP Entity ID / Issuer from the Service Provider Metadata tab
of the module.
|
-
Configure Group Attribute Statements (Optional) and click on
Next button.
-
If you have integrated your Active Directory in Okta and want to map the
AD groups, please make sure that you have added the OUs used to import
groups.You will also need to map the memberOf
attribute under the
integrated directory’s configuration.
Assigning Groups/People
-
After creating and configuring the app go to the
Assignment Tab in Okta.
-
Here we select the peoples and groups you want to give access to log in
through this app. Assign this to the people/group you would to give access
to.
-
After assigning the people/groups to your app, go to
Sign On tab.
-
Under SAML Signing Certificates, click on
View SAML setup instructions to get the
SAML Login URL (Single Sign on URL), Single Logout URL, IDP Entity ID and X.509 Certificate. You will need this to configure the
ASP.NET SAML Module.
You have successfully configured Okta as SAML IdP (Identity Provider) for
achieving Umbraco Single Sign-On (SSO), ensuring secure Okta Login into
Umbraco application.
3. Configure Umbraco as SP
There are below two ways 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 simply configure the identity provider
metadata in the module using the
Upload IdP Metadata option.
-
You can refer to the below screenshot
-
You can choose any one of the options according to the metadata format you
are available with.
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 x.509 Certificate.
Configure these values under IDP Entity ID, Single Sign-On Url and
SAML X509 Certificate fields respectively.
- Click Save to save your IDP details.
4. Test Configuration
-
Click on Test Configuration button to test whether the SAML
configuration you’ve done is correct or not.
- The below screenshot shows a successful result.
5. Attribute Mapping
-
Map your umbraco attributes with the Identity Provider (IdP) attributes.
- Click on Save Attribute Mapping button to save the settings.
6. Login Settings
-
Use the following URL as a link in your Umbraco site from where you want to
initiate SSO:
https://umbraco-base-url/?ssoaction=login
-
For example you can use it as:
<a
href="https://umbraco-base-url/?ssoaction=login”>Login</a>"
7. Logout Settings
-
Use the following URL as a link in your Umbraco from where you want to
perform SLO:
https://umbraco-base-url/?ssoaction=logout
-
For example you can use it as:
<a
href="https://umbraco-base-url/?ssoaction=logout”>Logout</a>"
You can configure the Umbraco SAML 2.0 Single Sign-On (SSO) module with any
Identity Providers such as
ADFS, Okta, 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. Check the list of identity
providers
here.
8. Additional Resources
Need Help?
Not able to find your identity provider? Mail us on
umbracosupport@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.