RoutinelyOrganization / routinely-api

A Routinely é uma ferramenta projetada para ajudar a manter uma rotina saudável e equilibrada, permitindo ao usuário registrar suas atividades diárias, incluindo trabalho, exercícios, hobbies e tarefas domésticas.
MIT License
5 stars 2 forks source link

BUG - Autenticação #70

Closed viniciuscosmome closed 7 months ago

viniciuscosmome commented 8 months ago

Bug

Usuários conseguem realizar alterações em tarefas de outros usuários.

viniciuscosmome commented 8 months ago

Causa encontrada: a chave de acesso de ultimo usuário que fez login estava salva globalmente.

viniciuscosmome commented 8 months ago

@RoutinelyOrganization/quality-assurance

O erro acontecia após um usuário realizar o login, depois disso, o próximo usuário poderia realizar requisições sem enviar a chave de acesso.


Unhappy path

  1. Realize o login normalmente
POST /auth

{ email, password }
  1. Acesse uma rota protegida pelo menos uma vez com a chave de acesso
GET /tasks
Authorization: Bearer acceesToken
  1. Agora remova o cabeçalho "Authorization" da requisição e tente criar uma task
POST /tasks

Aqui é onde a aplicação estava permitindo a ação. Isso não era pra acontecer.

Happy path

Atualize sua branch com a nova versão da "develop" e realize os mesmos teste. Dessa vez, a aplicação deve bloquear as ações de usuários sem o cabeçalho de autenticação.

lilianekassab commented 7 months ago

Segue: Curl

curl -X 'POST' \ 'http://localhost:3000/tasks' \ -H 'accept: /' \ -H 'Content-Type: application/json' \ -d '{ "name": "Uma atividade normal teste ", "description": "Descrição personalizada da atividade", "date": "2024-04-01 04:20", "priority": "low", "tag": "application", "category": "personal" }'

Image

Está respondendo como o esperado.

@viniciuscosmome agora temos essa resposta. Isso faz sentido para você?

viniciuscosmome commented 7 months ago

@lilianekassab . Sim, esse é o comportamento esperado.

viniciuscosmome commented 7 months ago

deploy na homologação