web-dev-qa-db-fra.com

Différence entre 'aud' et 'iss' dans jwt

Je veux implémenter un service d'authentification plus robuste et jwt est une grande partie de ce que je veux faire, et je comprends comment écrire le code, mais j'ai un peu de mal à comprendre la différence entre le réservé iss et aud revendications. Je comprends que l'un définit le serveur qui émet le jeton et que l'autre fait référence à l'application qui est destinée à être utilisée. Mais la façon dont je comprends cela, c'est que mon public et l'émetteur sont la même chose myserver.com émet le jeton afin que les personnes qui viennent à myserver.com peut être autorisé et authentifié. Je suppose que je ne vois pas la différence entre les deux revendications, bien que je sache qu'il y en a une.
Il y avait un bon article écrit à msdn sur toutes les revendications réservées et c'est là que je me suis le plus trompé car leur émetteur et leur public étaient complètement différents.

12
Adam McGurk

Celles-ci sont destinées aux scénarios dans lesquels vous disposez d'une autorité d'émission de jetons qui n'est pas la même que l'application qui est le destinataire prévu.

Cela peut ne pas être différent pour votre application.

Mais considérez une application à grande échelle. Vous pouvez avoir un OAuth ou serveur SSO qui émet les certificats, et une application qui veut un jeton qui montre que le serveur SSO a vérifié les informations d'identification de l'utilisateur et a approuvé l'utilisateur pour utiliser l'application. dans ce cas, vous pourriez avoir un jeton avec "aud": "aud.example.com" et "iss": "sso.example.com".

9
Paul