uckelman
(Joel Uckelman)
21 Agosto , 2023 20:11
1
Estou fazendo um POST para /session.json com a carga útil
{
"login": "skroob",
"password": "12345",
"authenticity_token": "..."
}
Quando o login é bem-sucedido, o status é 200 e o JSON retornado é um monte de dados do usuário. Quando o login falha, o JSON retornado se parece com
{"error": "Nome de usuário, e-mail ou senha incorretos"}
mas o status ainda é 200. Isso é um bug? O status para um login falho deveria ser algo >= 400, para indicar uma falha?
1 Curtiu
maiki
(maiki)
21 Agosto , 2023 23:04
2
Talvez. Eu provavelmente escolheria 401 .
Mas esses também são códigos de status HTTP, para conexões de cliente HTTP; acho que essa nuance leva a decisões como retornar um 200 (“seu POST foi bem-sucedido, aqui está o feedback”).
Não tenho certeza, eu mesmo.
1 Curtiu
uckelman
(Joel Uckelman)
21 Agosto , 2023 23:38
4
Consigo ver a lógica de um 200 em um login falho, significando que seu login falhou com sucesso , em vez de falhar sem sucesso .
4 Curtiram
sam
(Sam Saffron)
21 Agosto , 2023 23:59
5
Lembre-se de que isso também é um pouco um “recurso” no sentido de que confunde os bots que estão tentando fazer login.
Estou indeciso sobre mudar isso. Talvez…
6 Curtiram
uckelman
(Joel Uckelman)
22 Agosto , 2023 13:16
6
Não estou pedindo uma mudança. O que eu queria era uma disjunção: uma mudança OU confirmação de que o comportamento é intencional — o que agora tenho. Obrigado!
3 Curtiram