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
POST
request to/environments/{{envID}}/applications
to add a new application to the specified environment.Make a
GET
request to/environments/{{envID}}/applications/{{appJwtAppID}}/secret
to return the new application's secret attribute.Make a
POST
request to/environments/{{envID}}/populations
to create a new population resource.Make a
POST
request to/environments/{{envID}}/users
to create a user.Make a
PUT
request to/environments/{{envID}}/users/{{userID}}/password
to set the new user's password.Make a
GET
request to/{{envID}}/as/authorize
to submit the authorize request.Make a
GET
request to/{{envID}}/flows/{{flowID}}
to initiate the sign-on flow.To complete the login action, make a
POST
request to/{{envID}}/flows/{{flowID}}
and provide the user's login credentials.Make a
GET
request to/{{envID}}/as/resume?flowId={{flowID}}
to call the resume endpoint and return the auth code.Make a
POST
request to/{{envID}}/as/token
to 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