Wat is token introspectie?
Token introspectie is een OAuth 2.0-extensie gedefinieerd in RFC 7662 die het mogelijk maakt voor clients om de Autorisatieserver (Authorization server) te raadplegen voor het valideren van access tokens (toegangstokens) en het ophalen van metadata hierover. Deze extensie is nuttig wanneer:
- De client de geldigheid van een access token (toegangstoken) in real-time wil verifiëren.
- Het access token (toegangstoken) een opaak token is (niet zelf-bevattend) en de autorisatieserver nodig heeft om het te valideren.
Hoe werkt token introspectie?
Hier is een niet-normatief voorbeeld van een token introspectie-aanvraag:
POST /introspect HTTP/1.1
Host: authorization-server.example.com
Content-Type: application/x-www-form-urlencoded
token=random-token-value
&token_type_hint=access_token
De parameter token_type_hint
is optioneel en moet worden ingesteld op het type token dat wordt geanalyseerd. Als het access token (toegangstoken) geldig is, reageert de autorisatieserver met de metadata van het token:
HTTP/1.1 200 OK
Content-Type: application/json
{
"active": true,
"scope": "read write",
"client_id": "client-id",
"username": "johndoe",
"token_type": "Bearer",
"exp": 1634020800,
"iat": 1634017200
}
Het is belangrijk op te merken dat niet alle autorisatieservers token introspectie ondersteunen en niet alle tokens introspecteerbaar zijn. De Autorisatieserver (Authorization server) kan het gebruik van token introspectie beperken op basis van verschillende factoren, bijvoorbeeld, sommige autorisatieservers ondersteunen mogelijk geen introspectie voor JWT’s .
Belangrijke parameters in een token introspectie-aanvraag
Hier zijn twee belangrijke parameters in een token introspectie-aanvraag:
token
: Het token dat introspectie ondergaat.token_type_hint
: Het type token dat introspectie ondergaat. Het kanaccess_token
ofrefresh_token
zijn.