Este artigo é um artigo espelhado de tradução automática, por favor clique aqui para ir para o artigo original.

Vista: 58862|Resposta: 3

[Fonte] Aprenda a entender JWT (JSON Web Tokens).

[Copiar link]
Publicado em 21/05/2018 15:56:52 | | | |
Introdução ao JWT: JSON Web Token (JWT) é um padrão aberto (RFC 7519) que define uma forma compacta e autônoma de transferir informações de forma segura entre partes em objetos JSON. Essas informações podem ser verificadas e confiáveis por meio de assinaturas digitais. JWTs podem ser assinados usando segredos (usando o algoritmo HMAC) ou usando os pares de chaves públicas/privadas do RSA.


Alguns cenários onde os JSON Web Tokens são úteis:

Verificação de Identidade:Esse é o caso mais comum de usar JWTs. Uma vez que o usuário faz login, cada requisição subsequente conterá um JWT que permite ao usuário acessar as rotas, serviços e recursos permitidos por esse token. O login único é um recurso amplamente utilizado hoje devido ao seu baixo overhead e à facilidade de uso em diferentes domínios.

Intercâmbio de informações:Tokens Web JSON são uma ótima forma de transferir informações de forma segura entre partes. Como os JWTs podem ser assinados – por exemplo, usando pares de chaves pública/privada – é possível ter certeza de que o remetente é quem ele afirma ser. Além disso, como a assinatura é calculada usando cabeçalhos e payloads, você também pode verificar se o conteúdo não foi adulterado.


Site Oficial:O login do hiperlink está visível.

Analise informações sobre JWT onlineO login do hiperlink está visível.



Analisar os parâmetros do JWT online  O login do hiperlink está visível.

Meu entendimento sobre JWT abaixo está errado, por favor, me dê algum conselho

Primeiramente, essa coisa não é recomendada para você usá-la no site do MVC, você pode usar na webapi, o posicionamento disso é API, não uma sessão do site substituto!

asp.net tutorial de uso do webapi:O login do hiperlink está visível.Não vou refazer a roda, olhando para o que este artigo está escrito, tudo bem.

A composição do JWT

O JWT é composto por três partes: Cabeçalho, Carga Útil e Assinatura, com símbolos de pontos entre eles para formar a forma xx.yy.zz.


Note que, para tokens assinados, essa informação pode ser lida por qualquer pessoa, apesar da proteção contra adulteração. Não coloque informações sensíveis no conteúdo válido ou nos elementos de cabeçalho do JWT, a menos que estejam criptografados.

Por exemplo:

eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9.eyJzdWIiOiIxMjM0NTY3ODkwIiwibmFtZSI6IkpvaG4gRG9lIiwiaWF0IjoxNTE2MjM5MDIyfQ.SflKxwRJSMeKKF2QT4fwpMeJf36POk6yJV_adQssw5c

{
alg: "HS256",
typ: "JWT"
}.
{
sub: "1234567890",
name: "John Doe",
iat: 1516239022
}.
[assinatura]

Em termos simples, qualquer um pode descriptografar esse token, mas a autenticidade dessa informação não pode ser verificada; apenas o servidor que gerou esse token pode verificar a autenticidade, então não armazene informações sensíveis nele.


Existe um problema aqui, ou seja, se o usuário muda a senha ou o usuário é proibido de fazer login, como o JWT pode resolver a validade do token?

Minha própria ideia é adicionar uma string tipo guid na seção de Payload e, ao verificar a identidade do usuário, não só verificar o jwt, mas também as informações do payload no jwt, podemos controlar a validade controlando o cache.







Anterior:Framework de Código Aberto C# (Reimpressão)
Próximo:Você está usando o modo de atualização segura e tentou atualizar um t
Publicado em 22/08/2018 14:42:27 |
iss: jwt签发者
sub: jwt所面向的用户
aud: 接收jwt的一方
exp: jwt的过期时间,这个过期时间必须要大于签发时间
nbf: 定义在什么时间之前,该jwt都是不可用的.
iat: jwt的签发时间
jti: jwt的唯一身份标识,主要用来作为一次性token,从而回避重放攻击。


Essas são um conjunto de declarações pré-definidas que não são obrigatórias, mas são recomendadas para fornecer um conjunto útil e interoperável de declarações. Alguns deles são: ISS (emissor), exp (tempo de expiração), sub (tema), aud (público), etc.

https://jwt.io/introduction/


 Senhorio| Publicado em 27/04/2021 10:59:48 |
cabeçalho (após base64)
Carga útil (após a base64)
Segredo

a string base64 é menor que múltiplo de 4, e você precisa preencher =
 Senhorio| Publicado em 21/01/2022 17:09:52 |
"iat" = > 1356999524, #token发布时间
"exp" = > 1556999524, #token过期时间
Disclaimer:
Todo software, material de programação ou artigos publicados pela Code Farmer Network são apenas para fins de aprendizado e pesquisa; O conteúdo acima não deve ser usado para fins comerciais ou ilegais, caso contrário, os usuários terão todas as consequências. As informações deste site vêm da Internet, e disputas de direitos autorais não têm nada a ver com este site. Você deve deletar completamente o conteúdo acima do seu computador em até 24 horas após o download. Se você gosta do programa, por favor, apoie um software genuíno, compre o registro e obtenha serviços genuínos melhores. Se houver qualquer infração, por favor, entre em contato conosco por e-mail.

Mail To:help@itsvse.com