Ich möchte einen robusteren Authentifizierungsdienst implementieren und jwt
ist ein großer Teil meiner Arbeit. Ich verstehe, wie der Code geschrieben wird, aber ich habe ein wenig Probleme, den Unterschied zwischen reservierten iss
und aud
beanspruchten Ansprüchen zu verstehen . Ich verstehe, dass der eine den Server definiert, der das Token ausgibt, und der eine sich auf die Anwendung bezieht, die zur Verwendung vorgesehen ist. Ich verstehe jedoch, dass mein Publikum und mein Aussteller dasselbe myserver.com
sind, indem ich das Token ausstelle, damit Personen, die zu mir kommen, myserver.com
autorisiert und authentifiziert werden können. Ich glaube, ich sehe keinen Unterschied zwischen den beiden Behauptungen, obwohl ich weiß, dass es eine gibt.
Es gab einen guten Artikel beimsdn
Bei all den reservierten Ansprüchen war ich am verwirrtesten, weil Emittent und Publikum völlig unterschiedlich waren.
quelle
Antworten:
Diese sind für Szenarien vorgesehen, in denen Sie über eine Token-ausstellende Berechtigung verfügen, die nicht mit der Anwendung identisch ist, die der beabsichtigte Empfänger ist.
Dies darf für Ihre Anwendung nicht anders sein.
Betrachten Sie jedoch eine groß angelegte Anwendung. Möglicherweise haben Sie einen OAuth- oder SSO-Server, der die Zertifikate ausstellt, und eine Anwendung, die ein Token möchte, das den SSO-Server anzeigt, hat die Anmeldeinformationen des Benutzers überprüft und den Benutzer zur Verwendung der Anwendung genehmigt. In diesem Fall haben Sie möglicherweise ein Token mit
"aud": "aud.example.com"
und"iss": "sso.example.com"
.quelle
jwt
oder weglassen, da sie identisch wären?