web-dev-qa-db-fra.com

Quel code d'état dois-je utiliser lorsque le jeton de session n'est pas valide?

Lors de la création d'un service Web (RESTful), quel code d'état dois-je utiliser lorsque le jeton de session n'est pas valide? Actuellement, celui de mon entreprise m'envoie un 404, introuvable, mais je pense que ce n'est pas correct, car la ressource existe. Je devrais peut-être utiliser 401 non autorisé. Qu'est-ce que tu penses? Quel code d'état me recommandez-vous d'utiliser dans ce scénario? Merci.

23
Ricardo

401 Non autorisé.

Votre jeton de session existant ne vous autorise plus, vous n'êtes donc pas autorisé.

N'oubliez pas qu'un jeton de session n'est qu'un raccourci pour éviter d'avoir à fournir des informations d'identification pour chaque demande.

L'envoi de 404 est incorrect car, comme vous le constatez, la ressource existe. Vous n'avez tout simplement pas actuellement l'autorisation de le voir.

NB N'utilisez pas 403 Forbidden; la spécification HTTP la définit comme suit: "Le serveur a compris la demande, mais refuse de la satisfaire. L'autorisation n'aidera pas et la demande NE DEVRAIT PAS être répétée." Cela ne s'applique pas dans ce cas, car l'autorisation aidera.

53
Colin 't Hart

En parcourant HttpStatusCode enum , je pense que Unauthorized est probablement le plus proche de ce que vous recherchez.

Jetez un œil à la liste et lisez les descriptions de chacun.

2
Danny Beckett