o que vocês estão usando para lidar autenticação em SPA por aí?

23 views
Skip to first unread message

Cirdes Borges

unread,
Aug 13, 2018, 10:28:23 AM8/13/18
to frevo-on-rails frevo frevo
Oi pessoal, 

Estou construindo um backend que serve apenas de API para um front em React e como interface administrativa com ActiveAdmin. Me deparei com algumas opções de Authentication voltadas para API e gostaria de saber o que vocês estão usando e recomendam. 

Cenário 1: Devise + Token Auth
Utilizar o bom e velho Devise para lidar com autenticação e adicionar alguma gem para cuidar dos tokens.

Cenário 2: Serviço externo
Utilizar serviços externos como Amazon Cognito ou Firebase Authentication

Qualquer outra sugestão é sempre bem-vinda!

Valeu

Cirdes Henrique  

Thiago Diniz

unread,
Aug 14, 2018, 2:45:23 PM8/14/18
to frevo-o...@googlegroups.com
Vai de JWT, Cirdes.


Thiago Diniz


--
Você recebeu essa mensagem porque está inscrito no grupo "Frevo on Rails" dos Grupos do Google.
Para cancelar inscrição nesse grupo e parar de receber e-mails dele, envie um e-mail para frevo-on-rail...@googlegroups.com.
Para mais opções, acesse https://groups.google.com/d/optout.

Lailson Bandeira

unread,
Aug 14, 2018, 3:16:19 PM8/14/18
to frevo-on-rails frevo
Eu começaria com alguma opção baseada em tokens, Cirdes. Acho que JWT só faz sentido em um cenário com muitos microserviços e/ou onde consultar o banco de dados seja muito caro. Até porque JWT tem também algumas desvantagens, sendo a principal delas a impossibilidade de revogar um token (aka deslogar um usuário pelo servidor).

--
LAILSON BANDEIRA

Lailson Bandeira

unread,
Aug 14, 2018, 8:01:17 PM8/14/18
to frevo-on-rails frevo
Na vdd, é até possível revogar um token JWT, só não é muito fácil: 

Até porque isso não está implementado na maioria das bibliotecas.
--
LAILSON BANDEIRA

Cirdes Borges

unread,
Aug 14, 2018, 8:09:03 PM8/14/18
to frevo-on-rails frevo frevo
Fala pessoal, obrigado pelos comentários.

Estou procurando mesmo uma opção baseado em tokens, sejam eles JWT ou não. JWT como Lailson falou tem suas vantagens e desvantagens. Mais do que a tecnologia eu estou interessado em libs ou external services que eu possa utilizar, me sinto tendo que reinventar a roda em ter que fazer todo o mecanismo para gerir os tokens. 

Essa lib https://github.com/waiting-for-dev/devise-jwt implementa autenticação com JWT e permite que ele possa ser expirado, o que faz o JWT deixar de ser stateless e, de certa forma, quebra o paradígma para o qual ele foi projetado.

O meu problema é que eu só achei projetos imaturos para fazer algo que eu achava que todo mundo estava fazendo (token auth, rails api). Você não tem utilizando SPA nos projetos ?

Abraços! 

JWT 

Cirdes Henrique                 


Lailson Bandeira

unread,
Aug 14, 2018, 8:22:28 PM8/14/18
to frevo-o...@googlegroups.com
Nos últimos projetos que fizemos aqui na Guava, usamos JWT. Mas aí acabamos tendo que implementar soluções pra revogar o token, o que, como vc explicou, acaba deixando o JWT menos vantajoso…
LAILSON BANDEIRA

Cirdes Borges

unread,
Aug 14, 2018, 8:48:19 PM8/14/18
to frevo-on-rails frevo frevo
Lailson, e vocês implementaram o JTW como?  Firebase Auth?  Alguma Gem? 


Cirdes Henrique                 


Lailson Bandeira

unread,
Aug 15, 2018, 9:33:38 PM8/15/18
to frevo-on-rails frevo
Cirdes, nós usamos a gem jwt mesmo. 
--
LAILSON BANDEIRA

Brunno Gomes

unread,
Aug 27, 2018, 2:23:19 PM8/27/18
to frevo-o...@googlegroups.com
Opa!

Sei que a essa altura Cirdes já deve ter implementado, mas pra quem se deparar com isso mais à frente, estou usando a gem Knock, que faz essa parte do JWT no Rails de forma bem transparente.


Ela usa a própria gem JWT por baixo.

Brunno Gomes
+55 81 97115-0905

Reply all
Reply to author
Forward
0 new messages