Single sign-on (SSO) is an identification system that authenticates and enables users to securely access many different applications and services using just one set of credentials.
The SSO feature is available to all plans at no charge. Only owners can configure SSO on their DNSFilter accounts.
SSO can be configured with any Identity Provider (IdP) that supports the Generic OpenID Connect (OIDC) authentication process. Examples are provided below on how to configure SSO using two common IdPs: Azure Active Directory and Okta.
Azure Active Directory (AD) Configuration Process
The Generic Open ID Connect (OIDC) authentication process is as follows:
Prior to configuring SSO within the DNSFilter Dashboard, your IT Admin will need to create an App Registration with Azure AD.
- Navigate to Manage > App registrations
- Click (+) New registration
- Configure the app as follows
Name: Enter an identifying application name (this name is only used within Azure AD)Supported account types: Leave the default selected
Accounts in this organizational directory only (rnvm only - Single tenant)
Redirect URI (optional):
Select a platform dropdown: WebURL: https://auth.dnsfilter.com/login/callback
Please Note: This is a static authentication callback URL provided to configure OIDC SSO authentication with the DNSFilter Dashboard - Click Register
- On the newly created app registration page within Azure AD navigate to Client Credentials > Add a certificate or secret
- Click (+) New client secret
- Enter a name and select a secret expiration time
💡 PRO Tip: To avoid being locked out of the DNSFilter dashboard, keep track of when this secret expires. A new secret will need to be created within Azure AD & updated within the DNSFilter SSO configuration prior to expiration.
- Click Add
- Copy the client secret value to clipboard
💡 PRO Tip: This is the only time the Value for the client secret will be visible & available to copy. Store your app registration secret value in a secure location / secret vault.
- After copying the value for the client secret > close the Certificates & Secrets panel
- The following values will be needed to configure the DNSFilter SSO connection
- Application (client) ID
- Client Secret Value [Step 9]
- OpenID Connect metadata document [found under Endpoints]
Okta Configuration Process
- Open Okta and navigate to Applications > Create App Integration and select OIDC - OpenID Connect for the Sign-in method
- The Application Type will need to be set to Web Application and then choose Next
- Enter in an Application name and paste in the Callback URL below into the Sign-in redirect URIs
Callback URL: https://auth.dnsfilter.com/login/callback - You can leave the Sign-out redirect URIs blank if preferred. If not, you can use your DNSFilter login URL and paste it into that field (e.g. https://app.dnsfilter.com/)
- Navigating back to Okta, under Assignments, you can choose to Allow everyone to have access, Limit access to selected groups, or Skip the group assignment for now.
- Once making your selection, click Save
- Next, you'll need to locate the Discovery URL in Okta by navigating to General Settings and copy the URL from here
- Once you've done that, you will then need to use Okta's OpenID URL format and update it so that it looks something like this https://${yourOktaOrg}/.well-known/openid-configuration
- Now you can paste this into the Discovery URL in your DNSFilter dashboard
Jumpcloud Configuration
- Log into the jumpcloud admin console and navigate to User Authentication > SSO in the left side menu.
- Click + Add New Application
- Click Custom OIDC App
- Add a Display Label & optionally upload a logo.
Note: DNSFilter does not require a specific naming convention for the OIDC application within jumpcloud
- Click SSO
- Add https://auth.dnsfilter.com/login/callback to the Redirect URIs
- Select Client Secret Post
- Add Login URL which will be found in DNSFilter after configuring the SSO connection.
Ex: https://app.dnsfilter.com/login/<SSO GUID> OR https://app.dnsfilter.com/login/<VanityURL>
- Add the Attribute Mapping as outlined below.
Note: The Service Provider Attribute Name IS case sensitive.
Service Provider Attribute Name: email
JumpCloud Attribute Name: email
Service Provider Attribute Name: name
JumpCloud Attribute Name: fullname
Service Provider Attribute Name: first_name
JumpCloud Attribute Name: firstname
Service Provider Attribute Name: last_name
JumpCloud Attribute Name: lastname
- DNSFilter does not require anything under Identity Management
- User Groups – Make sure to assign the app to the appropriate user groups, or the end user will not be granted access to DNSFilter.
- Click active
- Be sure to copy the Client ID & Client Secret.
Note: This is the only time this secret will be available.
DNSF OIDC Config:
Client ID from above screenshot
Client Secret from above screenshot
Discovery URL: https://oauth.id.jumpcloud.com/.well-known/openid-configuration
DNSFilter Dashboard SSO Configuration
- In your DNSFilter Dashboard, navigate to Organization > Settings > Single Sign-On > Configure Single Sign-On
- A prompt will appear informing you that configuring Single Sign-On will impact existing dashboard users. Select Continue to proceed.
- Under the first step, click on OpenID to reveal the remaining steps to complete the configuration.
- From Azure AD or Okta, you can now paste in your Client ID, Client Secret, and Discovery ID
- Scroll down to the fourth step in your dashboard and select your desired default role for the authenticated users
- In the last step, you have the option to customize the Sign-On text button. Once you've done that, click Save.
- The view will refresh and display your SSO configuration details. The URL listed as the 'Vanity URL' is what you must use for your organization for single sign-on.
With the Azure AD configuration, the first person that attempts to login to DNSFilter using SSO may see the following prompt below. This is expected behaviour and after clicking on the checkbox to provide consent, and select Accept, the prompt will not appear again.
Please Note: Owners are the ONLY role that will always be able to login through both SSO and their username and password
-
- This allows owners to always have access to the DNSFilter dashboard, specifically in the event of an issue with their IdP.
Configured SSO Users
When a SSO connection is configured, all non-owner users in the organization will be deactivated and removed from the Users view. This is a permanent change: these email/password user accounts will no longer be associated with the organization and cannot be used to sign in, even if the SSO connection is deleted in the future. In order for these users to be able to log in and display in the Users view, they will need to log in with the newly created SSO connection.
- If a SSO connection is deleted at any point, non-owner users that used to log in with email/password will still not be able to log in. If the Owner decides they’d like to have email/password users in their organization after the SSO connection is deleted, those users will have to be manually re-added by the Owner.
- If a SSO connection is deleted, users that signed in with SSO will no longer be able to sign in. They will see an error message, then will be redirected to our normal email/password login screen. They will not have a password to log in with, and cannot request a password reset; they’ll be directed to contact support if they try to request a password reset.
- When an SSO connection is established, new users cannot be manually added to the DNSF dashboard any longer. New users can only be added by signing into the SSO connection for the organization.
Comments
0 comments
Please sign in to leave a comment.