Criar o token JWT de portador
Use as informações neste tópico para criar o token de acesso do JWT que é usado no fluxo do portador de JWT.
Reclamação de carga útil do portador de JWT
A carga útil do portador de JWT deve conter as seguintes reclamações:| Nome da reclamação | Descrição | Valores válidos |
|---|---|---|
| iss | Identificador exclusivo para a entidade que emitiu o JWT | O URI válido do emissor do JWT. |
| sub | Identificador de assunto principal | O identificador exclusivo de um usuário. |
| aud | Terminal OIDC que está sendo chamado | https://<tenantId>/oidc/endpoint/default/token |
| exp | Tempo de expiração do JWT | O número de segundos de 1970-01-01T0:0:0Z, conforme medido em UTC. Observação: O prazo de validade do JWT não pode ser superior a 86.400 segundos no futuro. |
| jti | Identificador JWT | Uma sequência opaca gerado aleatoriamente. |
| Nome da reclamação | Descrição | Valores válidos |
|---|---|---|
| nbf | JWT não antes do tempo | O número de segundos de 1970-01-01T0:0:0Z, conforme medido em UTC. |
| iat | Horário de criação do JWT | O número de segundos de 1970-01-01T0:0:0Z, conforme medido em UTC. Observação: O prazo de validade do JWT não pode ser superior a 86.400 segundos no passado. |
| Região | Região do sujeito principal | A região de origem da identidade a que `sub` pertence. |
Exemplo de carga útil do portador de JWT
```
{
"iss": "https://www.relyingparty.com",
"sub": "user@idsource.com",
"aud": "https://sometenant.ice.com/oidc/endpoint/default/token",
"exp": 1324298520,
"jti": "araiov8werli2awerlj"
}
```
Algoritmos suportados
| Objetivo | Algoritmos suportados |
|---|---|
| O 'alg' do JWS para Assinatura | 'RS256', 'RS384', 'RS512', 'HS256', 'HS384', 'HS512', 'PS256', 'PS384', 'PS512' |
| O 'alg' do JWE para gerenciamento de chave | 'RSA1_5', 'RSA-OAEP', 'RSA-OAEP-256', 'A128KW', 'A192KW', 'A256KW', 'A128GCMKW', 'A192GCMKW', 'A256GCMKW' |
| O 'enc' do JWE para criptografia de conteúdo | 'A128GCM', 'A192GCM', 'A256GCM' |
Observação: Se o JWT de portador estiver assinado e criptografado, o cabeçalho JWE (o JWT externo) deve indicar que se trata de um JWT aninhado, definindo o cabeçalho de tipo de conteúdo como 'JWT'. Por exemplo,
'cty':'JWT'jwks_uri. Se o jwks_uri não estiver disponível, inclua o certificado público no sistema. Consulte "Gerenciamento de certificados".Quando o JWT Bearer é criptografado e se utiliza um algoritmo assimétrico, podem ser utilizadas as chaves públicas publicadas no endpoint https://<tenantId>/v1.0/endpoint/default/jwks jwks do Connect Provider em OpenID. Assegure-se de que o JWT assinado ou criptografado inclua o cabeçalho `kid` para identificar com exclusividade a chave que é usada.
Exemplo de solicitação
Após a criação do token de acesso do JWT, uma solicitação pode ser enviada ao terminal do token para trocar o token do portador de JWT por um token de acesso.```
curl -ki https://<tenantId>/v1.0/endpoint/default/token
-d "grant_type=urn%3Aietf%3Aparams%3Aoauth%3Agrant-type%3Ajwt
-bearer&client_secret=<secret>&client_id=<clientId>
&scope=openid+email&assertion=eyJhbGciOiJFUzI1NiIsImtpZCI6IjE2In0.eyJpc3Mi..."
```