DNN SAML Single Sign-On (SSO) with Keycloak as IDP
DNN SAML Single Sign-On (SSO)
authentication provider gives the ability to enable SAML Single Sign-On for your DotNetNuke
applications. Using Single Sign-On you can use only one password to access
your DotNetNuke application and services. Our authentication provider 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 DotNetNuke and Keycloak considering Keycloak as IdP.
Pre-requisites: Download And Installation
Download
the package for DNN SAML Single Sign-On (SSO) authentication provider.
Upload the installation package
dnn-saml-single-sign-on_xxx_Install by going in
Settings > Extension > Install Extension.
Steps to configure DNN SAML Single Sign-On (SSO) using Keycloak as IDP
1. Add authentication provider on DNN page
Now under the Installed extensions tab select Authentication Systems.Here you can see the miniOrange DNN SAML Authentication Plugin.
Just Click on the pencil icon as mentioned in the image below to configure the DNN SAML Authentication Provider.
Now go to the site settings tab. Here you can see the DNN SAML Authentication Provider Dashboard.
You have finished with the Installation of the authentication provider on your DNN site.
2. Setup Keycloak as Identity Provider
Select your identity provider Keycloak from the list shown below.
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:
Under Service Provider Settings, 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:
B] Uploading metadata manually:
Under the Service Provider Settings section, you can manually copy
the service provider metadata like Base URL, SP Entity ID, ACS URL
and share it with your identity provider for configuration.
You may refer to the screenshot below:
In your Keycloak Admin console, select the realm that you want to
use.
Click on Clients from the left menu and then click on
Create button to create a new client/application.
Enter SP-EntityID / Issuer as the
Client ID from the "Service Provider Metadata" Tab and
select SAML as the Client Protocol.
Now click on Save.
Configure Keycloak by providing the required details:
Client ID
The SP-EntityID / Issuer
from the plugin's Service Provider Metadata tab
Name
Provide a name for this client
Description
Provide a description
Client Signature Required
OFF
Force POST Binding
OFF
Force Name ID Format
OFF
Name ID Format
Email
Root URL
Leave empty or Provide Base URL from Service Provider Metadata tab
Valid Redirect URIs
The ACS (Assertion Consumer Service) URL from the
plugin's Service Provider Metadata tab
Under Fine Grain SAML Endpoint Configuration, Enter the
following details:
Assertion Consumer Service POST Binding URL
The ACS (Assertion Consumer Service) URL from the
plugin's Service Provider Metadata tab
Logout Service Redirect Binding URL (Optional)
The Single Logout URL from the plugin's Service
Provider Metadata tab
Click on Save.
Add Mappers
Navigate to Mappers tab and click on Add Builtin button.
Select the checkboxes of X500 givenName, X500 surname and
X500 email attributes.
Click on Add Selected button. You will see the mappings that are
added below.
Download setup file
Navigate to Realm Settings, click on
SAML 2.0 Identity Provider Metadata mentioned as Endpoints
in the General Tab.
Note the URL and keep it handy. That will provide you with the
Endpoints required to configure the plugin.
You have successfully configured Keycloak as SAML IdP (Identity Provider)
for achieving Keycloak login / Keycloak SSO / Keycloak Single Sign-On (SSO),
ensuring secure Login into DotNetNuke (DNN) Site.
3. Configure DotNetNuke SAML Authentication Provider as Service Provider
For configuring application in the authentication provider, click on the Add new IdP button in the Identity Provider Settings tab.
There are two ways detailed below with which you can configure your SAML
identity provider metadata in the authentication provider.
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 authentication provider 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 Update to save your IDP details.
4. Testing SAML SSO
Click the Test Configuration button to verify if you have configured
the plugin correctly.
On successful configuration, you will get Attribute Name and Attribute
Values in the Test Configuration window.
You can even configure the
ASP.NET 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
dnnsupport@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