Je veux implémenter un service d'authentification plus robuste et jwt
c'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 les 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
c'est émettre le jeton afin que les personnes qui viennent myserver.com
peuvent être autorisées et authentifiées. Je suppose que je ne vois pas la différence entre les deux revendications, même si je sais 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.
la source
Réponses:
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 serveur OAuth ou 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"
.la source
jwt
ou les laisseriez-vous de côté car elles seraient identiques?aud
parfois un tiers ou non?aud
peut être une valeur unique ou un tableau. Il est censé correspondre à chaque destinataire ou processeur prévu. Supposons que vous soyez un utilisateur (ou une application) qui souhaite appeler api.example.com pour exécuter une requête. Si api.example.com fait confiance à un service d'authentification tiers (par exemple, Auth0) pour gérer l'authentification, alors ce service d'authentification doit êtreaud
rempli avec «api.example.com», et l'application «api.example.com» doit vérifier que c'est bien le Cas. Les étendues sont plus granulaires que l'audience et peuvent également être incluses dans la charge utile.