Open leopucci opened 3 years ago
O que fica salvo no banco é o refresh token so, o access nao tenho que criar um cookie na hora de expedir o jwt pro user e ele vai junto. depois na hora de acessar os endpoints, tenho que proteger com o cookie tbm, só que o access token nao fica salvo no banco.. como que eu vou fazer? acho que eu teria que salvar o codigo do cookie junto com o refresh. toda vez que o cara acessar algo eu tenho que ficar olhando no banco? https://medium.com/cross-site-request-forgery-csrf/double-submit-cookie-pattern-65bb71d80d9f este cara coloca um formato que eu gravo um cookie com um valor X e salvo no jwt o valor x tbm. Toda vez que eu vou fazer alguma ação, eu mando o valor X e o cookie vai junto tbm (httpOnly false na criação do cookie). Entao a api só vai comparar, se o cookie (que nao pode mudar de browser) e o valor que esta no JWT batem. assim ele protege a sessao pra rodar num browser só.
https://dev.to/mr_cea/remaining-stateless-jwt-cookies-in-node-js-3lle Aqui tem todos os detalhes que eu preciso pra fazer isto funcionar
EU coloquei tudo no json, só que por uma questão de segurança eu preciso criar sessoes. Se o usuario tem uma injeçao de javascript no browser, o js pode pegar o jwt json e usar em outros computadores outras formas de acesso ou virus.. A ideia é associar o cookie/sessao com os dados do jwt de uma forma que o jwt só funciona naquele browser com aquele cookie. Tendeu? sem transferencia ou uso em outros locais