Comment invalider jeton OAuth lorsque le mot de passe est changé?

Nous utilisons ASP.NET l'Identité dans un projet d'Api Web avec SimpleAuthorizationServerProvider, nous utilisons le protocole OAuth-des jetons pour autoriser chaque demande du client. (Jetons, et viennent à échéance laps de temps, nous n'utilisons pas d'actualisation des jetons.)

Lorsque les utilisateurs de changer leur mot de passe, je tiens à invalider les jetons qu'ils peuvent avoir, éventuellement sur d'autres appareils. Est-il de toute façon explicitement de le faire? J'ai testé et vu que les jetons de travail sans aucun problème après un changement de mot de passe, ce qui devrait être évité.

J'ai pensé à mettre le hachage de mot de passe, ou d'une partie de la valeur de hachage dans le jeton OAuth comme une revendication, et la validation dans le OnAuthorization la méthode de notre dérivés AuthorizeAttribute filtre.

Serait-ce une bonne façon de résoudre le problème?

  • N'est-ce pas en partie avec OAuth qu'il est indépendant lors de changements de Mot de passe? Pourquoi ne pas simplement supprimer le jeton à partir de votre serveur d'Authentification lorsqu'ils changent le mot de passe puis si ils essaient de l'utiliser sur d'autres périphériques, cela ne marchera pas.
  • "Pourquoi ne pas simplement supprimer le jeton à partir de votre serveur d'Authentification": est-ce possible avec ASP.NET l'Identité? Je pensais que les jetons sont autonomes, de sorte qu'ils peuvent être utilisés sur n'importe quel serveur web instance, et donc nous n'avons pas de serveur d'Authentification.
  • Si c'est vrai, ça sonne comme si j'avais besoin d'un rappel sur "ASP.NET l'Identité" sa fait un moment. Désolé.
InformationsquelleAutor Mark Vincze | 2014-11-06