Trust Idiom® 導入における FAPI-CIBA APIドキュメント (1.0.1)

Download OpenAPI specification:Download

Trust Idiom® 導入における FAPI-CIBA トークン取得 及び アクセストークン検証のためのAPIドキュメントです。

Metadata

OpenIDプロバイダーのメタデータを取得するエンドポイント

OpenIDプロバイダーのメタデータの取得

OpenIDプロバイダーのメタデータを取得する ※詳細はこちらを参照 https://openid.net/specs/openid-connect-discovery-1_0.html

path Parameters
tenant-id
required
string

Trust Idiomと連携するサービス(アプリケーション)を提供する事業者毎に割り振られたID。

Responses

Response samples

Content type
application/json
{
  • "issuer": "string",
  • "authorization_endpoint": "string",
  • "token_endpoint": "string",
  • "userinfo_endpoint": "string",
  • "jwks_uri": "string",
  • "registration_endpoint": "string",
  • "scopes_supported": [
    ],
  • "response_types_supported": [
    ],
  • "response_modes_supported": [
    ],
  • "grant_types_supported": [
    ],
  • "acr_values_supported": [
    ],
  • "subject_types_supported": [
    ],
  • "id_token_signing_alg_values_supported": [
    ],
  • "id_token_encryption_alg_values_supported": [
    ],
  • "id_token_encryption_enc_values_supported": [
    ],
  • "userinfo_signing_alg_values_supported": [
    ],
  • "userinfo_encryption_alg_values_supported": [
    ],
  • "userinfo_encryption_enc_values_supported": [
    ],
  • "request_object_signing_alg_values_supported": [
    ],
  • "request_object_encryption_alg_values_supported": [
    ],
  • "request_object_encryption_enc_values_supported": [
    ],
  • "token_endpoint_auth_methods_supported": [
    ],
  • "token_endpoint_auth_signing_alg_values_supported": [
    ],
  • "display_values_supported": [
    ],
  • "claim_types_supported": [
    ],
  • "claims_supported": [
    ],
  • "service_documentation": "string",
  • "claims_locales_supported": [
    ],
  • "ui_locales_supported": [
    ],
  • "claims_parameter_supported": true,
  • "request_parameter_supported": true,
  • "request_uri_parameter_supported": true,
  • "require_request_uri_registration": true,
  • "op_policy_uri": "string",
  • "op_tos_uri": "string",
  • "authorization_signing_alg_values_supported": [
    ],
  • "authorization_encryption_alg_values_supported": [
    ],
  • "authorization_encryption_enc_values_supported": [
    ],
  • "revocation_endpoint": "string",
  • "revocation_endpoint_auth_methods_supported": "string",
  • "revocation_endpoint_auth_signing_alg_values_supported": [
    ],
  • "introspection_endpoint": "string",
  • "introspection_endpoint_auth_methods_supported": [
    ],
  • "introspection_endpoint_auth_signing_alg_values_supported": [
    ],
  • "code_challenge_methods_supported": [
    ],
  • "tls_client_certificate_bound_access_tokens": [
    ],
  • "backchannel_token_delivery_modes_supported": [
    ],
  • "backchannel_authentication_endpoint": "string",
  • "backchannel_authentication_request_signing_alg_values_supported": [
    ],
  • "backchannel_user_code_parameter_supported": true,
  • "require_pushed_authorization_requests": true,
  • "authorization_details_supported": true,
  • "authorization_data_types_supported": [
    ],
  • "verified_claims_supported": [
    ],
  • "dpop_signing_alg_values_supported": [
    ],
  • "require_signed_request_object": true,
  • "authorization_response_iss_parameter_supported": true
}

FAPI-CIBA

Financial-grade API: Client Initiated Backchannel Authentication Profileのエンドポイント

FAPI-CIBA バックチャネル認証リクエスト

FAPI-CIBA (Financial-grade API: Client Initiated Backchannel Authentication Profile) に準拠したバックチャネル認証エンドポイントです。
TrustIDサービス認可サーバーは、FAPI-CIBAフローにおいてPoll Modeのみを許容しています。

トークン取得までのステップ:
(1) バックチャネル認証リクエスト (/{tenant-id}/v2/backchanel/authentications)

  • クライアントからのリクエストに対し、レスポンスを返すと同時に、対象のTrustIDユーザに対して自身の認証とクライアントへの認可判断を要求します。

(2) トークンリクエスト (/v2/authorization/token)

  • (1)で取得した間隔 (interval) で繰り返し送信します。
  • リクエスト間隔が短い場合は、ステータスコード400と "slow_down" メッセージが返却されます。
  • TrustIDユーザがクライアントの認可判断を行っていない場合は、ステータスコード400と "authorization_pending" メッセージが返却されます。

(3) トークン取得 (認可後)

  • TrustIDユーザがクライアントを認可した場合、その後のトークンリクエストにより、アクセス/リフレッシュ/IDトークンを取得できます。

(4) トークン取得失敗 (拒否)

  • TrustIDユーザがクライアントを拒否した場合、その後のトークンリクエストにてステータスコード400と "access_denied" メッセージが返却されます。

したがって、バックチャネル認証リクエストは、FAPI-CIBAを用いたトークン取得の最初のステップとなります。

クライアント認証:
クライアント - TrustIDサービス認可サーバー間の通信にはMutual TLSを利用します。
TrustIDサービス認可サーバーは、Mutual TLSで用いられたクライアント証明書を用いてクライアントを認証します。

JWT (JSON Web Token) について:
JWTは、2者間で情報を安全にやり取りするためのデータ構造標準です。
署名付きJWT (JWS) と暗号化されたJWT (JWE) の2種類がありますが、FAPI-CIBA標準ではJWSが要求されます(以降、特に断りがない限り、JWTはJWSを指します)。

JWTの構造:

BASE64URL(UTF8(JOSE Header)) + "." +
BASE64URL(JWT Claims) + "." +
BASE64URL(Signature)

JWT作成の具体的な実装方法については、各言語の関連ライブラリ (参考: https://jwt.io/#libraries-io) を参照してください。

JOSE Header:
JOSE HeaderはJSON形式で、JWTに適用された暗号化オペレーションに関する情報を含みます。 本リクエストでは、以下の情報が必須です。

{
  "alg": "利用した署名方式 (例: ES256)"
}

「alg」パラメータには利用した署名方式を指定する必要があります。FAPI-CIBAでは、「ES256」または「PS256」のみが許容されます。

JWT Claims:
JWT Claimsには、相手方に送信したい情報がJSON形式で含まれます。
本リクエストでは、FAPI-CIBAおよびJAR (JWT-Secured Authorization Request) に従い、以下の情報が要求されます。 (参考: https://openid.net/specs/openid-client-initiated-backchannel-authentication-core-1_0.html#signed_auth_request)

パラメータ名 概要 入れるべき値
login_hint TrustIDユーザを識別するヒントとなる値 ※どちらか必須 電話番号
lid_token_hint TrustIDユーザを識別するヒントとなるIDトークン ※どちらか必須 IDトークン
scope スペース区切りの、本認可フローで求めたい全スコープ(FAPI-CIBA標準により、「openid」は必須) OpenID Connect定義のスコープ。Trust Idiomでは「email」「phone」スコープの要求をすることができます。
(参考:https://openid.net/specs/openid-connect-core-1_0.html#ScopeClaims)
binding_message TrustIDユーザがTrustIDアプリで認証する際に、どこから認証/認可を要求されているか確認するための文字列。テナント側アプリおよびTrustIDアプリで表示して一致検証に利用する。 任意の文字列(ユーザが判別しやすいものが良い)e.g. 604921
user_code ユーザーのみに知られている、認可サーバー側で検証可能な秘密コード(パスワード、PIN番号を含む) パスワード
aud Issuer Identifier(トークン発行者) 開発:https://api.stg.trustid.sbi-fc.com/trustid-core/{tenant-id}
本番:https://api.trustid.sbi-fc.com/trustid-core/{tenant-id}
exp 有効期限終了時刻 発行時刻+60分
iat 発行時刻 発行時刻
iss OAuth Client(トークン利用者) client_id
jti JWTトークン識別子 UUID含む任意のJWTトークン識別子
nbf 有効期限開始時刻 発行時刻と同じ
authorization_details OAuth 2.0 Rich Authorization Requests(RAR)に基づく、認可リクエストの詳細情報 ``` [ { "type": "transaction", "api_path": "/xxx/v1/transfer/sendMoney", "validations": { "fido_confirm_form":true, "introspection_check":true }, “oneshot_token”: true, "contents": { "receiverBankCode": "振込先・金融機関コード", "receiverBranchCode": "振込先・支店コード", "receiverAccountType": "振込先・預金種目コード", "receiverAccountNumber": "振込先・口座番号", "transferAmount": "取引金額" } } ] ```

トランザクション認証:
authorization_details でトランザクション認証を指定する場合、各項目の内容は以下のとおりです。
トークン検証(Introspection)のレスポンススキーマ説明も合わせて参照してください。

パラメータ名 説明
type transaction(固定) リソースの種類としてトランザクション認証を指定
api_path /xxx/v1/transfer/sendMoney トランザクション認証対象のAPI
validations
fido_confirm_form true:必要、false:不要 トランザクション用のFIDO認証画面の要否
introspection_check true:必要、false:不要 Introspection時にContentsの照合の要否
oneshot_token true:必要、false:不要 利用回数が1回限りのアクセストークン
contents ``` { "receiverBankCode": "振込先・金融機関コード", "receiverBranchCode": "振込先・支店コード", "receiverAccountType": "振込先・預金種目コード", "receiverAccountNumber": "振込先・口座番号", "transferAmount": "取引金額" } ``` api_pathで指定したAPI実行時のリクエストパラメータと照合したいパラメータを列挙する。fido_confirm_formがtrueの場合は必須となる。
※200文字以内の制限あり(FIDO UAF仕様)

Signature:
JWT Claimsに記載した情報のintegrityを確保するために必要な署名です。
JWT標準では、以下のように署名することが求められます。

ECDSA( 
  SHA-256(
    BASE64URL(UTF8(Jose Header)) + "." +
    BASE64URL(JWT Claims)
  )
)

*上記は、署名方式がES256であった場合です。署名の際にはPrivate Keyを使用する必要があることに注意してください。

path Parameters
tenant-id
required
string

Trust Idiomと連携するサービス(アプリケーション)を提供する事業者毎に割り振られたID。

Request Body schema: application/x-www-form-urlencoded
request
required
string

リクエストオブジェクト。FAPI-CIBA標準で求められる、JWT形式(JWS Compact Serialization)で、バックチャネル認証リクエスト情報および署名情報を含めたもの。

client_id
required
string

クライアントの識別子

Responses

Response samples

Content type
application/json
{
  • "auth_req_id": "gwHSu6EOjpsYtH3pKgUdQzMIjkql6KYpCAsUFZR9Gl0",
  • "interval": 10,
  • "expires_in": 600
}

Token

アクセス/リフレッシュ/IDトークンを取得/検証する際のエンドポイント

トークンリクエスト

アクセス/リフレッシュ/IDトークンを、認可フローに応じて取得するためのリクエストです。
本ドキュメントでは、FAPI-CIBAの認可フローにおけるリクエストに限定して説明します。

概要:
このエンドポイントは、FAPI-CIBAフローのバックチャネル認証リクエスト (/{tenant-id}/v2/backchanel/authentications) の後に、トークンを取得するために使用されます。

Mutual TLSによるクライアント認証:
クライアント - TrustIDサービス認可サーバー間の通信にはMutual TLSが必須です。
TrustIDサービス認可サーバーは、Mutual TLSで用いられたクライアント証明書を検証し、正当なクライアントに対してのみアクセストークンを発行することを保証します。

FAPI-CIBAにおけるトークンリクエストのポイント:

  • バックチャネル認証リクエストのレスポンスで返却される interval パラメータに従い、ポーリングを行います。
  • トークン取得が成功するまで、またはエラーが発生するまでリクエストを繰り返します。
  • リクエスト頻度が高すぎる場合は、ステータスコード400と "slow_down" メッセージが返却されます。
  • TrustIDユーザが認可判断を行っていない場合は、ステータスコード400と "authorization_pending" メッセージが返却されます。
  • TrustIDユーザがリクエストを拒否した場合は、ステータスコード400と "access_denied" メッセージが返却されます。
  • 認可が成功した場合、アクセス/リフレッシュ/IDトークンがレスポンスとして返却されます。
path Parameters
tenant-id
required
string

Trust Idiomと連携するサービス(アプリケーション)を提供する事業者毎に割り振られたID。

Request Body schema: application/x-www-form-urlencoded
grant_type
required
string

認可フローの種別。FAPI-CIBAの場合には「urn:openid:params:grant-type:ciba」でなければならない。なお、リフレッシュトークンを用いてアクセストークン発行する際には、「refresh_token」を指定する。

auth_req_id
string

クライアントの一連の認証認可リクエストに係る識別子。バックチャネル認証リクエストで取得できる。なお、リフレッシュトークンを用いてアクセストークン発行する際には必要ない。

client_id
required
string

クライアントの識別子

refresh_token
string

リフレッシュトークン。リフレッシュトークンを用いてアクセストークン発行する際に必要となる。

Responses

Response samples

Content type
application/json
{
  • "access_token": "W04RiPBuTJB6cQ-MppuVOKWAEezwU6jMx2-Q7ouSiBz",
  • "refresh_token": "_zfwGRZ9cQhSm-qLGWAF4JHnk0i_Y7CNHHxf8poUtAX",
  • "scope": "openid",
  • "id_token": "eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9.eyJzdWIiOiIxMjM0NTY3ODkwIiwibmFtZSI6IkpvaG4gRG9lIiwiaWF0IjoxNTE2MjM5MDIyfQ.SflKxwRJSMeKKF2QT4fwpMeJf36POk6yJV_adQssw5c",
  • "token_type": "Bearer",
  • "expires_in": 86400
}

トークン検証

発行済みのアクセス/リフレッシュトークンの有効性やメタデータを検証するためのエンドポイントです。

概要:
このエンドポイントを利用することで、クライアントやリソースサーバーは、提示されたトークンが有効であるか、失効しているか、どのようなスコープが付与されているかなどの情報を確認できます。

Mutual TLSとクライアント証明書のバインディング:
クライアント証明書をバインディングしたアクセストークンを利用している場合、クライアント - リソースサーバー間の通信にはMutual TLSの使用を推奨します。
TrustIDサービス認可サーバーは、トークン発行時にMutual TLSで用いられたクライアント証明書とトークンを関連付けることで、トークンが意図されたクライアントに発行されたものであることを保証します。
リソースサーバーは、Mutual TLSを利用することで、トークン提示元のクライアントをより強固に認証できます。

検証の目的:

  • アクセストークンの有効性確認: APIリクエストの認可を行う前に、提示されたアクセストークンが有効期限内であるか、失効していないかを確認します。
  • リフレッシュトークンの有効性確認: 新しいアクセストークンを取得する前に、提示されたリフレッシュトークンが有効であるかを確認します。
  • トークン情報の取得: トークンに紐づけられたスコープ、有効期限、発行日時、トークンタイプなどの情報を取得し、認可判断に利用します。

注意点:

  • トークン検証リクエストの際には、検証したいトークンを適切なパラメータ(通常は token パラメータ)に含めて送信する必要があります。
  • レスポンスとして、トークンの有効性(active 属性)や関連するクレーム情報が返却されます。
path Parameters
tenant-id
required
string

Trust Idiomと連携するサービス(アプリケーション)を提供する事業者毎に割り振られたID。

Request Body schema: application/x-www-form-urlencoded
token
required
string

検証したいトークン

scopes
string

tokenが持つべきscopeも検証したい場合に追加する。

client_certificate
string

FAPIにおいてアクセストークンとクライアント証明書の紐付けを検証するために追加するPEM形式のクライアント証明書。クライアントとリソースサーバ間のMTLSから取得する。

Responses

Response samples

Content type
application/json
{
  • "exp": 1513679256,
  • "sub": "TrustID識別子",
  • "scope": "account account_activity",
  • "iss": "[開発]https://api.stg.trustid.sbi-fc.com/trustid-core/{tenant-id} [本番]https://api.trustid.sbi-fc.com/trustid-core/{tenant-id}",
  • "aud": "resource server URL",
  • "active": true,
  • "token_type": "Bearer",
  • "client_id": "57297408867",
  • "properties": [
    ],
  • "authorization_details": [
    ]
}

トークン取り消し

発行済みのアクセス/リフレッシュトークンを取り消し、無効化するためのエンドポイントです。

概要:
このエンドポイントを利用することで、クライアントは自身の持つアクセストークンやリフレッシュトークンを意図的に無効化できます。これにより、悪意のある第三者による不正利用のリスクを低減できます。

クライアント認証:
トークン取消リクエストを行う際には、クライアント認証が必須となります。これは、不正なクライアントによる誤ったトークン取消を防ぐための重要なセキュリティ対策です。

Mutual TLS (mTLS) の要件:
クライアント証明書をバインディングしたアクセストークンを利用している場合、トークン取消リクエストの通信にはMutual TLS (mTLS) を使用する必要があります。これは、トークンとクライアント証明書の紐付けを検証し、正当なクライアントからのリクエストであることを保証するためです。

取り消しの対象となるトークン:

  • アクセストークン: 現在有効なアクセストークンを取り消し、それ以降のAPIリクエストでの利用を不可能にします。
  • リフレッシュトークン: リフレッシュトークンを取り消し、それ以降の新しいアクセストークンの発行を不可能にします。

リクエストの必要条件:

  • 取り消したいトークンを、リクエストボディの適切なパラメータ(通常は token パラメータ)に含める必要があります。
  • クライアント認証情報(例えば、クライアントIDとシークレット、またはmTLSのクライアント証明書)を適切に提示する必要があります。

成功時のレスポンス:
トークンが正常に取り消された場合、通常はステータスコード 200 (OK) の空のレスポンスが返却されます。

失敗時のレスポンス:
トークンの取り消しに失敗した場合(例:クライアント認証の失敗、無効なトークンの指定)、適切なエラーレスポンスとステータスコードが返却されます。

path Parameters
tenant-id
required
string

Trust Idiomと連携するサービス(アプリケーション)を提供する事業者毎に割り振られたID。

header Parameters
Authorization
string

Basic認証 クライアントシークレットBasic

Request Body schema: application/x-www-form-urlencoded
token
required
string

取り消したいトークン

Responses

Response samples

Content type
application/json
{
  • "error": "invalid_request",
  • "error_description": "[結果コード]及び説明文章"
}

UserInfo

ユーザ情報を取得する際のエンドポイント

ユーザ情報リクエスト

認可されたユーザの情報を取得するためのエンドポイントです。

概要:
このエンドポイントは、有効なアクセストークンを提示したクライアントに対して、そのトークンに関連付けられたユーザの情報を返却します。取得できるユーザ情報の種類は、アクセストークンに付与されたスコープによって異なります。

Mutual TLS (mTLS) の要件:
クライアント - TrustIDサービス認可サーバー間の通信にはMutual TLS (mTLS) の使用を推奨します。
TrustIDサービス認可サーバーは、mTLSで用いられたクライアント証明書を確認することで、提示されたアクセストークンが正当なクライアントに発行されたものであることを検証し、より安全な情報提供を実現します。

情報取得の仕組み:

  1. クライアントは、認可フローで取得した有効なアクセストークンを、AuthorizationヘッダーにBearerトークンとして含めてリクエストを送信します。
  2. TrustIDサービス認可サーバーは、受信したアクセストークンの有効性を検証します。
  3. アクセストークンが有効であり、提示されたクライアントが正当であることが確認された場合、トークンに関連付けられたユーザ情報をレスポンスボディ(通常はJSON形式)で返却します。

取得できるユーザ情報 (スコープに依存):

  • openid スコープ: ユーザのサブジェクト識別子(通常は必須で返却されます)。
  • email スコープ: ユーザのメールアドレス。
  • phone スコープ: ユーザの電話番号。
  • その他のカスタムスコープ: TrustIDサービスがサポートする追加のユーザ属性。

リクエストの要件:

  • 有効なアクセストークンをAuthorizationヘッダーにBearerトークンとして含める必要があります。
  • mTLSを使用する場合は、適切なクライアント証明書を設定する必要があります。

レスポンス:
成功した場合、ステータスコード 200 (OK) とともに、要求されたユーザ情報を含むJSONレスポンスボディが返却されます。
失敗した場合(例:無効なアクセストークン、クライアント認証の失敗)、適切なエラーレスポンスとステータスコードが返却されます。

path Parameters
tenant-id
required
string

Trust Idiomと連携するサービス(アプリケーション)を提供する事業者毎に割り振られたID。

header Parameters
Authorization
required
string

トークンリクエストで取得したアクセストークン

Responses

Response samples

Content type
application/json
{
  • "sub": "79fe520f682dab03c481133ec24b1f0fe309cf264932fc0d722c1fb21207d77e",
  • "authentication_device": [
    ],
  • "email": "xxx.xxx@sbisecsol.com",
  • "email_verified": false,
  • "phone_number": "+8100000000",
  • "phone_number_verified": true
}

ユーザ情報リクエスト

認可されたユーザの情報を取得するためのエンドポイントです。

概要:
このエンドポイントは、有効なアクセストークンを提示したクライアントに対して、そのトークンに関連付けられたユーザの情報を返却します。取得できるユーザ情報の種類は、アクセストークンに付与されたスコープによって異なります。

Mutual TLS (mTLS) の要件:
クライアント - TrustIDサービス認可サーバー間の通信にはMutual TLS (mTLS) の使用を推奨します。
TrustIDサービス認可サーバーは、mTLSで用いられたクライアント証明書を確認することで、提示されたアクセストークンが正当なクライアントに発行されたものであることを検証し、より安全な情報提供を実現します。

情報取得の仕組み:

  1. クライアントは、認可フローで取得した有効なアクセストークンを、AuthorizationヘッダーにBearerトークンとして含めてリクエストを送信します。
  2. TrustIDサービス認可サーバーは、受信したアクセストークンの有効性を検証します。
  3. アクセストークンが有効であり、提示されたクライアントが正当であることが確認された場合、トークンに関連付けられたユーザ情報をレスポンスボディ(通常はJSON形式)で返却します。

取得できるユーザ情報 (スコープに依存):

  • openid スコープ: ユーザのサブジェクト識別子(通常は必須で返却されます)。
  • email スコープ: ユーザのメールアドレス。
  • phone スコープ: ユーザの電話番号。
  • その他のカスタムスコープ: TrustIDサービスがサポートする追加のユーザ属性。

リクエストの要件:

  • 有効なアクセストークンをAuthorizationヘッダーにBearerトークンとして含める必要があります。
  • mTLSを使用する場合は、適切なクライアント証明書を設定する必要があります。

レスポンス:
成功した場合、ステータスコード 200 (OK) とともに、要求されたユーザ情報を含むJSONレスポンスボディが返却されます。
失敗した場合(例:無効なアクセストークン、クライアント認証の失敗)、適切なエラーレスポンスとステータスコードが返却されます。

path Parameters
tenant-id
required
string

Trust Idiomと連携するサービス(アプリケーション)を提供する事業者毎に割り振られたID。

header Parameters
Authorization
required
string

トークンリクエストで取得したアクセストークン

Responses

Response samples

Content type
application/json
{
  • "sub": "79fe520f682dab03c481133ec24b1f0fe309cf264932fc0d722c1fb21207d77e",
  • "authentication_device": [
    ],
  • "email": "xxx.xxx@sbisecsol.com",
  • "email_verified": false,
  • "phone_number": "+8100000000",
  • "phone_number_verified": true
}

JWKs

IDトークン利用時のエンドポイント

JWKセットの取得

JSON Web Key Set (JWKS) を取得するためのエンドポイントです。

概要:
このエンドポイントは、TrustIDサービス認可サーバーが発行するJWT (JSON Web Token) の署名検証に使用する公開鍵を含むJWKセットをJSON形式で提供します。クライアントやリソースサーバーは、このJWKセットを取得することで、TrustIDサービス認可サーバーによって署名されたJWTの正当性を検証できます。

JWKセット (JSON Web Key Set) について:
JWKセットは、複数のJSON Web Key (JWK) を含むJSONオブジェクトです。各JWKは、公開鍵とそれに関連するメタデータ(鍵のタイプ、用途、鍵IDなど)を表します。

利用の目的:

  • JWT署名の検証: クライアントやリソースサーバーは、このエンドポイントから公開鍵を取得し、受信したJWTの署名がTrustIDサービス認可サーバーによって行われたものであることを検証します。
  • 信頼性の確保: JWTの署名を検証することで、トークンが改ざんされていないこと、および信頼できる発行者(TrustIDサービス認可サーバー)によって発行されたものであることを保証します。

取得方法:
このエンドポイントに対してHTTP GETリクエストを送信することで、JWKセットをJSON形式で取得できます。リクエストに認証は不要な場合が多いですが、セキュリティ上の理由からアクセス制御が行われる場合もあります。

レスポンス:
成功した場合、ステータスコード 200 (OK) とともに、JWKセットを含むJSONレスポンスボディが返却されます。レスポンスボディは、keys という名前のJSON配列を含み、各要素がJWKオブジェクトを表します。

詳細な仕様:
JWKおよびJWKセットの詳細な仕様については、RFC 7517 (https://tools.ietf.org/html/rfc7517) を参照してください。ご指摘の RFC 7519 は JWT (JSON Web Token) の仕様です。

TrustIDサービスにおける注意点:
TrustIDサービス認可サーバーがローテーションを行う場合、このエンドポイントから取得できるJWKセットは定期的に更新されます。JWTの検証を行うクライアントやリソースサーバーは、必要に応じてこのエンドポイントを呼び出し、最新のJWKセットを取得する必要があります。

path Parameters
tenant-id
required
string

Trust Idiomと連携するサービス(アプリケーション)を提供する事業者毎に割り振られたID。

Responses

Response samples

Content type
application/json
{
  • "keys": [
    ]
}

Notification

通知トークンを更新する際のエンドポイント

通知トークン登録・更新

[Required scope : trustid_account_profile_read]
Push通知に必要なトークンを登録・更新するためのエンドポイントです。

header Parameters
x-tenant-id
required
string

テナントID

Authorization
required
string

Bearerトークン

Request Body schema: application/json
notification_token
required
string <= 300 characters

通知用のトークン(FCMトークン)

Responses

Request samples

Content type
application/json
{
  • "notification_token": "string"
}

Response samples

Content type
application/json
{
  • "error": "invalid_request",
  • "error_description": "[結果コード]及び説明文章"
}

Account

アカウントに関するエンドポイント

Eメール認証・送信

[Required scope : trustid_account_profile_write]
Eメール認証の送信エンドポイントです。

header Parameters
x-tenant-id
required
string

テナントID

x-client-id
string

クライアントID

Request Body schema: application/json
mail_address
required
string <= 255 characters

メールアドレス

Responses

Request samples

Content type
application/json
{
  • "mail_address": "string"
}

Response samples

Content type
application/json
{
  • "error": "invalid_request",
  • "error_description": "[結果コード]及び説明文章"
}

Eメール検証・登録・更新

[Required scope : trustid_account_profile_write]
Eメール送信コードの検証と登録・更新エンドポイントです。

header Parameters
x-tenant-id
required
string

テナントID

x-client-id
string

クライアントID

Request Body schema: application/json
mail_address
required
string <= 255 characters

メールアドレス

email_authentication_code
required
string 6 characters

Email認証コード

Responses

Request samples

Content type
application/json
{
  • "mail_address": "string",
  • "email_authentication_code": "string"
}

Response samples

Content type
application/json
{
  • "error": "invalid_request",
  • "error_description": "[結果コード]及び説明文章"
}