Estou aprendendo algo sobre autorização, como Basic, Digest, OAuth2.0, JWTs e Bearer Token.
Agora eu tenho uma pergunta.
Você sabe que os JWTs estão sendo usados como um Access_Token no padrão OAuth2.0. Os JWTs aparecem no RFC 7519 e o Bearer Token está no RFC 6750.
Por exemplo, o portador:
Authorization: Bearer <token>
Eu costumava enviar token para o servidor por AJAX ou adicionar token à string de consulta do url. Eu sei que um token também pode ser enviado adicionando-o a um cabeçalho de solicitação. Isso significa que o token deve ser adicionado ao cabeçalho Authorization Bearer?
Você poderia me dizer a relação entre JWTs e Bearer Token? Muito obrigado.
auth-header
pacote se quiser um analisador mínimoResposta curta
Os JWTs são uma maneira conveniente de codificar e verificar reivindicações .
Um token do portador é apenas uma string, potencialmente arbitrária, que é usada para autorização.
Contexto (tempo da história)
Alguns anos atrás, antes da revolução JWT, a
<token>
era apenas uma string sem significado intrínseco, por exemplo, 2pWS6RQmdZpE0TQ93X. Esse token foi então pesquisado em um banco de dados, que continha as declarações desse token. A desvantagem dessa abordagem é que o acesso ao banco de dados (ou um cache) é necessário sempre que o token é usado.Os JWTs codificam e verificam (por meio de assinatura) suas próprias declarações . Isso permite que as pessoas emitam JWTs de curta duração sem estado (leia-se: autocontido, não dependa de ninguém). Eles não precisam acertar o DB. Isso reduz a carga do banco de dados e simplifica a arquitetura do aplicativo porque apenas o serviço que emite os JWTs precisa se preocupar em atingir a camada de banco de dados / persistência (o
refresh_token
que você provavelmente encontrou).fonte
Os JWTs funcionam com dois tipos de token, Token de parâmetro: token de acesso passado como parâmetro. Símbolo do portador: é passado no cabeçalho com 'Portador'.
Leia também a seguinte pergunta:
O que são símbolos do portador e token_type no OAuth 2?
fonte