Claude-skill-registry custom-claims
カスタムクレーム(Custom Claims)機能の開発・修正を行う際に使用。claims: scopeマッピング、verified_claims: マッピング実装時に役立つ。
install
source · Clone the upstream repo
git clone https://github.com/majiayu000/claude-skill-registry
Claude Code · Install into ~/.claude/skills/
T=$(mktemp -d) && git clone --depth=1 https://github.com/majiayu000/claude-skill-registry "$T" && mkdir -p ~/.claude/skills && cp -r "$T/skills/data/custom-claims" ~/.claude/skills/majiayu000-claude-skill-registry-custom-claims && rm -rf "$T"
manifest:
skills/data/custom-claims/SKILL.mdsource content
カスタムクレーム(Custom Claims)開発ガイド
ドキュメント
- カスタムクレーム概念documentation/docs/content_03_concepts/04-tokens-claims/concept-03-custom-claims.md
- ID Token概念documentation/docs/content_03_concepts/04-tokens-claims/concept-01-id-token.md
機能概要
カスタムクレーム機能は、ID Tokenに任意の属性を含める層。
- カスタムクレームscopeマッピング:
構文claims:attribute_name - Verified claimマッピング:
構文(OIDC4IDA準拠)verified_claims:attribute_name
モジュール構成
libs/ └── idp-server-core/ # クレームコア └── .../oauth/ ├── response/ │ ├── AuthorizationResponseIdTokenCreator.java │ ├── AuthorizationResponseCodeIdTokenCreator.java │ └── AuthorizationResponseCodeTokenIdTokenCreator.java └── token/ └── (トークン生成関連クラス)
ID Token生成
idp-server-core/oauth/response/ 内:
ID Token生成は、response type別に複数のCreatorクラスが存在します:
| クラス | 用途 |
|---|---|
| Implicit FlowでのID Token生成 |
| Authorization Code Flowでのresponse ID Token生成 |
| Hybrid Flowでのresponse ID Token生成 |
カスタムクレームscopeマッピング
Scope構文
claims:attribute_name
カスタムクレームは、
claims: プレフィックスでscopeを指定することで、
ID Tokenに任意の属性を含めることができます。
Verified Claimマッピング(OIDC4IDA)
Scope構文
verified_claims:attribute_name
Verified Claimは、
verified_claims: プレフィックスでscopeを指定することで、
本人確認済みの属性をID Tokenに含めることができます。
前提条件: ユーザーが本人確認済み(
isIdentityVerified())であること
E2Eテスト
e2e/src/tests/ └── spec/ ├── oidc_core_2_id_token.test.js # ID Token仕様テスト └── oidc_core_2_id_token_extension.test.js
コマンド
# ビルド ./gradlew :libs:idp-server-core:compileJava # テスト cd e2e && npm test -- spec/oidc_core_2_id_token.test.js cd e2e && npm test -- spec/oidc_core_2_id_token_extension.test.js
トラブルシューティング
カスタムクレームがID Tokenに含まれない
- Scope形式が正しいか確認(
)claims:attribute_name - ユーザーの
に属性が存在するか確認custom_properties
Verified Claimが含まれない
- ユーザーが本人確認済みか確認(
)user.isIdentityVerified() - 認証方式が要件を満たすか確認