2
respostas

Autenticação com spring security

Estou precisando de bloquear um novo login do usuário. Se um usuário tiver logado, não deixar ele logar novamente em qualquer browser ou ele finalizar o token de outro qualquer browser.

Angular e spring oauth2

2 respostas

Boa tarde, Guilherme! Tudo joia?

Uma abordagem possível é utilizar o conceito de "single session" ou "single sign-on". Com isso, você pode armazenar o token de autenticação do usuário em um banco de dados ou em uma memória compartilhada, como o Redis.

Quando o usuário fizer login, você pode verificar se o token já está sendo utilizado em outra sessão. Se estiver, você pode invalidar o token anterior e permitir o novo login apenas no browser atual.

No lado do Angular, você pode utilizar um interceptor para adicionar o token de autenticação em todas as requisições e também para interceptar erros de autenticação, como quando o token é inválido ou expirou.

Espero ter ajudado e bons estudos!

Caso este post tenha lhe ajudado, por favor, marcar como solucionado ✓.

Certo. Mas quando o usuário sair do browser, sem clicar em logout, assim o token estará no banco de dados e o usuário não conseguirá logar novamente