Jeton Expiré - JSON API REST - Code d'Erreur
J'ai un JSON API REST. Il y a une poignée de main qui vous donnera un jeton qui est valable pour 15 minutes. Tous les appels que vous faites au sein de ces 15 minutes de travail sur ok. Après 15 minutes, je suis de retour d'un objet d'erreur (inclut le code, le message de succès = false) mais je me demandais aussi ce Code d'Erreur HTTP, je doit retourner? Et à l'aide d'un code d'erreur HTTP gâcher certains clients? (HTML5, iPhone, Android). Ce qui est considéré comme la meilleure pratique dans ce scénario?
- +1, la grande question. Avez-vous jamais trouver une bonne solution pour cela? (btw - à la fois netflix et linkedin renvoie un 401).
- Double Possible de Quel est le statut de code dois-je utiliser lorsque le jeton de session est invalide?
- Cette question est déjà plus âgé
- en double" est un moyen de nettoyage - pour fermer des questions similaires, et de garder un avec les meilleures réponses. La date n'est pas indispensable. Voir meta.stackexchange.com/questions/147643/... Si vous êtes d'accord qu'il a besoin de précisions s'il vous plaît voter sur meta.stackexchange.com/questions/281980/...
Vous devez vous connecter pour publier un commentaire.
Vous devez retourner un
401 Unauthorized
Code d'État. Vous pouvez également fournir des hypermédias pour établir une nouvelle fois le jetonPenser à ce qui se passe dans une application web. Vous aller dire un site bancaire. Si pas auth avais, il va vous envoyer à la page de connexion. Ensuite, vous vous connectez et vous êtes bon pour aller pour un temps. Puis il expire et le cycle se répète.
Juste une pensée.
selon la spécification rfc6750 - "L'Autorisation OAuth 2.0 Cadre: Porteur de l'Usage de jetons", https://tools.ietf.org/html/rfc6750, p.8, section 3.1, les ressources serveur doit retourner 401:
>
FWIW Facebook utilise 400 avec un custom réponse JSON. Personnellement, je préfère 401 personnalisés réponse JSON.
Voici FB du corps de la réponse:
J'ai cherché sur le OAuth 2 spec et tout ce que je pouvais trouver, c'est qu'ils renvoient un "Invalid Token Erreur" quand il expire. Il n'y a aucune mention, que je peux trouver, de ce code HTTP ils utilisent. Je dirais, cependant, votre meilleure option est d'utiliser un 400.