De retour d'erreur sur pas valide ou a expiré jeton

Je suis en train de mettre en œuvre le protocole OAuth Porteur d'Authentification avec Owin. Quand pas valide ou a expiré jeton est transmis, l'implémentation par défaut est de vous connecter cela comme un avertissement, et il suffit de ne pas définir une Identité. J'ai toutefois voudrais rejeter la demande en entier avec une erreur dans ce cas. Mais comment pourrais-je faire cela?

Après en fouillant dans le code que j'ai découvert que dans le OAuthBearerAuthenticationHandler il analyse le jeton à l'aide d'un mécanisme de secours lorsque la condition AuthenticationTokenProvider ne pas analyser les billet (comme l'implémentation par défaut). Ce gestionnaire de journal d'un avertissement lorsque le jeton n'a pas pu être analysé pour tout billet ou quand il a expiré.

Mais je ne trouve pas de place pour brancher mon propre logique à ce qui se passe lorsque le jeton est pas valide ou a expiré. Je pourrais théoriquement vérifier cela sur mon propre dans le AuthenticationTokenProvider, mais alors je l'ai ré-écrire la logique (= copier) pour la création et la lecture du jeton. Aussi ce qui semble juste de sortir de la place, car cela semble être la seule responsable de la création et de l'analyse des jetons. Aussi, je ne vois pas un moyen de brancher mon propre mise en œuvre de la OAuthBearerAuthenticationHandler dans le OAuthBearerAuthenticationMiddleware.

Apparemment, mon meilleur et plus propre coup serait ré-écrire tout le middleware, mais cela semble très exagéré.

Que dois-je l'ignorer? Comment aurais-je aller sur ce le meilleur?

edit:

Pour obtenir des éclaircissements. Je sais que par définition pas une identité, la demande sera rejetée avec 401 non autorisé plus tard dans l'API Web. Mais personnellement, je vois cela comme vraiment mauvais style, silencieusement de la déglutition d'un faux jeton d'accès sans aucune notification. De cette façon, vous n'obtenez pas de savoir que votre jeton est de la merde, vous avez juste à savoir que vous n'êtes pas autorisés.

OriginalL'auteur user3137652 | 2014-04-03