DEV Community

Gustavo Inocencio
Gustavo Inocencio

Posted on

Autenticação em Single Page Applications

Nesse artigo será explicado como funciona a autenticação em SPAs.
Diferente de páginas web comuns SPAs não recebem uma session do servidor ao enviar dados os dados de autenticação (e-mail /senha por exemplo).
Tipicamente, quando se usa SPAs no front é utilizada uma API restful para autenticação. O servidor não se importa com diferentes clients se conectando a ele, por isso não é utilizada uma session.
Em vez disso, é utilizado um token, um objeto JSON. JSON Web Token (JWT) é a forma mais comum de token que se recebe. Trata-se de uma string codificada em Base64.
Exemplo de JWT:

eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9.eyJzdWIiOiIxMjM0NTY3ODkwIiwibmFtZSI6IkpvaG4gRG9lIiwiaWF0IjoxNTE2MjM5MDIyfQ.SflKxwRJSMeKKF2QT4fwpMeJf36POk6yJV_adQssw5c
Enter fullscreen mode Exit fullscreen mode

Essa string pode ser dividida em três partes:

  1. Header que descreve o token
  2. Um payload que contém a parte do json codificado
  3. Um hash de assinatura que pode ser usado para verificar a integridade do token

A segunda parte (payload) carrega os dados que te permitem saber quem é essa pessoa, o que ela pode acessar (escopo) e quando esse token expira. A API usará essa informação quando verificar seu token

E então, ao receber esse objeto deve-se armazena-lo no local storage ou session storage. Com esse objeto armazenado pode-se utilizá-lo para enviar requests para o servidor, para que este saiba que o request está sendo realizado de uma fonte autenticada.

Top comments (0)