D. Hardt (Hellō)\ K. McGuinness (Independent)
OpenID Connect Enterprise Extensions 1.0 - draft 01
Abstract
OpenID Connect 1.0 は、エンタープライズ用途のユースケースにおいてシングルサインオンの一般的な選択肢となっている。相互運用性を向上させるため、OpenID Connect Enterprise Extensions は、OpenID Connect に対するいくつかの共通または望ましい拡張を規定する。
Table of Contents
- OpenID Connect Enterprise Extensions 1.0 - draft 01
- Abstract
- Table of Contents
- 1. Introduction
- 2. ID Token Claims
- 3. Authentication Request Parameters
- 4. Login from a Third Party Parameters
- 5. Security Considerations
- 6. Privacy Considerations
- 7. IANA Considerations
- 8. References
- Appendix A. Acknowledgements
- Appendix B. Notices
- Appendix C. Document History
- Authors' Addresses
1. Introduction
OpenID Connect 1.0 は広く採用されているアイデンティティ・プロトコルであり、Relying Party (RP) と呼ばれるクライアント・アプリケーションが、信頼できるサービスである OpenID Provider (OP) により実行された認証に基づいて End-User の身元を検証できるようにする。
OpenID Connect の初期の採用は、アプリケーションに個人のアイデンティティを提供するサイトによるものであった。OpenID Connect はエンタープライズ用途のユースケースでも一般的な選択肢となり、実装者は、元の仕様では扱われていなかったユースケース向けに独自の拡張を定義してきた。
システム間の相互運用性を向上させるため、OpenID Connect Enterprise Extensions は、ID Token に含めることができる OPTIONAL の claims、認証リクエストに含めることができる OPTIONAL の parameters、ならびに第三者からログインを開始する際に含めることができる OPTIONAL の parameters を規定する。
1.1. Requirements Notation and Conventions
本文書におけるキーワード "MUST", "MUST NOT", "REQUIRED", "SHALL", "SHALL NOT", "SHOULD", "SHOULD NOT", "RECOMMENDED", "NOT RECOMMENDED", "MAY", "OPTIONAL" は、RFC2119 に記述されているとおりに解釈されるものとする。
この仕様の .txt 版では、値が文字どおりに扱われることを示すために引用符で囲まれている。これらの値をプロトコル・メッセージで使用する際、引用符は値の一部として使用してはならない(MUST NOT)。この仕様の HTML 版では、文字どおりに扱うべき値は、この固定幅フォントの使用によって示される。
1.2. Terminology
本仕様は、以下の用語を定義する。
- Account: ユーザーに関する claims の集合。
- Tenant: OP 内で論理的に分離されたエンティティであり、組織的または管理上の境界を表す。OP は単一の Tenant、または複数の Tenant を持ち得る。Tenant は、個人によって管理される Accounts を含み得るし、組織によって管理される Accounts を含み得る。
2. ID Token Claims
ID Token は OpenID Connect Core 1.0 の Section 2 で定義されている。
以下は、ID Token に含めることができる OPTIONAL の claims である。
2.1. session_expiry
session_expiry claim は JSON 整数であり、ID Token から作成されたセッションがいつ失効しなければならないか(MUST expire)を示す Unix timestamp(エポックからの秒数)を表す。
2.2. tenant
tenant claim は JSON 文字列であり、tenant 識別子を表す。値は personal、organization、または(multi-tenant OP の場合に)RP にとって安定で不透明な OP 固有の値になり得る(MAY)。
- personal 値は Accounts が個人によって管理される場合に予約されている。
- organization 値は Accounts が組織によって管理される場合に予約されている。
2.3. aud_sub
aud_sub claim は不透明な JSON 文字列であり、RP が当該 Account に対して持つ識別子を表す。
- OP が aud_sub をどのように取得するかはスコープ外である。
- OP の Account と RP の Account の連携(リンク)をどのように行うかもスコープ外である。
3. Authentication Request Parameters
Authentication request は OpenID Connect Core 1.0 の Section 3.1.2.1 で定義されている。
以下は、Authentication Request に含めることができる OPTIONAL の parameters である。
3.1. domain_hint
domain_hint parameter は、どの Tenant をユーザーに提示して認証させるかを OP が判断するためのヒントを提供する。
3.2. tenant
RP がユーザーに対して認証させたい OP Tenant に対応する tenant 識別子(tenant claim に準拠する)。
- tenant 値として personal を渡すことは、RP がユーザーに対してユーザー管理の account を使用してほしいことを示す。
- tenant 値として organization を渡すことは、RP がユーザーに対して組織管理の account を使用してほしいことを示す。
4. Login from a Third Party Parameters
第三者からログインを開始すること、および login initiation endpoint は、OpenID Connect Core 1.0 の Section 4 で定義されている。
以下は、login initiation endpoint へのリクエストに含めることができる OPTIONAL の parameters である。
4.1. client_id
RP が Authentication Request を作成する際に使用すべき client_id 値。これにより、複数の Tenant をホストし(それぞれが異なる client_id で表される)multi-tenant アプリケーションは、どの client_id を使用すべきかを把握できる。
4.2. domain_hint
Authentication Request に含める domain_hint 値。
4.3. tenant
Authentication Request に含める tenant 値。
5. Security Considerations
未完成(To be completed)。
6. Privacy Considerations
未完成(To be completed)。
7. IANA Considerations
未完成(To be completed)。
8. References
8.1. Normative References
- [RFC2119] Bradner, S. “Key words for use in RFCs to Indicate Requirement Levels,” RFC 2119, March 1997.
- [OpenID Connect Core 1.0] – “OpenID Connect Core 1.0 incorporating errata set 1,” available at https://openid.net/specs/openid-connect-core-1_0.html.
8.2. Informative References
- IANA JSON Web Token Claims Registry, available at https://www.iana.org/assignments/jwt/jwt.xhtml.
- IANA OAuth Parameters, available at https://www.iana.org/assignments/oauth-parameters/oauth-parameters.xhtml#client-metadata.
Appendix A. Acknowledgements
更新予定(To be updated)。
Appendix B. Notices
Copyright (c) 2025 The OpenID Foundation.
The OpenID Foundation (OIDF) は、任意の Contributor、開発者、実装者、またはその他の関係者に対し、本 Implementers Draft、Final Specification、または Final Specification Incorporating Errata Corrections を、(i) 仕様の策定、および (ii) そのような文書に基づく Implementers Drafts、Final Specifications、Final Specification Incorporating Errata Corrections の実装のみを目的として、複製し、派生著作物を作成し、頒布し、上演し、および表示するための、非独占的、ロイヤリティ・フリー、全世界的な著作権ライセンスを付与する。これにあたり、素材の出所として OIDF への帰属表示を行うこと。ただし、その帰属表示は OIDF による承認を示すものではない。
本仕様で記述される技術は、OpenID Foundation のメンバーおよびその他を含む様々な提供元からの貢献により利用可能となった。OpenID Foundation は、当該技術が頒布可能であることを支援するための措置を講じてきたが、本仕様に記述される技術の実装または使用に関連して主張され得る、いかなる知的財産権その他の権利の有効性または範囲についても立場を示さない。また、そのような権利に基づくライセンスが利用可能であるか否か、あるいはどの程度利用可能であるかについても立場を示さない。さらに、そのような権利を特定するために独自の努力を行ったことを表明するものでもない。OpenID Foundation および本仕様への貢献者は、本仕様に関して、商品性、非侵害、特定目的への適合性、または権原に関する黙示の保証を含む(ただしこれらに限定されない)いかなる保証(明示、黙示、その他を問わない)も行わず、ここに明示的に否認する。加えて、本仕様を実装することに伴う全てのリスクは実装者が負う。OpenID Intellectual Property Rights policy(openid.net に掲載)では、貢献者に対し、他の貢献者および実装者に対して特定の特許請求を主張しない旨の特許の約束を提供することを求めている。OpenID は、いかなる関係者に対しても、本仕様を実践するために必要となり得る技術をカバーし得る著作権、特許、特許出願、またはその他の専有的権利について、OpenID に通知するよう求める。
Appendix C. Document History
[[ 最終仕様から削除予定(To be removed from the final specification)]]
- -00
- 初期ドラフト
- -01
- aud_sub claim を追加
Authors' Addresses
Dick Hardt
Hellō\ Email: dick.hardt@gmail.com
Karl McGuinness
Independent\ Email: me@karlmcguinness.com