Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Sistema de Autenticação #26

Open
pportella23 opened this issue Nov 26, 2024 · 0 comments
Open

Sistema de Autenticação #26

pportella23 opened this issue Nov 26, 2024 · 0 comments

Comments

@pportella23
Copy link
Owner

pportella23 commented Nov 26, 2024

Contexto

O site que estamos construindo, em sua grande parte, irá fornecer dados públicos onde não é necessário uma Autenticação (o ato de fazer login), como a leitura das publicações, porém para justamente criar essas publicações (ou alterar elas) é necessário que o usuário se identifique, se autentique.

Execução

Vamos implementar o modelo mais popular de Autenticação que é o usuário informar o seu email e senha e, com estes dados batendo, criar uma sessão ativa no sistema e marcar nos cookies o token desta sessão para que o usuário utilize ele nas requisições seguintes. Não devemos utilizar um serviço extra para armazenar as sessões e devemos apenas utilizar o Postgres, incluindo para controlar a validade das sessões.

E pelo fato de neste estágio ainda não termos o Sistema de Autorização implementado, iremos continuar com o sistema retornando dados sensíveis e sem passar por um processo de filtro. De qualquer forma, deve ser possível passar por este fluxo:

  1. Criar uma conta de usuário, onde a senha não pode mais ser armazenada em texto puro e deve se utilizar alguma forma de criptografia, como o bcrypt.
  2. Este usuário deve conseguir fazer a autenticação (o ato de fazer login) ao conseguir criar uma sessão pelo endpoint /api/v1/sessions
  3. Esta sessão não terá muita utilidade, pois a real utilidade irá vir com o Sistema de Autorização.
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

No branches or pull requests

1 participant