idp-server API (1.0.0)
Download OpenAPI specification:Download
OAuth 2.0 / OpenID Connect 1.0 に準拠したエンドポイント仕様
OpenID Connect Client Initiated Backchannel Authentication (CIBA) フローは、 リダイレクトやユーザーエージェントを介さずに認証を行う、非同期かつデバイス分離型 のOpenID Connect認証フローです。
ユーザーがRelying Party(RP)と操作する端末(Consumption Device)と、 認証や同意を行う端末(Authentication Device)を分離して設計されており、 RPがユーザーの識別子を既に知っている場合に、OPからアクセストークンやIDトークンを非同期で取得できます。
📘 仕様詳細(OpenID公式):
OpenID Connect Client Initiated Backchannel Authentication Core 1.0
バックチャンネル認証リクエスト
CIBA(Client-Initiated Backchannel Authentication)フローのバックチャンネル認証リクエストエンドポイント。 OpenID Connect Client-Initiated Backchannel Authentication Flow - Core 1.0 に準拠。
このエンドポイントはクライアント認証を必要とします。 以下のクライアント認証方式に対応しています(Client Authentication):
- client_secret_basic:AuthorizationヘッダにBasic認証形式で
client_id/client_secretを送信します(デフォルト)。 - client_secret_post:
client_idとclient_secretをフォームパラメータとしてリクエストボディに含めます。 - client_secret_jwt:client_secret を共通鍵として署名した JWT を
client_assertionとして送信します。 - private_key_jwt:登録済みの公開鍵に対応する秘密鍵で署名した JWT を
client_assertionとして送信します。 - tls_client_auth(mTLS):クライアント証明書を使って双方向TLS認証を行います。サーバーは証明書のサブジェクトなどでクライアントを識別します。
- self_signed_tls_client_auth(自己署名TLS): 自己署名のクライアント証明書を用いたTLS認証方式。証明書のフィンガープリントを事前登録することで認証が成立します。
JWT認証(client_secret_jwt / private_key_jwt)では、以下のクレームを含むJWTを生成し、次のパラメータを使用して送信してください:
client_assertion_type: urn:ietf:params:oauth:client-assertion-type:jwt-bearerclient_assertion: 署名済みJWT
path Parameters
| tenant-id required | string <uuid> Example: 67e7eae6-62b0-4500-9eff-87459f63fc66 テナント識別子(UUID形式) |
header Parameters
| Authorization | string Basic認証ヘッダー(client_secret_basic認証方式用)。
|
Request Body schema: application/x-www-form-urlencodedrequired
| client_id | string クライアントの識別子。クライアント認証方式が client_secret_basicの場合は省略可能。 | ||||||||||||||||||
| client_secret | string クライアントシークレット。クライアント認証方式が client_secret_postの場合は必須。 | ||||||||||||||||||
| scope required | string 必須。openid を含める必要がある。例:openid profile email | ||||||||||||||||||
| login_hint | string ユーザーを識別するヒント。IDやメールアドレスなど ※login_hintまたはid_token_hintの指定が必要 login_hintlogin_hint には複数の拡張形式をサポートし、柔軟なユーザー特定が可能です。
idp-provider のデフォルト値は | ||||||||||||||||||
| id_token_hint | string 過去の ID Token を用いたユーザー識別 ※login_hintまたはid_token_hintの指定が必要 | ||||||||||||||||||
| binding_message | string <= 20 characters ユーザー端末に表示される文言(最大20文字) | ||||||||||||||||||
| requested_expiry | integer auth_req_id の有効期限(秒) | ||||||||||||||||||
| request_context | string 認証時の追加情報 | ||||||||||||||||||
| acr_values | string 要求する認証強度(ACR値) | ||||||||||||||||||
| user_code | string ユーザー認証デバイスでの認証リクエスト送信を許可するためのコード。悪意のある認証リクエストからユーザーを保護するためのオプショナルパラメータ。 | ||||||||||||||||||
Array of objects (AuthorizationDetails) RFC 9396 で定義された authorization detail オブジェクトの配列。 各オブジェクトは特定のアクセス要求を表します。 また、typeに応じて拡張プロパティを含めることができます(e.g., 'geolocation', 'currency')。 |