¡GoConqr estrena diseño! Cuéntanos qué te parece.

Diapositivas

Autenticação JWT com Angular

Caio Régis Portugués 8 diapositivas

Autenticação JWT com Angular

Diapositivas del conjunto (8)

  1. Autenticação JWT com Angular

    • Autenticação JWT com Angular
  2. Autenticação

    • Existem diversas formas de se autenticar em um sistema. A mais famosa e adotada pela internet como padrão é o modelo de usuário e senha, onde apresentamos nosso identificador (id, nome de usuário, email ou semelhante) e um segredo compartilhado com o serviço que queremos acessar, que após sua validação, nos é devolvido um token que funciona como um bilhete de acesso aos nossos recursos pessoais naquele serviço.
    • Quando implementamos sistemas monolíticos onde o backend e o frontend estão juntos esta manutenção deste token acontece de forma automática pela maioria das bibliotecas de autenticação disponíveis por aí. No máximo decidimos coisas como tempo de validade da sessão ou onde o tokenserá armazenado trocando uma variável de configuração ou outra.
    • Porém, ao separarmos o backend do frontend esta gestão fica um pouco mais por nossa conta as decisões sobre o que fazer e usar para isso deve ser tomadas por nós durante a implementação. E existem enumeras formas de se fazer esta gestão de acesso, uma delas é simplesmente utilizar o tokenpadrão devolvido pelo sistema, mas neste caso como eles estão separados perdemos a possibilidade de atualizar a validade deste token nos obrigando a colocar novamente a senha para obter um novo acesso.
    • Para nos auxiliar com estes problemas utilizaremos o JWT.
  3. JWT

    • JWT ou JSON Web Token nada mais é que um objeto JSON definido na RFC 7519 para realizar transferência informação de permissões de acesso entre duas pontas. Ele é codificado e assinado e possuí o seguinte formato:
    • header.payload.signature
    • JWT
  4. header.payload.signature

    • No header (cabeçalho) ficam os dados do token, que informam seu tipo e o algoritmo utilizado em sua assinatura:
    • {
    • "alg": "HS256",
    • "typ": "JWT"
    • }
    • No payload (carga) ficam os dados do usuário e alguns metadados como a expiração do token:
    • {
    • "sub": "1234567890",
    • "name": "John Doe",
    • "iat": 1516239022
    • }
    • Na signature (assinatura) os dados de header e payload codificados em base 64 e unidos por . (ponto) para serem assinados usando o algoritmo definido no header:
    • HMACSHA256(
    • base64UrlEncode(header) + "." +
    • base64UrlEncode(payload),
    • secret
    • )
    • Com a assinatura é possível verificar se o token não foi alterado no caminho, garantindo sua integridade. Com ela também é possível confirmar a autenticidade de sua fonte.
  5. JWT Token

    • Estes três blocos unidos por . (ponto) cada um codificado em base 64 compõem o JWT Token:
    • eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9.eyJzdWIiOiIxMjM0NTY3ODkwIiwibmFtZSI6IkpvaG4gRG9lIiwiaWF0IjoxNTE2MjM5MDIyfQ.PcmVIPbcZl9j7qFzXRAeSyhtuBnHQNMuLHsaG5l804A
    • Após confirmar os dados de usuário e receber o JWT ele deve ser armazenado, normalmente em local storage, para ser utilizado nas requisições autenticadas usando o esquema de cabeçalho JWT:
    • Authorization: JWT <token>
    • JWT Token
  6. Diapositiva 6

    • Autenticação JWT com Angular
  7. Conclusão

    • O padrão JSON Web Token pode ser usado em várias linguagens e é rápido e facilmente transmitido.
    • Você pode usar o token em um URL, um parâmetro POST ou um cabeçalho HTTP. A versatilidade do JSON Web Token nos permite autenticar uma API de maneira rápida e fácil, transmitindo informações por meio do token.
    • Já existem bibliotecas no Angular que implementam a autenticação usando JWT automaticamente, porém, ter a autonomia para fazer os ajustes necessários de acordo com suas necessidades e compreender o funcionamento deste mecanismo, faz com que uma implementação um pouco mais manual valha a pena o esforço.
  8. OBRIGADO

    • OBRIGADO
    • Pie de imagen: Caio Régis - @caioregiiis

Información

Descripción
Diapositivas sobre Autenticação JWT com Angular, creado por Caio Régis el 06/08/2018.
Creado por
Caio Régis
Visitas
6
Valoración

Escríbenos

¿Sobre qué es tu mensaje?

¿Qué te parece el nuevo diseño?

¿Te gusta?