After user authentication is completed, both the access token and refresh token will be returned. When the access token expires, you can use the refresh token to obtain a new access token.
Example request:
Parameters with details:
client_secret
String
Required
Scenario I. Higher-Security (Client Password Required)
1. Client Password registered with digiRunner; needs to be encoded with Base64
2. Concatenate the client ID with ":" and the encoded client password, then encode the result with Base64 again to generate the value to be used
3. Example:
Client ID: tspclient
Client Password: tsp123abcd
Formula for generating the value:
Base64 Encode(ClientID+":"+Base64 Encode(Client Password))
Base64 Encode(tspclient+":"+Base64 Encode(tsp123abcd))
Base64 Encode(tspclient:dHNwMTIzYWJjZA==)
Output for client_secret:
dHNwY2xpZW50OmRITndNVEl6WVdKalpBPT0=
Scenario II. PKCE + Public Client (Client Password Not Required)
When the Public Client (With PKCE) option is selected in digiRunner's OAuth grant type, the client password is not required.
1. Concatenate the client ID with ":" (no client password is required)
2. Example:
Client ID: tspclient
Client Password: ""
Formula for generating the value:
Base64 Encode(ClientID+":")
Base64 Encode(tspclient+":")
Base64 Encode(tspclient:)
Output for client_secret:
dHNwY2xpZW50Og==
grant_type
String
Required
refresh_token
, a fixed value
refresh_token
String
Required
Refresh Token, associated with the access token that requires refreshing
If the refresh token has expired, you must prompt the user to log in again to generate a new access token.
If the refresh is successful, a new access token will be returned.
Example:
If the refresh token has expired, a 401 Unauthorized HTTP status code and JSON response will be returned.
Example:
The section illustrated how to invalidate the access token and refresh token. When users log out of your application, revoke their access token.
Example request:
Parameters with details:
token
String
Required
The access token or refresh token with the client to be revoked
token_type_hint
String
Required
To revoke an access token, use access_token
as the value; to revoke a refresh token, use refresh_token
as the value
client_id
String
Required
Client ID registered with digiRunner
client_secret
String
Optional
Scenario I. Higher-Security (Client Password Required)
Client Password registered with digiRunner
Scenario II. PKCE + Public Client (Client Password Not Required)
When the Public Client (With PKCE) option is selected in digiRunner's OAuth grant type, the parameter is not required.
Example:
Parameters with details:
code
String
Custom response code for successful revocation, currently defined as two types:
token_revoke_success
, the successful token revocation for this session.
token_already_revoked
, the token has already been revoked.
message
String
Details for this successful revocation code
If the client password is incorrect, a 401 Unauthorized HTTP status code and JSON response will be returned.
Example:
Verify the legitimacy of the access token or refresh token.
Example request:
Parameters with details:
token
String
Required
Token to be introspected
token_type_hint
String
Required
Specifies which type of token to introspect:
To introspect an access token, use access_token
as the value; to introspect a refresh token, use refresh_token
as the value
client_id
String
Required
Client ID registered with digiRunner
client_secret
String
Optional
Scenario I. Higher-Security (Client Password Required)
Client Password registered with digiRunner
Scenario II. PKCE + Public Client (Client Password Not Required)
When the Public Client (With PKCE) option is selected in digiRunner's OAuth grant type, the parameter is not required.
Example:
Parameters with details:
active
Boolean
Indicates whether the token was issued by digiRunner, hasn't been revoked by the resource owner, and is still within its valid period. Returns true or false.
scope
String
Specifies the range of resources that the access token is granted permission to access
client_id
String
Use client_id
as the value for OAuth
username
String
Identifies the user who authorized this token, such as an alias on the application
token_type
String
Indicates the type of the token, such as access_token
or refresh_token
exp
Number
Token expiration time, an integer indicating the seconds since 1970-01-01T00:00:00Z UTC
iat
Number
Token issuance time by the OAuth Server, an integer indicating the seconds since 1970-01-01T00:00:00Z UTC when the token is issued by the OAuth Server.
nbf
Number
Token invalid time, an integer indicating the seconds since 1970-01-01T00:00:00Z UTC before the token becomes valid
sub
String
Identifies the user who authorized the token
aud
String
Indicates the audience intended to use the token
iss
String
Indicates the authorization server issuing the token
jti
String
Unique ID of this token, such as a UUID used when storing the token in a database to prevent replay attacks
If the client password is incorrect, a 401 Unauthorized HTTP status code and JSON response will be returned.
Example: