Open Yoshida-Eduardo opened 6 years ago
Foi habilitada a possibilidade de efetuar o logout via get devido a problemas na requisição de logout no front end devido a erros com csrf token, pois sendo get um método http safe não é necessária a utilização deste token.
A configuração de logout via get entretanto não é recomendada, pelo comportamento atual dos browsers que realizam prefetch das páginas quando estão em idle para agilizar o carregamento das páginas, podendo potencialmente deslogar o usuário indesejadamente.
Entretanto pela forma que o logout foi programado no frontend não foi observado esse comportamento, optando-se por utilizar essa solução por ser uma maneira rápida de resolver este problema até a deadline.
Caso essa solução seja indesejada ou cause algum problema, pode-se optar por realizar o logout apenas via front-end, sem realizar requisição no backend. Pois considerando o padrão arquitetural REST utilizado pela api, a comunicação deve ser stateless isto é, as requests devem conter toda informação necessária para serem compreendidas e validas sem salvar dados no backend, ou seja, todo "state da sesão" é salvo no front-end.
Como optou-se pela utilização de JsonWebTokens, padrão de token que contem toda informação necessária para validar as requests encriptada, assim como sua data de expiração, o logout pode ser efetuado apenas via front-end(considerando que toda informação da sessão está contida neste token e que não está salva no backend, conforme o padrão REST) descartando esse token conforme a ação do usuário de logout ou a data de expiraçao do token.
Métodos http safe: https://tools.ietf.org/html/rfc7231#page-22 Logout: https://stackoverflow.com/questions/3521290/logout-get-or-post https://stackoverflow.com/questions/36294359/is-logout-useless-on-a-rest-api Rest: https://www.ics.uci.edu/~fielding/pubs/dissertation/rest_arch_style.htm#sec_5_1_3
Descrição
Alterar o método de logout de post para get para evitar erros com csrf token.