Gostaria de saber qual é o melhor Authorization
tipo de cabeçalho HTTP apropriado para tokens JWT .
Um dos tipos provavelmente mais populares é Basic
. Por exemplo:
Authorization: Basic QWxhZGRpbjpvcGVuIHNlc2FtZQ==
Ele lida com dois parâmetros, como um login e uma senha. Portanto, não é relevante para os tokens JWT.
Além disso, ouvi falar do tipo Bearer , por exemplo:
Authorization: Bearer eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9.eyJzdWIiOiIxMjM0NTY3ODkwIiwibmFtZSI6IkpvaG4gRG9lIiwiYWRtaW4iOnRydWV9.TJVA95OrM7E2cBab30RMHrHDcEfxjoYZgeFONFh7HgQ
No entanto, eu não sei o seu significado. Está relacionado aos ursos?
Existe uma maneira específica de usar tokens JWT no Authorization
cabeçalho HTTP ? Devemos usar Bearer
ou simplificar e apenas usar:
Authorization: eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9.eyJzdWIiOiIxMjM0NTY3ODkwIiwibmFtZSI6IkpvaG4gRG9lIiwiYWRtaW4iOnRydWV9.TJVA95OrM7E2cBab30RMHrHDcEfxjoYZgeFONFh7HgQ
Obrigado.
Editar:
Ou talvez, apenas um JWT
cabeçalho HTTP:
JWT: eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9.eyJzdWIiOiIxMjM0NTY3ODkwIiwibmFtZSI6IkpvaG4gRG9lIiwiYWRtaW4iOnRydWV9.TJVA95OrM7E2cBab30RMHrHDcEfxjoYZgeFONFh7HgQ
fonte
Bearer
palavra - chave. Mas vem do OAuth. No entanto, o JWT pode ser usado sem o OAuth. É totalmente independente das especificações do OAuth.Authenticate
cabeçalho é mais apropriado e é compatível com o RFC7235, que descreve uma estrutura de autenticação em um contexto HTTP 1.1curl -H "Authorization: Bearer <TOKEN>" <the rest of your curl cmd>
Resposta curta
O
Bearer
esquema de autenticação é o que você está procurando.Resposta longa
Errr ... Não :)
De acordo com os Dicionários de Oxford , aqui está a definição de portador :
A primeira definição inclui os seguintes sinônimos: mensageiro , agente , transportador , emissário , transportadora , provedor .
E aqui está a definição de token do portador de acordo com a RFC 6750 :
O
Bearer
esquema de autenticação está registrado na IANA e originalmente definido no RFC 6750 para a estrutura de autorização do OAuth 2.0, mas nada impede você de usar oBearer
esquema para tokens de acesso em aplicativos que não usam o OAuth 2.0.Atenha-se aos padrões o máximo que puder e não crie seus próprios esquemas de autenticação.
Um token de acesso deve ser enviado no
Authorization
cabeçalho da solicitação usando oBearer
esquema de autenticação:Em caso de token inválido ou ausente, o
Bearer
esquema deve ser incluído noWWW-Authenticate
cabeçalho da resposta:fonte