LWS 1.0 認証スイート:OpenID Connect

W3C 作業草案

この文書についての詳細
このバージョン:
https://www.w3.org/TR/2026/WD-lws10-authn-openid-20260609/
最新公開バージョン:
https://www.w3.org/TR/lws10-authn-openid/
最新編集者草案:
https://w3c.github.io/lws-protocol/lws10-authn-openid/
履歴:
https://www.w3.org/standards/history/lws10-authn-openid/
コミット履歴
編集者:
Jesse Wright (オックスフォード大学)
著者:
Aaron Coburn (Inrupt Inc.)
フィードバック:
GitHub w3c/lws-protocol (プルリクエスト, 新しい Issue, 未解決の Issue)

概要

この文書は、Linked Web Storage (LWS) プロトコルのための OpenID Connect ベースの認証スイートを定義し、LWS アプリケーションが OpenID プロバイダーと統合できるようにします。

この文書のステータス

このセクションでは、この文書の公開時点におけるステータスを説明します。現在の W3C 公開物の一覧と、この技術報告書の最新版は W3C 標準および草案 インデックスで確認できます。

これは非公式の提案です。

この文書は、Linked Web Storage Working Group により、 勧告 トラックを用いて作業草案として公開されました。

作業草案としての公開は、 W3C およびそのメンバーによる承認を 意味するものではありません。

これは草案文書であり、いつでも他の文書によって更新、置換、または廃止される可能性があります。この文書を 作業中の文書以外のものとして引用することは適切ではありません。

この文書は、 W3C 特許 ポリシーの下で運営されるグループによって作成されました。 W3C は、 このグループの成果物に関連して行われた 特許開示の公開リストを管理しています。 そのページには、特許を開示するための 手順も含まれています。ある個人が、当該個人の考えるところでは 必須クレームを含む 特許について実際の知識を有する場合、その個人は W3C 特許ポリシーのセクション 6に従って その情報を開示しなければなりません。

この文書は、 2025年8月18日版 W3C プロセス文書に準拠します。

1. はじめに

OpenID Connect は、Web ベースの認証に広く使用されている仕組みです。この認証スイートは、 OpenID プロバイダーを Linked Web Storage 準拠アプリケーションでどのように使用できるかを説明します。

2. 適合性

非規範的と明記されたセクションに加えて、この仕様に含まれるすべての作成ガイドライン、図、例、および注記は 非規範的です。この仕様に含まれるそれ以外のすべては規範的です。

この文書におけるキーワード MUSTMUST NOT、および SHOULD は、 ここに示すようにすべて大文字で出現する場合に限り、 BCP 14 [RFC2119] [RFC8174] に記述されているとおりに解釈されます。

3. 用語

「authorization server」および「client」という用語は、The OAuth 2.0 Authorization Framework [RFC6749] によって定義されます。

「OpenID provider」、「id token」、「end-user」、および「issuer」という用語は、OpenID Connect Core 1.0 [OPENID-CONNECT-CORE] によって定義されます。

「openid connect discovery」という用語は、OpenID Connect Discovery 1.0 [OPENID-CONNECT-DISCOVERY] によって定義されます。

「controlled identifier document」という用語は、W3C Controlled Identifiers 1.0 [CID-1.0] によって定義されます。

「JSON Web Token (JWT)」および「claim」という用語は、JSON Web Token [RFC7519] によって定義されます。

「JSON Web Key (JWK)」という用語は、JSON Web Key [RFC7517] によって定義されます。

agent」、「authentication credential」、および「authentication suite」という用語は、Linked Web Storage Protocol [LWS10-CORE] によって定義されます。

4. 認証クレデンシャルの シリアル化

OpenID Connect は、エンドユーザーを記述するために使用される署名付き ID Token を生成するプロトコルを定義します。 ID Token は、署名付き JSON Web Token (JWT) としてシリアル化されます。ID Token を LWS の authentication credential として使用するには、次の追加要件が適用されます。

LWS の authentication credential でもある ID Token の例を以下に示します。

{
  "typ": "JWT",
  "kid": "12dbe73a",
  "kty": "EC",
  "alg": "ES256",
  "crv": "P-256"
}
.
{
  "sub": "https://id.example/end-user",
  "iss": "https://openid.example",
  "azp": "https://client.example/17da1b",
  "aud": ["https://client.example/17da1b", "https://as.example"],
  "iat": 1761313600,
  "exp": 1761313900
}
.
signature

5. 認証クレデンシャルの 検証

ID Token が LWS の authentication credential として検証されるためには、検証者と発行者の間に信頼関係が存在しなければなりません。

既存の信頼関係がない場合、検証者は authentication credential 内の sub (subject) クレームを逆参照しなければなりません。 その結果得られるリソースは、サブジェクト識別子と等しい id 値を持つ、 有効な controlled identifier document [CID-1.0] として整形されていなければ なりません

検証者は、サブジェクトの controlled identifier document を使用して、 serviceEndpoint 値が authentication credentialiss クレームの値に等しく、かつ type 値が https://www.w3.org/ns/lws#OpenIdProvider に等しい service オブジェクトを見つけなければ なりません。 検証者は、authentication credential に署名するために使用された JSON Web Key (JWK) の公開部分を特定するため、 OpenID Connect Discovery を実行しなければなりません。 JWT は、OpenID Connect Core Section 3.1.3.7 [OPENID-CONNECT-CORE] に記述されているとおりに検証されなければなりません

OpenID Connect を使用する agent の Controlled Identifier Document の例を以下に示します。

{
    "@context": [
        "https://www.w3.org/ns/cid/v1"
    ],
    "id": "https://id.example/end-user",
    "service": [{
        "type": "https://www.w3.org/ns/lws#OpenIdProvider",
        "serviceEndpoint": "https://openid.example"
    }]
}

6. トークンタイプ識別子

authentication credential として使用される ID Token は、 認可サーバーとやり取りする際に、urn:ietf:params:oauth:token-type:id_token URI を使用しなければ なりません

7. セキュリティの考慮事項

このセクションは非規範的です。

「Best Current Practice for OAuth 2.0 Security」[RFC9700] および「OpenID Connect Core 1.0」Section 16 [OPENID-CONNECT-CORE] に記述されている すべてのセキュリティ考慮事項が、この仕様に適用されます。

OpenID プロバイダーは、authentication credential の オーディエンスを、認可サーバーを含む限定されたエンティティ集合に制限する仕組みをサポートすべきです。 これを実現する一つの仕組みは、Resource Indicators for OAuth 2.0 [RFC8707] を使用することです。 オーディエンス制限のない authentication credential を保持するクライアントは、たとえば OAuth 2.0 Token Exchange [RFC8693] を使用して、 このトークンを同等のオーディエンス制限付きトークンと交換すべきです。

OpenID プロバイダーは、OAuth フローの認可レスポンスに iss パラメーターを含めることにより、 「OAuth 2.0 Authorization Server Issuer Identification」 [RFC9207] のサポートを提供すべきです。

OpenID プロバイダーは、RP-Initiated Logout 1.0 など、エンドユーザーのログアウトをサポートすべきです。

authentication credential の発行者は、 クライアント識別子を検証する責任を負います。 発行者は、OAuth Client ID Metadata Document、OAuth 2.0 Client ID Prefix、 または OpenID Federation などの仕組みを使用してもよいです。

OpenID プロバイダーは、ユーザーを認証する仕組みとして WebAuthn [WEBAUTHN-3] をサポートすることが推奨されます。

8. プライバシーの考慮事項

このセクションは非規範的です。

Issue 119: 認証スイートにプライバシーの考慮事項 セクションを追加する

このセクションは完成させる必要があります。

A. 参考文献

A.1 規範的参考文献

[CID-1.0]
Controlled Identifiers v1.0. Michael Jones; Manu Sporny. W3C. 2025年5月15日. W3C 勧告. URL: https://www.w3.org/TR/cid-1.0/
[LWS10-CORE]
Linked Web Storage Protocol 1.0. W3C. FPWD. URL: https://www.w3.org/TR/lws10-core/
[OPENID-CONNECT-CORE]
OpenID Connect Core 1.0 incorporating errata set 2. N. Sakimura; J. Bradley; M. Jones; B. de Medeiros; C. Mortimore. OpenID Foundation. 2023年12月15日. 最終版. URL: https://openid.net/specs/openid-connect-core-1_0.html
[OPENID-CONNECT-DISCOVERY]
OpenID Connect Discovery 1.0 incorporating errata set 2. N. Sakimura; J. Bradley; M. Jones; E. Jay. OpenID Foundation. 2023年12月15日. 最終版. URL: https://openid.net/specs/openid-connect-discovery-1_0.html
[RFC2119]
Key words for use in RFCs to Indicate Requirement Levels. S. Bradner. IETF. 1997年3月. Best Current Practice. URL: https://www.rfc-editor.org/rfc/rfc2119
[RFC6749]
The OAuth 2.0 Authorization Framework. D. Hardt, Ed. IETF. 2012年10月. Proposed Standard. URL: https://www.rfc-editor.org/rfc/rfc6749
[RFC7517]
JSON Web Key (JWK). M. Jones. IETF. 2015年5月. Proposed Standard. URL: https://www.rfc-editor.org/rfc/rfc7517
[RFC7519]
JSON Web Token (JWT). M. Jones; J. Bradley; N. Sakimura. IETF. 2015年5月. Proposed Standard. URL: https://www.rfc-editor.org/rfc/rfc7519
[RFC8174]
Ambiguity of Uppercase vs Lowercase in RFC 2119 Key Words. B. Leiba. IETF. 2017年5月. Best Current Practice. URL: https://www.rfc-editor.org/rfc/rfc8174

A.2 参考情報文献

[RFC8693]
OAuth 2.0 Token Exchange. M. Jones; A. Nadalin; B. Campbell, Ed.; J. Bradley; C. Mortimore. IETF. 2020年1月. Proposed Standard. URL: https://www.rfc-editor.org/rfc/rfc8693
[RFC8707]
Resource Indicators for OAuth 2.0. B. Campbell; J. Bradley; H. Tschofenig. IETF. 2020年2月. Proposed Standard. URL: https://www.rfc-editor.org/rfc/rfc8707
[RFC9207]
OAuth 2.0 Authorization Server Issuer Identification. K. Meyer zu Selhausen; D. Fett. IETF. 2022年3月. Proposed Standard. URL: https://www.rfc-editor.org/rfc/rfc9207
[RFC9700]
Best Current Practice for OAuth 2.0 Security. T. Lodderstedt; J. Bradley; A. Labunets; D. Fett. IETF. 2025年1月. Best Current Practice. URL: https://www.rfc-editor.org/rfc/rfc9700
[WEBAUTHN-3]
Web Authentication: An API for accessing Public Key Credentials - Level 3. Akshay Kumar; Emil Lundberg; Tim Cappalli; Nina Satragno; Matthew Miller; ㅤ Pascoe. W3C. 2026年5月26日. W3C 候補勧告. URL: https://www.w3.org/TR/webauthn-3/