-
Notifications
You must be signed in to change notification settings - Fork 0
MS_ResourceIndicators
- 戻る(OAuth 2.0 のトークン)
- Resource Indicators for OAuth 2.0
- OAuth 2.0 拡張
- OAuth 2.0 セキュリティ関連トピック
resource パラメタを伴う認可リクエストの結果生成された
Access トークンは、指定されたリソースに対してのみ利用が可能となる。
従来、コレ等の処理は、aud と scope が担っていた。
(Resource Server が aud と scope を理解することで実現)。
-
ID トークンに含まれる
audは、Client を指していた。 -
この仕様で、Access トークンに含まれる
audは、
Client → Resource Server を指すように変更される。
補足(何が問題だったか):
audが Client を指していると、
1 つの Access トークンがどの Resource Server にも通ってしまう。
つまり、悪意のある(あるいは侵害された)Resource Server が
受け取ったトークンを別の Resource Server に持ち込めることになる
(「OAuth 2.0 Security Best Current Practice」の
「Client が悪意のある ResourceServer に Token を渡す」を参照)。
resourceパラメタで宛先を明示させ、audをその Resource Server に
絞ることで、トークンの通用範囲を限定するのが本仕様の目的である。
補足(使い方): 認可リクエスト/トークン リクエストに、
対象 API の URI をresourceパラメタとして付ける。GET /authorize?response_type=code &client_id=s6BhdRkqt3 &resource=https%3A%2F%2Fapi.example.com%2Fcontacts &scope=read ...
- 値は絶対 URI(フラグメント不可)で、複数指定できる。
- 認可サーバは、これを
audに反映した Access トークンを発行する。- 複数指定した場合の扱い(1 つのトークンに複数
audを入れるか、
リソースごとに取り直させるか)は認可サーバの実装に依る。
補足(現在は RFC 8707): 本仕様は 2020 年に RFC 8707 として発行された。
同じ「トークンの宛先を絞る」という目的の仕組みとして、
Microsoft Entra ID(旧 Azure AD)のresource/scopeの指定や、
OpenID Connect - Discovery 経由で対象を判別する方式があり、
実装によって作法が異なる点に注意する。
-
Resource Indicators for OAuth 2.0 - Qiita
https://qiita.com/TakahikoKawasaki/items/57d6242ff8b20dbff08f -
本 Wiki 内
Tags: IT国際標準, 認証基盤, クレームベース認証, OAuth
このWikiは「Open棟梁Project」,「OSSコンソーシアム 開発基盤部会」によって運営されています。