Replies: 3 comments
-
Acho que mais do que ser a coisa do momento, é um padrão que vem sendo adotado bastante no mercado, por isso acredito que tu tenha visto tantas recomendações.
Acho que o teu maior custo aqui é de fato de ter que implementar esse tipo de coisa ao invés de se preocupar com o desenvolvimento das tuas funcionalidades que de fato agregam para os usuários (não que autenticação não seja importante, mas é algo já "resolvido" de certa forma). Por exemplo, é possível que em algum momento tu precise gerenciar várias coisas já resolvidas pela especificação do JWT, como por exemplo, o algoritmo de encriptação, gerenciamento de expiração e por aí vai. A parte de "segurança" da tua pergunta já foi pensada e discutida pelo grupo que propôs esse padrão. Já a tua implementação "no braço" depende das tuas decisões e do teu time. Sobre performance, dependendo de como tu usar o JWT, me parece que o custo de performance se torna irrelevante. Por exemplo, não é necessário gravar nada no banco de dados, portanto, tu vai estar poupando várias consultas ao banco. Acredito também que fazer a validação/verificação de um token JWT também não tenha um custo computacional muito alto. Não tenho muito contexto do projeto que tu está desenvolvendo (se é algo pessoal, projeto interno ou aberto para o público em geral), mas te daria a dica para confiar em usar uma especificação e focar nas funcionalidades que vão agregar ao teu produto. Fazer a solução simples vai funcionar, mas provavelmente no futuro tu vai precisar pensar em vários aspectos que podem já ter sido resolvidos em um padrão. |
Beta Was this translation helpful? Give feedback.
-
Eu opto por JWT sempre, algo já testado e bem resolvido, o custo é muito menor que ter de consultar na base e dados empres se uma key está na base de dados, você traballha tranquilo com expiração e assinatura do token... Acredito que em quase qualquer caso o jwt tem vantagens a uma solução na mão, mesmo qndo envolver roles e vários grupos de usuários, fora que tem uma especificação clara e padrões bem resolvidos e definidos, enquanto vc criando sua especificação vc vai ter de repensar muitas coisas e documentar muito bem para seu time não entender errado e nem recriar partes já criadas ou partes que fujam do padrão... Minha opinião, abraços! |
Beta Was this translation helpful? Give feedback.
-
Prefiro tokens simples de acesso em vez do JWT, por causa do token simples não conter nenhum informação a mais escondida dentro dele, ele é o que ele é, fim. Sem mais delongas. Geralmente as chaves são armazenadas com redis que resolvem as consultas quase que instantaneamente. |
Beta Was this translation helpful? Give feedback.
Uh oh!
There was an error while loading. Please reload this page.
-
Atualmente estou envolvido em um projeto que envolve o desenvolvimento de um app React e a API com a qual ele se comunica. Depois de uma breve pesquisa vi que para autenticação nessa stack a solução mais comum é o uso de JSON Web Tokens. Mas isso me pareceu um pouco overkill para o meu caso, o JWT parece ser mais útil quando se lidam com múltiplos servidores ou clientes, em situações mais complexas de autorização. Encontrei pouco conteúdo online a respeito, com muita gente aparentemente indicando JWT só por ser a coisa do momento.
O que vocês pensam a respeito? Há custos de performance ou segurança envolvidos com uma simples chave de API por usuário armazenada no banco que o JWT resolve?
Beta Was this translation helpful? Give feedback.
All reactions