Salesforce
Enable Keyless passwordless biometric authentication to Salesforce.
Last updated
Enable Keyless passwordless biometric authentication to Salesforce.
Last updated
Keyless passwordless biometric authentication can address any MFA requirement to authenticate to Salesforce Portal.
This guide provides a step-by-step introduction to configure Salesforce Portal to authenticate using Keyless passwordless biometric authentication. In this guide Keyless will be set up as an authentication provider to Salesforce at a high assurance level to address any MFA requirements. Also we'll configure Keyless enrollment features to provide the ability for Salesforce users to register and or enrol for Keyless authentication.
To enable authentication into Salesforce via Keyless, you need to add Keyless as an authentication provider in Salesforce.
As part of the onboarding process you’ll receive the following pieces of information from Keyless to complete an authentication provider configuration in Salesforce:
Login Icon URI
Can be used as an logon icon for Keyless authentication on logon page
https://<your-keyless-tenant>/static/keyless.svg
Token Issuer
OIDC Issuer
https://<your-keyless-tenant>
Token Endpoint URL
Token OIDC Endpoint URL
https://<your-keyless-tenant>/connect/token
Authorize Endpoint URL
OIDC Authorization Endpoint URL
https://<your-keyless-tenant>/connect/authorize
User Info Endpoint URL
OIDC User Info Endpoint URL
https://<your-keyless-tenant>/connect/userinfo
Scope
OIDC Scope
openid profile email
Consumer Key
OIDC Client ID
-
Consumer Secret
OIDC Client Secret
-
All configuration steps outlined below need to be performed on Salesforce portal with administrative privileges.
Create an OIDC Auth Provider
Identity → Auth Providers → New
Select Open Id Connect as provider type
Populate the configuration parameters from the information provided by Keyless team to complete Auth provider configuration as shown below
Make a note of the URLs under Salesforce Configuration section
Callback URL: Need to be provided to Keyless team to complete authentication provider configuration on Keyless end
Existing User Linking URL: Use this URL to link existing Salesforce users to their respective Keyless account
Following is a sample Registration handler code
Update Domain Configuration to Enable Keyless Authentication Option on Logon Page
Company Settings → My Domain
Edit Authentication Configuration
Enable Keyless
Configure Keyless as High Assurance authentication mechanism
Send the Callback URL to the Keyless team to complete authentication.
Keyless authentication is now enabled.
To enable enrollment of Salesforce users with Keyless we’ll need to configure Salesforce as an OIDC Identity Provider and Keyless as OIDC Relying Party/ Service Provider.
Make sure you have the following information from Keyless before proceeding with the configuration:
Login /Redirect URL
OIDC RP Configuration
https://<your-keyless-enrollment-server>/signin-oidc
Post Logout Redirect URL
OIDC RP Configuration
https://<your-enrollment-server>/signout/callback
Keyless enrollment URL
Keyless enrollment server
https://<your-keyless-enrollment-server>
We’ll configure SFDC as a OIDC IdP and Keyless as OIDC RP
On Salesforce go to Settings → Identity → Identity Provider and enable Identity Provider and save. Make a note of the Issuer URL, you'll need to send it to Keyless to configure the Keyless enrollment server.
Click on Service Provider link at the bottom to create a Connected App/ Service Provider
Check Enable OAuth Settings to configure OAuth/OIDC parameters
Enter the callback URLs of Keyless Enrollment Server (these are Login/Redirect URL, Post Logout Redirect URL & Keyless Enrollment URL as described in the table at the beginning of this section)
Click Save. Make a note of the Client ID & Client Secret for Keyless OIDC RP, you'll need to send it to Keyless to configure the Keyless enrollment server.
Click New to add a Custom Attribute
This completes configuration on Salesforce end the following table is a summary of the 3-pieces of information that Keyless team will need to complete configuration of Keyless Enrollment service:
Issuer URL
OIDC IdP
https://<your-salesforce-tenant>.my.salesforce.com
Consumer Key
OIDC Client ID
-
Consumer Secret
OIDC Client Secret
-
Once we have completed the steps above, we are now in a position to step though the entire process of enrolling a user to Keyless and then continue with Keyless authentication going forward.
Make sure you have a compatible mobile (android/iOS) device with Keyless Authenticator App installed. See the installation docs.
Create a new Salesforce user from SFDC dashboard (e.g. demouser@myorg-demo.com)
Enrol the newly created user to Keyless (if this account is not enrolled already)
From a web browser go to Keyless Enrol Site: https://<your-keylelss-registration-URL>
(provided by Keyless team)
Authenticate to SFDC Portal with Userid/Password (following redirect from Keyless Enrollment page)
Click on Enrol link & Scan the QR Code using Keyless Authenticator App on you mobile device
Complete the registration process on your mobile device as guided by Keyless Authenticator App
Registered account will appear on Keyless Authenticator App on the mobile device
Log out from Salesforce browser session and this completes Keyless enrollment
Link Salesforce User to their registered Keyless account
Log on to SFDC with account linking URL
Account Linking URL can be found on Salesforce Setup -> Auth Provider -> Salesforce Configuration section, which will look like the following: https://<your-salesforce-tenant>.my.salesforce.com/services/auth/link/keyless
Authenticate with Keyless via Keyless Authenticator App on your mobile device
After a successful authentication with Keyless Salesforce portal will prompt you to Sign In with userID and password to link an SFDC user to the authenticated Keyless account. That completes the account linking between SFDC and Keyless account
From a browser access your Salesforce portal: https://<your-salesforce-tenant>.my.salesforce.com
Log on to SFDC via Keyless: Click on SignIn with Keyless button as opposed to providing uid/password
Authenticate via Keyless Mobile Authenticator. That completes keyless authentication to SFDC