DEV Community

loading...

Autenticação em Single Page Applications

ino_gu profile image Gustavo Inocencio ・1 min read

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.

Discussion (0)

pic
Editor guide