/oauth2/tokeninfo (Legacy)
AM-specific endpoint used to validate tokens and to retrieve information out of them, such as scopes, the grant type used when issuing the token, or the token expiration time.
The To validate tokens and retrieve information with a spec-based endpoint, see /oauth2/introspect. |
Resource servers—or any party having the token ID—can obtain token information through this endpoint without authenticating.
The token information endpoint supports the following query parameter:
access_token
-
Specifies the token ID.
Required: Yes.
The following example shows AM issuing an access token, and then returning token information:
$ curl --request POST \ --data "grant_type=password" \ --data "username=demo" \ --data "password=Ch4ng31t" \ --data "scope=write" \ --data "client_id=myClient" \ --data "client_secret=forgerock" \ "https://<tenant-name>.forgeblocks.com/am/oauth2/realms/root/realms/alpha/access_token" { "access_token": "sbQZuveFumUDV5R1vVBl6QAGNB8", "scope": "write", "token_type": "Bearer", "expires_in": 3599 } $ curl \ --request GET \ --header "Authorization: Bearer sbQZuveFumUDV5R1vVBl6QAGNB8" \ "https://<tenant-name>.forgeblocks.com/am/oauth2/tokeninfo" { "access_token":"sbQZuveFumUDV5R1vVBl6QAGNB8", "grant_type":"password", "auth_level":0, "scope":[ "write" ], "realm":"/alpha", "token_type":"Bearer", "expires_in":2491, "write":"", "client_id":"myClient" }
Note that AM returns a JSON object with the following properties:
access_token
-
Specifies the token ID.
grant_type
-
Specifies the OAuth 2.0 grant flow used to issue the token.
auth_level
-
Specifies the authentication level of the resource owner that authenticated to authorize the token.
scope
-
Specifies a JSON structure containing the scopes associated with the token.
realm
-
Specifies the realm from which the token was obtained.
token_type
-
Specifies the type of token.
expires_in
-
Specifies the time, in seconds, that the token is valid for. This value is set at token creation time, and it depends on the configuration of the OAuth2 Provider service.
During the introspection call, AM calculates the amount of seconds the token is still valid for and returns it in the
expires_in
object. Therefore, repeated calls to the endpoints return different values for the object.However, the actual value of the
expires_in
object in the token does not change. Inspecting the token without using AM will show the value set at token creation time.AM does not return this object for client-side tokens issued to a client configured in a different realm that the resource owner’s.
client_id
-
Specifies the client that requested the token.