Configure OAuth 2.0 JWT Bearer Flow for External Client Apps

External client apps can support OAuth 2.0 JSON Web Token (JWT) bearer flows using the certificate field in the global OAuth settings file. A JWT flow authorizes servers to access data without interactively logging in each time the servers exchange information.

Required Editions

User Permissions Needed
To view all external client apps, view their settings, and edit their OAuth policies file View all External Client Apps, view their settings, and edit their policies

To configure a JWT bearer flow, you must first deploy an external client app on your Salesforce org. Deploy an External Client App That References the Source Org’s Global OAuth Settings File, or Deploy an External Client App with a New Global OAuth Settings File.

  1. Create an X.509 certificate by following the steps in OAuth 2.0 JWT Bearer Flow for Server-to-Server Integration.
  2. Open the extlClntAppGlobalOauthSettings file.
  3. If the certificate field doesn’t exist, add it and enter the X.509 certificate as the value for the certificate field.
  4. Save the extlClntAppGlobalOauthSets file.
  5. Create a JWT following the steps in the OAuth 2.0 JWT Bearer Flow for Server-to-Server Integration.
  6. Use this cURL command to request the token for deploying your external client app.
    curl -X POST <org URL>/services/oauth2/token -d 'grant_type=urn:ietf:params:oauth:grant-type:jwt-bearer&assertion=<JWT>' | json_pp

    This returns a bearer token you can use to authorize in other flows.