11
votes

Vérificateur d'en-tête de www-authentifier pour le fournisseur OAuth

Dans le OAuth 1.0 spec il est suggéré de répondre à la suivant en-tête WWW-Authenticate:

WWW-Authenticate: OAuth realm="http://server.example.com/", access token invalid


0 commentaires

3 Réponses :


8
votes

C'est contre la spécification de faire cela, et si ce n'était pas ce serait probablement quelque chose comme: xxx

Je recommande d'utiliser le corps de réponse pour des choses comme ceci, ou peut-être un Erreur x-oauth-erreur en-tête.


1 commentaires

Merci, tu as raison bien sûr. J'utilise déjà maintenant le corps de réponse pour ces types de messages. Cependant, certaines bibliothèques semblent s'attendre à un peu plus d'informations de l'en-tête. Ils peuvent être mal implémentés cependant.



9
votes

Cela semble un peu douteux pour moi. Le www-authentifier L'en-tête est spécifié par un RFC , qui semblerait interdire l'exemple que vous avez donné. La spécification OAuth indique que vous pouvez inclure d'autres champs www-authentifier tels que définis par la RFC, non pas que vous pouvez simplement faire taire des chaînes arbitraires à la fin de celui-ci. Je l'éviterais, sauf s'il y a un champ défini que vous puissiez tordre à vos besoins.


2 commentaires

Les réponses de vos et de Tom étaient à peu près similaires, je vérifierai votre réponse car elle comprenait le lien vers la RFC en question.


Merci. Je vais uplifier la réponse de Tom pour une grande justice, dans ce cas, étant donné que nous avons répondu quelque part dans la même minute.



30
votes

Remarque pour que quiconque vous sortez simplement sur ceci: le OAuth 2.0 Portez-Token Spec Ajoute "Erreur", "ERROR_DESCRIPTION" et "ERROR_URI" attributs à l'en-tête "www-authentifier" pour signaler des informations d'erreur supplémentaires et spécifie quand elles doivent et ne doivent pas être utilisées.

 HTTP/1.1 401 Unauthorized
 WWW-Authenticate: Bearer realm="example",
                   error="invalid_token",
                   error_description="The access token expired"


0 commentaires