jwtの「aud」と「iss」の違い


12

より堅牢な認証サービスを実装したいのですが、やりたいことのjwt大部分を占めています。コードの記述方法は理解していますが、予約済みissaudクレームの違いを理解するのに少し問題があります。1つはトークンを発行しているサーバーを定義し、1つは使用を目的としたアプリケーションを指していることを理解しています。しかし、私の聴衆と発行者が同じものであることを私が理解している方法は、myserver.com来た人myserver.comが承認され認証されるようにトークンを発行することです。2つのクレームの違いはわかりませんが、1つあることは知っています。
で書かれた良い記事がありましたmsdn すべての予約済みのクレームで、発行者とオーディエンスが完全に異なっていたため、最も混乱しました。


興味があるかもしれませんJWT RFC-7519
Laiv

回答:


9

これらは、意図した受信者であるアプリケーションと同じではないトークン発行機関があるシナリオを対象としています。

これはアプリケーションによって異なることはありません。

ただし、大規模なアプリケーションを検討してください。証明書を発行しているOAuthサーバーまたはSSOサーバーがあり、SSOサーバーがユーザーの資格情報をチェックし、アプリケーションの使用をユーザーに承認したことを示すトークンを必要とするアプリケーションがある可能性があります。その場合は、あなたがトークンを持っているかもしれない"aud": "aud.example.com""iss": "sso.example.com"


ああなるほど。私は2つのことを考えたので、それは私の側の誤解でした:1.クレームの一部として「iss」と「aud」の両方が必要でした。2.それらは互いに固有でなければなりませんでした。これは明らかに真実ではありません。それで、あなたが私のようなアプリケーションを持っているなら、それらの2つのクレームをあなたの中に含めjwtたり、それらが同一であるのでそれらを省いたりするでしょうか?
Adam McGurk 2017

使用する理由がある場合は、それらを省略して後で追加することもできます
Paul
弊社のサイトを使用することにより、あなたは弊社のクッキーポリシーおよびプライバシーポリシーを読み、理解したものとみなされます。
Licensed under cc by-sa 3.0 with attribution required.