No JWT (JSON Web Token), as propriedades Issuer e Audience fazem parte do payload e são fundamentais para garantir que o token é autêntico e está sendo usado no lugar certo. 🧾🔐
📌 Conceitos principais
Issuer (iss)
-
Significa “emissor do token”.
-
Indica quem gerou e assinou o JWT.
-
Normalmente é o nome da sua API ou do serviço de autenticação.
Exemplo:
"Issuer": "AuthApi"
➡️ Isso significa que apenas tokens emitidos pela API de autenticação AuthApi serão considerados válidos.
Audience (aud)
-
Significa “público-alvo do token”.
-
Indica para qual aplicação ou serviço o token foi gerado.
Exemplo:
"Audience": "ConsumerApi"
➡️ Nesse caso, o token foi emitido especificamente para ser usado na API ConsumerApi. Se for utilizado em outra API, deve ser rejeitado.
🧠 Como funciona na validação (.NET)
Quando o middleware de autenticação do .NET recebe um token JWT, ele:
-
Decodifica o token.
-
Valida a assinatura usando o secret ou a chave pública.
-
Compara os campos do token com a configuração da aplicação:
-
O campo
issdo token deve ser igual ao Issuer configurado. -
O campo
auddo token deve ser igual ao Audience configurado.
-
Se qualquer uma dessas validações falhar, o token é rejeitado.
⚙️ Alguns parâmetros importantes na configuração
-
RequireHttpsMetadata = false
Útil em ambiente de desenvolvimento/local (HTTP).
Em produção, o ideal é deixar true, garantindo que o token só trafegue por HTTPS. -
SaveToken = false
Quando false, o token não é armazenado automaticamente noHttpContext.
Se você precisar acessar o token durante o processamento da requisição, pode configurar como true. -
ClockSkew = TimeSpan.FromMinutes(2)
Define uma tolerância (neste caso, 2 minutos) para diferenças de horário entre cliente e servidor.
Se quiser que a expiração seja exata, utilizeTimeSpan.Zero, mas isso exige que os relógios estejam bem sincronizados.
✅ Resumo
-
Issuer → Quem emitiu o token.
-
Audience → Para quem o token foi emitido (onde ele pode ser usado).
Configurar corretamente esses valores é essencial para garantir segurança e controle sobre onde e como seus tokens JWT podem ser utilizados.

Comentários
Postar um comentário