xID Lite API Doc
ガイド
API仕様よくある質問リリースノート
ガイド
API仕様よくある質問リリースノート
  1. APIの利用を開始する
  • xID Lite for Developersへようこそ
  • APIの利用を開始する
    • クライアント統合要件: Private Key JWT
    • 認可クライアントを取得する
    • 検証環境を利用する
    • アクセストークンを取得する
  1. APIの利用を開始する

クライアント統合要件: Private Key JWT

概要#

クライアント認証方式としてプライベートキーJWT (Private Key JWT) (private_key_jwt) を用いたOAuth 2.0 クライアントクレデンシャルフローを使用します。
これは以下のことを意味します:
バックエンドは、クライアントシークレットではなく、署名されたJWTアサーションによる認証を行うことで、短期間有効なアクセストークンを取得します。
取得したアクセストークンは、すべてのAPI呼び出しにおいてBearerトークンとして使用されます。
プライベートキー(秘密鍵)がインフラストラクチャの外部に出ることは決してありません — xIDが必要とするのはパブリックキー(公開鍵)のみです。

非対称キーペアの生成#

非対称キーペアが必要です。サポートされているアルゴリズムは以下の通りです:
アルゴリズムキータイプ推奨
RS256RSA 2048-bit✓ (広くサポートされている)
RS384RSA 2048-bit✓
RS512RSA 4096-bit✓
ES256EC P-256✓ (より小さく、高速)
ES384EC P-384✓
ES512EC P-521✓

RSAキーの生成 (例)#

ECキーの生成 (例)#

プライベートキーは安全に保管してください。 シークレットマネージャー(AWS Secrets Manager, HashiCorp Vault, GCP Secret Managerなど)を使用してください。プライベートキーをソース管理(バージョン管理)にコミットしてはいけません。

JWKセットのホスティング (JWKSエンドポイント)#

JWKセット形式でパブリックキーを返す、一般公開されたHTTPSエンドポイントをホストする必要があります。

要件#

要件詳細
プロトコルHTTPSのみ — HTTPは受け付けられません
TLS証明書信頼されたCAからの有効な証明書 (自己署名は受け付けられません)
可用性24時間365日利用可能であること。xID Liteはキーをキャッシュしますが、kidの不一致時には再取得します。ダウンタイムは認証エラーを引き起こす可能性があります。
Content-Typeapplication/json
パス推奨: /.well-known/jwks.json (一般的ですが、任意のHTTPSパスが受け付けられます)
キーID (kid)各キーは、JWTアサーションヘッダーのkidと一致する一意のkidフィールドを持つ必要があります

JWKセットの形式#

{
  "keys": [
    {
      "kty": "RSA",
      "use": "sig",
      "alg": "RS256",
      "kid": "my-key-2026-03",
      "n": "0vx7agoebGcQSuuPiLJXZptN9nndrQmbXEps2aiAFbWhM...",
      "e": "AQAB"
    }
  ]
}
ECキーの場合:
{
  "keys": [
    {
      "kty": "EC",
      "use": "sig",
      "alg": "ES256",
      "kid": "my-ec-key-2026-03",
      "crv": "P-256",
      "x": "f83OJ3D2xF1Bg8vub9tLe1gHMzV76e8Tus9uPHvRVEU",
      "y": "x_FEzRu9m36HLN_tue659LNpXW6pCyStikYjKIWI5a0"
    }
  ]
}

JWKパラメータの仕様#

共通パラメータ (すべてのキータイプ)#

パラメータ必須許可される値最大長文字セット備考
kty✓"RSA" または "EC"3ASCII英字完全一致する文字列、大文字と小文字を区別します
use✓"sig"3ASCII英字"sig" (署名) である必要があります。"enc" は受け付けられません
alg✓"RS256", "RS384", "RS512", "ES256", "ES384", "ES512"5ASCII英数字クライアントに登録されたアルゴリズムと一致する必要があります
kid✓任意の一意な文字列255英数字, -, _, .JWKセット内で一意である必要があります。JWTアサーションヘッダーのkidと一致する必要があります。スペースや特殊文字は推奨されません。

RSA固有のパラメータ#

パラメータ必須形式長さ (文字)文字セット
n✓Base64URLエンコードされたモジュラス (パディングなし)342–343 (2048-bit) / 683–684 (4096-bit)A-Z, a-z, 0-9, -, _ (Base64URL; +, /, = は不可)
e✓Base64URLエンコードされた公開指数4 (65537の場合は "AQAB")A-Z, a-z, 0-9, -, _
注意: ホストされるJWKには d, p, q, dp, dq, qi (プライベートキーのコンポーネント) を含めないでください。パブリックキーのパラメータのみが必要です。

EC固有のパラメータ#

パラメータ必須許可される値長さ (文字)文字セット
crv✓"P-256", "P-384", "P-521"5–7ASCII英数字 および -
x✓Base64URLエンコードされたx座標 (パディングなし)43 (P-256) / 64 (P-384) / 88 (P-521)A-Z, a-z, 0-9, -, _ (Base64URL; +, /, = は不可)
y✓Base64URLエンコードされたy座標 (パディングなし)43 (P-256) / 64 (P-384) / 88 (P-521)A-Z, a-z, 0-9, -, _
注意: ホストされるJWKには d (プライベートキーのスカラ値) を含めないでください。

キーのローテーション#

キーをローテーションする場合:
1.
新しいキーを古いキーと一緒にJWKセットに追加します — まだ古いキーを削除しないでください。
2.
新しいキーを使用して新しいJWTアサーションの署名を開始します(アサーションヘッダーのkidを更新します)。
3.
新しいトークンが機能していることを確認した後(キャッシュされた古いトークンが期限切れになるまで少なくとも1時間待機してください)、JWKセットから古いキーを削除します。

参考: RFCおよび仕様へのリンク#

RFC 7523 — JWT for OAuth Client Authentication
RFC 7517 — JSON Web Key (JWK)
RFC 7518 — JSON Web Algorithms (JWA)
RFC 6749 — OAuth 2.0 (Client Credentials Grant)
更新日時 2026-08-18 02:47:15
前へ
APIの利用を開始する
次へ
認可クライアントを取得する
Built with