O que é introspecção de token (Token introspection)?
A introspecção de token (Token introspection) é uma extensão do OAuth 2.0 definida no RFC 7662 que permite que clientes consultem o Servidor de autorização para validar tokens de acesso e recuperar metadados sobre eles. Esta extensão é útil quando:
- O cliente deseja verificar a validade de um token de acesso em tempo real.
- O token de acesso é opaco (não autossuficiente) e requer que o servidor de autorização o valide.
Como funciona a introspecção de token (Token introspection)?
Aqui está um exemplo não normativo de uma solicitação de introspecção de token:
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
O parâmetro token_type_hint
é opcional e deve ser definido para o tipo de token que está sendo introspectado. Se o token de acesso for válido, o servidor de autorização responde com os metadados do 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
}
Vale a pena notar que nem todos os servidores de autorização suportam introspecção de token e nem todos os tokens são introspectáveis. O Servidor de autorização pode limitar o uso da introspecção de token com base em vários fatores, por exemplo, alguns servidores de autorização podem não suportar introspecção para JWTs .
Parâmetros chave em uma solicitação de introspecção de token
Aqui estão dois parâmetros chave em uma solicitação de introspecção de token:
token
: O token a ser introspectado.token_type_hint
: O tipo de token que está sendo introspectado. Pode seraccess_token
ourefresh_token
.