Sobes.tech
Junior

Qual é a mecânica de login do usuário no sistema?

sobes.tech IA

Resposta da IA

A mecânica do login inclui:

  1. Inserção de dados: O utilizador insere os seus dados de identificação (por exemplo, login/email e palavra-passe) nos campos do formulário.
  2. Envio da requisição: Os dados são enviados ao servidor através do protocolo HTTPS.
  3. Validação no servidor: O servidor verifica a correção dos dados inseridos (formato, existência).
  4. Autenticação: O servidor procura o utilizador na base de dados pelos identificadores inseridos e compara o hash da palavra-passe inserida com o hash armazenado.
  5. Autorização: Se a autenticação for bem-sucedida, o servidor determina os direitos de acesso do utilizador aos recursos.
  6. Formação da resposta:
    • Em caso de login bem-sucedido: O servidor gera um token (por exemplo, JWT, ID de sessão) e envia ao cliente (frequentemente no cabeçalho da resposta ou cookie). Pode também enviar informações adicionais sobre o utilizador.
    • Em caso de login mal-sucedido: O servidor envia uma resposta com erro (por exemplo, "Nome de utilizador ou palavra-passe incorretos").
  7. Processamento da resposta no cliente:
    • Em caso de sucesso: O cliente guarda o token (por exemplo, no Local Storage, Session Storage, cookie) e redireciona o utilizador para uma página protegida.
    • Em caso de falha: O cliente exibe uma mensagem de erro ao utilizador.

Exemplo de estrutura de requisição (simplificada):

// POST /api/v1/login
{
  "username": "user@example.com",
  "password": "mysecretpassword"
}

Exemplo de resposta bem-sucedida:

// 200 OK
{
  "token": "eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9...",
  "userId": 1,
  "role": "user"
}

Exemplo de resposta com erro:

// 401 Unauthorized
{
  "message": "Credenciais inválidas"
}