ID Token
O ID Token é um token de segurança que contém Claims sobre a autenticação. É um JWT (JSON Web Token) que pode ser decodificado e validado.
Estrutura do JWT
O ID Token é composto por três partes separadas por pontos:
header.payload.signature- header: Metadados sobre o token
- payload: As claims (informações) do token
- signature: Assinatura para validação
Claims Padrão
As Claims padrão são:
sub
Abreviatura de Subject Identifier. Identificador único do usuário no sistema.
"sub": "000001"exp
Momento de expiração em que o ID Token deverá não ser mais aceito como válido. Seu valor é do tipo JSON number que representa o número de segundos desde 1970-01-01T0:0:0Z.
"exp": 1697234567iat
Momento em que o JWT foi emitido. Seu valor é do tipo JSON number que representa o número de segundos desde 1970-01-01T0:0:0Z.
"iat": 1697230967iss
Abreviação de Issuer. Representa a entidade emissora do JWT.
"iss": "fanbase"aud
Audiência para qual o ID Token é intencionado. Seu próprio client_id deve estar presente.
"aud": "exampleclient"profile
Objeto que contém as informações do usuário autenticado. Seus campos precisam ser definidos conforme necessidade de cada sistema.
"profile": {
"name": "João Silva",
"email": "joao@exemplo.com"
}Decodificação do JWT
O payload do JWT é codificado em Base64URL. Você pode decodificá-lo para visualizar as claims:
function decodificarJWT(token) {
const partes = token.split('.');
const payload = JSON.parse(atob(partes[1].replace(/-/g, '+').replace(/_/g, '/')));
return payload;
}
const idToken = 'qbcd.1234.xyz';
const claims = decodificarJWT(idToken);
console.log(claims);Validação
Antes de utilizar o ID Token, você deve validá-lo conforme descrito em Validação do ID Token.
