Configure CLIENT_SECRET_JWT as the token auth method
Number of APIs: 10
This activity shows you how to use a client secret JWT to authenticate a token request.
The following operations are supported by the PingOne APIs:
- Create an application
- Create a user
- Initiate an authorize request
- Use flow APIs to complete the login
- Submit a token request
Prerequisites
Get an access token from the worker application that you created in Getting Started with the PingOne APIs. To get a token from a different worker application in an alternate sandbox environment, run the token request endpoint using the client ID and client secret of your chosen worker app to authenticate the request. For more information, see GET a Worker Application Access Token.
Workflow order of operations
To configure this workflow, you must complete the following tasks:
Make a
POSTrequest to/environments/{{envID}}/applicationsto add a new application to the specified environment.Make a
GETrequest to/environments/{{envID}}/applications/{{appJwtAppID}}/secretto return the new application's secret attribute.Make a
POSTrequest to/environments/{{envID}}/populationsto create a new population resource.Make a
POSTrequest to/environments/{{envID}}/usersto create a user.Make a
PUTrequest to/environments/{{envID}}/users/{{userID}}/passwordto set the new user's password.Make a
GETrequest to/{{envID}}/as/authorizeto submit the authorize request.Make a
GETrequest to/{{envID}}/flows/{{flowID}}to initiate the sign-on flow.To complete the login action, make a
POSTrequest to/{{envID}}/flows/{{flowID}}and provide the user's login credentials.Make a
GETrequest to/{{envID}}/as/resume?flowId={{flowID}}to call the resume endpoint and return the auth code.Make a
POSTrequest to/{{envID}}/as/tokento exchange the auth code for an access token.
-
Step 3: Create a population POST {{apiPath}}/environments/{{envID}}/populations
-
Step 1: Create a web application POST {{apiPath}}/environments/{{envID}}/applications
-
Step 2: Get the application secret GET {{apiPath}}/environments/{{envID}}/applications/{{appJwtID}}/secret
-
Step 4: Create user POST {{apiPath}}/environments/{{envID}}/users
-
Step 5: Set user password PUT {{apiPath}}/environments/{{envID}}/users/{{appJwtUserID}}/password
-
Step 6: Send an authorize request GET {{authPath}}/{{envID}}/as/authorize?client_id={{appJwtID}}&response_type=code&scope=openid&redirect_uri=https://www.example.com
-
Step 7: Get the flow GET {{authPath}}/{{envID}}/flows/{{flowID}}
-
Step 8: Submit login credentials POST {{authPath}}/{{envID}}/flows/{{flowID}}
-
Step 9: Call the resume endpoint GET {{authPath}}/{{envID}}/as/resume?flowId={{flowID}}
-
Step 10: Get the access token POST {{authPath}}/{{envID}}/as/token