JWT (JSON Web Token) é um padrão aberto da indústria (RFC 7519) que define uma forma compacta e auto-contida para transmitir informações com segurança como um objeto JSON. Essa informação pode ser verificada e confiável porque é assinada digitalmente. JWTs podem ser assinados usando um segredo (com o algoritmo HMAC) ou um par de chaves pública/privada usando RSA ou ECDSA.
Como funciona:
Um JWT é composto por três partes separadas por pontos (.
):
Cabeçalho (Header): Define o tipo do token (JWT) e o algoritmo de assinatura usado (e.g., HS256, RSA). É codificado em Base64Url.
Payload (Carga Útil): Contém as claims (afirmações). Claims são declarações sobre uma entidade (tipicamente o usuário) e metadados adicionais. Existem três tipos de claims:
iss
(issuer - emissor), exp
(expiration time - tempo de expiração), sub
(subject - sujeito), aud
(audience - audiência), etc.O payload também é codificado em Base64Url.
Assinatura (Signature): É calculada a partir do cabeçalho codificado em Base64Url, o payload codificado em Base64Url, um segredo ou chave privada e o algoritmo especificado no cabeçalho. A assinatura garante que o JWT não foi alterado em trânsito e que a origem do token é autêntica.
Formato Geral:
xxxxx.yyyyy.zzzzz
Onde:
xxxxx
representa o cabeçalho codificado em Base64Url.yyyyy
representa o payload codificado em Base64Url.zzzzz
representa a assinatura.Usos Comuns:
Autenticação: Este é o cenário de uso mais comum para JWT. Uma vez que o usuário está logado, cada solicitação subsequente incluirá o JWT, permitindo que o usuário acesse rotas, serviços e recursos permitidos com esse token. Essa abordagem evita a necessidade de enviar credenciais (nome de usuário e senha) a cada requisição e elimina a dependência de cookies de sessão. Veja mais em: Autenticação.
Autorização: Uma vez que o usuário está autenticado, o JWT pode ser usado para determinar a quais recursos e operações o usuário tem acesso. O payload do JWT pode conter informações sobre as permissões do usuário. Veja mais em: Autorização.
Troca Segura de Informações: JWTs podem ser usados para trocar informações com segurança entre partes, pois o token é assinado e pode ser verificado.
Vantagens do JWT:
Considerações de Segurança:
Algoritmos de Assinatura:
Ne Demek sitesindeki bilgiler kullanıcılar vasıtasıyla veya otomatik oluşturulmuştur. Buradaki bilgilerin doğru olduğu garanti edilmez. Düzeltilmesi gereken bilgi olduğunu düşünüyorsanız bizimle iletişime geçiniz. Her türlü görüş, destek ve önerileriniz için iletisim@nedemek.page