Configure Experience Cloud Settings for Headless Registration
Before you set up the Headless Registration Flow, configure settings to control security and access for your app.
Required Editions
| Available in: both Salesforce Classic (not available in all orgs) and Lightning Experience |
| Available in: Enterprise, Unlimited, and Developer Editions |
Before you configure your Experience Cloud settings, complete these tasks.
- Complete Prerequisites for Headless Identity.
- Configure a Connected App for the Authorization Code and Credentials Flow. This flow is the foundation of the Headless Registration Flow.
Depending on your use case, there are a few considerations before you configure these settings.
For security, you must configure Salesforce to require either authentication or reCAPTCHA
when your app submits user information to Headless Registration API. If you’re implementing
the flow with a private client—also known as a web app with a backing server—we recommend
that you always require authentication. With this requirement, when your app submits user
information to the headless registration endpoint, you must include an access token issued
to an integration user. To get the access token, use an internal integration user to
complete an OAuth flow integrated with Salesforce, like the OAuth 2.0 web server flow. Make
sure that you include the user_registration_api scope
when you complete this flow, either by configuring it on your connected app or passing it as
a parameter. Save the access token from your response.
If you’re using the flow with a public client—also known as a single-page app—we recommend that you always reCAPTCHA. With this requirement, you must include a reCAPTCHA token in POST requests when your app submits user information to the Headless Registration API. To get a reCAPTCHA token, implement reCAPTCHA on your third-party app. For more information, see the reCAPTCHA documentation provided by Google.
We recommend that you never require authentication for public clients because they can’t keep the access token secret.
To expand your email template options for the one-time password (OTP) email sent to end users during the flow, opt in to email template allowlisting and create an allowlist with custom templates. See Use Multiple Email Templates for Headless Flows.
- From Setup, in the Quick Find box, enter Sites, and then select All Sites.
- To access Experience Workspaces, next to your site name, click Workspaces.
- Select Administration, and then select Login & Registration.
- From the Administration workspace, select Login & Registration.
- Under Headless Identity Configuration, select Allow self-registration via the Headless Registration API.
- To require an access token when your app submits user information to the Headless
Registration API, select Require authentication to access this API. If you select this option, you must include an access token issued to an internal integration user in your POST request to the
init/registrationendpoint. Include the access token in a Basic authorization header. The access token must contain theuser_registration_apiscope. - To require a reCAPTCHA token when your app submits user information to the Headless
Registration API, select Require reCAPTCHA to access this
API.If you select this option, you must include a reCAPTCHA token in your POST request to the
init/registrationendpoint. If you’re implementing headless registration with a public client, select this setting. - For Default Profile, select the profile that you want to assign to new users when they register.
- For Registration Handler, click
, and then
select an Apex class that implements the HeadlessRegistrationHandlerinterface. Or, to automatically create a template, select Create a headless registration handler template. The template is created when you save your changes. Edit its default content from Apex Classes in Setup.For more information about creating a headless registration handler or editing the default handler, see HeadlessSelfRegistrationHandler Interface in the Apex Reference Guide. - For Run As, select an execution user for the registration handler.
- If you selected Require reCAPTCHA to access this API, configure
reCAPTCHA settings.
- For Secret Key, enter the key from your reCAPTCHA API key pair.
- For Score Threshold, enter a threshold value between 0.5 and 1.If you’re using reCAPTCHA v3, this value determines the score that you accept. Scores closer to 0.5 are more likely to be bots, while scores closer to 1 are more likely to be valid users. For more information, see the reCAPTCHA v3 documentation.
Note If you require reCAPTCHA for other Headless Identity flows, like forgot password and passwordless login, these settings also apply. - Save your settings.
- Optionally, configure an email template. If you created an email template allowlist,
Salesforce defaults to this email template if you don’t include an
emailtemplateparameter in your request.- From the Administration workspace, select Emails.
- For One-Time Password for Headless Registration, click
. - In the popup window that appears, select Experience Cloud: One-Time Password Email for Headless Registration Verification.
- Save your changes.
- To customize the email, edit its default content.
Configure the Headless Registration Flow using the instructions for your app type.

