Autenticação baseada em token versus cookie

Arquitetura para autenticação de aplicativos e APIs

Atualmente um dos grandes desafios ao projetar uma arquitetura para web vem da diversidade de dispositivos e plataformas que estão presentes no nosso dia-a-dia. Para aqueles que trabalham com desenvolvimento web, projetos mobile ou mesmo desenvolvendo integração com alguma API dos grandes players do mercado, os desafios de se implementar uma autenticação não é nenhuma novidade.

Basicamente, existem dois métodos para implementar autenticação em aplicações ou APIs: com CookieToken.

Autenticação baseada em Cookie

É a estratégia mais utilizada, haja vista que é a forma mais tradicional. Utiliza cookies para autenticar o usuário a cada request. É por isso que uma autenticação baseada em cookie é normalmente conhecida como stateful. Ou seja, o estado da requisição anterior é mantido em sessão e pode ser recuperado.

Autenticação baseada em Token

É uma estratégia mais nova, porém amplamente utilizada, uma vez que permite autenticar usuários de diversos dispositivos com a mesma tecnologia. Um token assinado é enviado para o servidor a cada request. É por isso que uma autenticação baseada em token é normalmente conhecida como stateless. Ou seja, toda transação é realizada como se estivesse sendo feita pela primeira vez.

Diagrama explicando o funcionamento dos dois métodos:

Continue reading