O usuário logou na API, e agora?? (Como faz no client?) #1602
Replies: 3 comments
-
Eu salvaria em session storage (fica salvo até fechar a janela, atualizar mantém) e utilizar alguma lib para sincronizar o estado para as outras abas abertas. (https://github.com/noderaider/localsync) ou (https://github.com/pubkey/broadcast-channel <- meu preferido) |
Beta Was this translation helpful? Give feedback.
-
@kivervinicius show, já vou ler sobre elas, valeu!! |
Beta Was this translation helpful? Give feedback.
-
@wilsonneto-dev O que geralmente vejo é o controle do refresh token no backend. Por exemplo: você faz login e recebe um token, ai em todas as requisições você envia esse token. Se o token expirar, você pode retornar na requisição que você tá fazendo que o token expirou e você não consegue finalizar esta operação. Sendo assim você terá que ter um interceptor/filter/middleware/algo parecido para validar em todas as requisições se o token está válido. A questão de armazenamento de token você fazer no localStorage ou no sessionStorage conforme o @kivervinicius comentou. E também tens que ver se vai ficar uma experiência boa para o usuário ele ter que logar novamente toda vez que acessar o sistema. Espero ter ajudado 👍 |
Beta Was this translation helpful? Give feedback.
Uh oh!
There was an error while loading. Please reload this page.
-
Fala galera,
fazendo um login em node + reactjs, por hora focando em apenas reactjs, mas futuramente farei o mesmo fluxo no native.
Construí um api de exemplo com os seguintes endpoints:
/user (post -> cadastrar usuário)
/auth/login (post -> logar, retorna o token jwt e o refresh token)
/auth/refresh (post -> manda o refresh token e obtem um token novo)
/test -> (get -> rota protegida para teste)
Código da api: API de Exemplo
Até ai ok, porém no client que estou com dúvidas, qual o fluxo que vocês indicam fazer baseado nesta api?
O usuário fazendo login vou deixar o token em memória, acham que preciso usar Redux apenas para guardar o token? O que indicam para guardar o token? Não pretendo colocar ele em cookies mas sim deixar apenas em memória/estado. Já o refresh token vou guardar no storage e usarei apenas ao iniciar a aplicação ou quando o token expirar.
Sempre ao iniciar a aplicação eu vou verificar se tem um refresh token, se tiver vou obter o token e já mandar o user para o dashboar/painel, se não tiver mando a tela de login.
Como costumam fazer este processo?
Tem algum exemplo? (Estou com dúvidas tanto quanto a guardar o tokenm processo e proteger rotas)
Se puderem me dar algumas dicas e direções.
By:☺️ Wilson Neto
Linkedin
Blog
Github
Beta Was this translation helpful? Give feedback.
All reactions