Onboarding Customers via External Authentication
Intro
We are introducing a new mechanism for authorizing app communication in 3B, which now relies on a 3B managed authentication server (auth.3b4sf.com).
This change is required due to a Salesforce push to eliminating Connected Apps and the introduction of restrictions as per this article .
Changes
Having authentication handled by a designated server means that we have a server-to-server authentication handshake and never exposing session details in the client. Furthermore, this is the future-proof method for authentication as per Salesforce's guidances.
Usage
3B Authentication is used for:
- Handling large files in Onboarding (assessments), Forms, CLM & PDF service through the Large Files API
- Generating PDFs in CLM
- Reserved for future off-platform customizations
Without the authentication service, CLM will not be able to generate PDFs and large files (> 4mb) will inevitably throw an error - whether it is a form submission, a preview of an assessment or a large PDF document in Sign.
Setup Instructions
There are two steps:
Create External Client App
Navigate to Setup and go to External Client App Manager. Create a new External Client App.
Set the following field values:
- Basic Information
- Name - 3B Authentication App
- API Name - X3B_Authentication_App
- Contact Email - orgs+auth@3b4sf.com
- API (Enable OAuth Settings)
- Set 'Enable OAuth' to true
- Callback URL - https://auth.3b4sf.com/oauth/callback
- OAuth Scopes -
- Full access (full)
- Perform requests at any time (refresh_token, offline_access)
- Under Security, set 'Require Proof Key for Code Exchange (PKCE) extension for Supported Authorisation Flows to false
Click 'Create'. You will then be landed on the App Policies page. Click 'Edit' on the top right hand side of the page.
- App Policies
- Start Page - Custom
- Custom Start URL = https://auth.3b4sf.com/
- OAuth Policies
- Change Refresh Token Policy to 'Refresh token is valid until revoked'
- Change IP Relaxation to 'Relax IP restrictions'
Click 'Save'
Onboard Org
Once you have created an ECA, get the client secret and client id, My Domain and complete the details on https://auth.3b4sf.com/ You will be asked to confirm access and permissions by salesforce and at the end of the workflow, you will see a success message.
Revoke
You can disable the ECA to revoke access.
Notes
- Only one ECA per ORG is required, even if multiple apps are installed.