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
Você está vendo a versão anterior da nova experiência da Alura que estamos preparando para você. Em breve, ela ganha uma identidade visual novinha totalmente pensada em potencializar seus estudos!
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
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!
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