メインコンテンツまでスキップ

Authentication Device API (1.0.0)

Download OpenAPI specification:Download

認証デバイスに関連する認証トランザクションの取得および、FIDO-UAF認証連携に関するAPI群。 CIBAやOAuthフローを含む認証トランザクションの一覧取得、FIDOサーバーとのチャレンジや認証処理を提供する。

認証

認証トランザクションの取得

認証デバイスに紐づく認証トランザクション情報(フロー、スコープ、ユーザー情報など)を取得する。

デバイス認証によるレスポンス制御:

テナントの identity_policy_config.authentication_device_rule.authentication_type 設定により、 レスポンスに含まれる情報が制御されます。

認証設定 contextフィールド 説明
none 含まれない 認証なしでアクセス可能。機密情報は除外
access_token 含まれる アクセストークン認証成功後のみ詳細情報を返却
device_secret_jwt 含まれる 対称鍵JWT(HMAC)認証成功後のみ詳細情報を返却
private_key_jwt 含まれる 非対称鍵JWT(RSA/EC)認証成功後のみ詳細情報を返却

contextフィールドには scopesacr_valuesbinding_messageauthorization_details などの 認証リクエストの詳細情報が含まれるため、認証されていないデバイスには返却されません。

path Parameters
tenant-id
required
string
device-id
required
string
query Parameters
id
string

トランザクションID(UUID)

flow
string
Enum: "ciba" "oauth" "fido-uaf-registration" "fido-uaf-deregistration"

認証フロー種別

authorization_id
string

認可リクエストID(UUID)

client_id
string

クライアントID

from
string <date-time>
Example: from=2025-07-01T00:00:00

開始日時(ISO-8601形式)

to
string <date-time>
Example: to=2025-07-15T23:59:59

終了日時(ISO-8601形式)

limit
integer
Default: 20

最大取得件数

offset
integer
Default: 0

ページネーション用オフセット

exclude_expired
boolean
Default: true

有効期限切れを除外するか

attributes.key
string

属性情報のオブジェクトのkeyに対する検索(keyは具体的な値に変更が必要)

Responses

Response samples

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

認証デバイスのログ

認証デバイス(モバイルアプリ等)からのFIDO認証などの実行結果ログを受信し、アプリケーションログとして出力する。

セキュリティイベント連携:

  • リクエストに device_id または user_id が含まれる場合、該当ユーザーを検索
  • ユーザーが見つかった場合、セキュリティイベント authentication_device_log を発行
  • ユーザーが見つからない場合、セキュリティイベントは発行されない(ノイズ防止)
  • リクエストボディ全体が execution_result としてセキュリティイベントの詳細に保存される
path Parameters
tenant-id
required
string

テナント識別子

Request Body schema: application/json
required
device_id
string

認証デバイスの識別子。 この値でユーザーを検索し、セキュリティイベントに紐づける。

user_id
string <uuid>

ユーザーの識別子(UUID)。 device_id でユーザーが見つからない場合、この値で検索する。

event
string

イベント種別(例:fido2_authentication, fido_uaf_registration)

status
string
Enum: "success" "failure" "cancelled"

実行結果のステータス

timestamp
string <date-time>

イベント発生日時(ISO-8601形式)

object

イベントの詳細情報(任意のキー・バリュー)

Responses

Request samples

Content type
application/json
Example
{
  • "device_id": "device-12345-abcde",
  • "event": "fido2_authentication",
  • "status": "success",
  • "timestamp": "2025-12-26T10:00:00Z",
  • "details": {
    }
}

Response samples

Content type
application/json
Example
{
  • "error": "invalid_request",
  • "error_description": "user is not found or invalid password"
}

認証トランザクションのキャンセル

進行中の認証トランザクションをユーザーがキャンセルする。 キャンセル後、トランザクションは無効化され、認証フローは中断される。

  • OAuth/CIBAフローでの認証拒否
  • ユーザーによる明示的なキャンセル操作
  • セキュリティイベント authentication_cancel_success が生成される
path Parameters
tenant-id
required
string

テナント識別子

id
required
string <uuid>

認証トランザクションID

Request Body schema: application/json
optional
object

Responses

Request samples

Content type
application/json
{ }

Response samples

Content type
application/json
{ }

ナンバーマッチングコードの検証

認可コードフローのデバイス認証(FIDO-UAF step-up)で、サインイン画面に表示された ナンバーマッチングコードをユーザーが認証デバイスに転記し、その値を検証する(push fatigue 対策)。

  • コードはサインイン画面側の authentication-device-number-matching-challenge で発行され、 サーバーに保存される。認証デバイス向けの API・プッシュ通知には含まれない
  • 認証デバイスは、認証トランザクション取得APIのレスポンスの number_matching_requiredtrue のときに入力画面を表示し、この API で検証する
  • 検証成功後に FIDO-UAF 認証(fido-uaf-authentication-challengefido-uaf-authentication)へ進む
  • 不一致は $.authentication-device-number-matching.failure_count に積算される。 この API は認証なしで到達できるため、認証ポリシーの failure_conditions / lock_conditions で試行回数の上限を設けること(同梱テンプレートは 5 回)。残り試行回数はこの API からは取得できない
  • セキュリティイベント authentication_device_number_matching_success / authentication_device_number_matching_failure が生成される

認可リクエストのIDを持つサインイン画面側からは POST /{tenant-id}/v1/authorizations/{id}/authentication-device-number-matching でも同じ検証に到達するが、 認証デバイスは認可リクエストのIDを取得できないため、デバイス実装ではこの API を使う。

path Parameters
tenant-id
required
string

テナント識別子

id
required
string <uuid>

認証トランザクションID(認証トランザクション取得APIの list[].id

Request Body schema: application/json
required
number_matching_code
required
string

ユーザーがサインイン画面から転記したコード。数字のみ。 桁数は認証設定 authentication-device-number-matchingexecution.details.length に従う(既定 4 桁)。桁数はこの API のレスポンスや認証トランザクション取得APIには含まれない

Responses

Request samples

Content type
application/json
{
  • "number_matching_code": "4821"
}

Response samples

Content type
application/json
{ }

認証デバイスによる認証の拒否

認証デバイス上でユーザーが認証要求を明示的に拒否する(「これは自分の操作ではない」)。

  • authentication-cancel と同じく DENY 種別のインタラクションとして記録され、 認証ポリシーに failure_conditions が定義されていれば認証ステータスは failure になる
  • authentication-cancel(操作の中断)との違いは監査上の意味とセキュリティイベント名のみ
  • セキュリティイベント authentication_device_deny_success が生成される
path Parameters
tenant-id
required
string

テナント識別子

id
required
string <uuid>

認証トランザクションID

Request Body schema: application/json
optional
object

Responses

Request samples

Content type
application/json
{ }

Response samples

Content type
application/json
{ }

FIDO-UAF

FIDO-UAF Facet情報の取得

FIDOクライアントが信頼できるアプリとして動作するためのFacet IDリストを取得する。

path Parameters
tenant-id
required
string

Responses

Response samples

Content type
application/json
{ }

FIDO-UAF 登録チャレンジ

FIDOサーバーから取得したチャレンジ情報をそのまま返却する。

セキュリティ制約:

  • ユーザーが認証済みである必要があります(未認証の場合は401 Unauthorized)
  • 認証ポリシーにdevice_registration_conditionsが設定されている場合、 その条件を満たす必要があります(満たさない場合は403 Forbidden)
path Parameters
tenant-id
required
string
id
required
string
Request Body schema: application/json
required
object

FIDOサーバーの仕様に沿った任意のリクエストボディ

Responses

Request samples

Content type
application/json
{ }

Response samples

Content type
application/json
{ }

FIDO-UAF 登録

クライアントから送信されたFIDO応答を受け取り、登録を完了させる。

セキュリティ制約:

  • ユーザーが認証済みである必要があります(未認証の場合は401 Unauthorized)
  • 認証ポリシーにdevice_registration_conditionsが設定されている場合、 その条件を満たす必要があります(満たさない場合は403 Forbidden)
path Parameters
tenant-id
required
string
id
required
string
Request Body schema: application/json
required
object

FIDOサーバーの仕様に沿った任意のリクエストボディ

Responses

Request samples

Content type
application/json
{ }

Response samples

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

FIDO-UAF 認証チャレンジ

FIDOサーバーから取得したチャレンジ情報をそのまま返却する。

path Parameters
tenant-id
required
string
id
required
string
Request Body schema: application/json
required
object

FIDOサーバーの仕様に沿った任意のリクエストボディ

Responses

Request samples

Content type
application/json
{ }

Response samples

Content type
application/json
{ }

FIDO-UAF 認証

クライアントから送信されたFIDO応答を受け取り、認証を完了させる。

path Parameters
tenant-id
required
string
id
required
string
Request Body schema: application/json
required
object

FIDOサーバーの仕様に沿った任意のリクエストボディ

Responses

Request samples

Content type
application/json
{ }

Response samples

Content type
application/json
Example
{
  • "error": "invalid_request",
  • "error_description": "user is not found or invalid password"
}

FIDO-UAF 解除

クライアントから送信されたFIDO応答を受け取り解除を完了させる。

セキュリティ制約:

  • ユーザーが認証済みである必要があります(未認証の場合は401 Unauthorized)
  • 認証ポリシーにdevice_registration_conditionsが設定されている場合、 その条件を満たす必要があります(満たさない場合は403 Forbidden)
path Parameters
tenant-id
required
string
id
required
string
Request Body schema: application/json
required
object

FIDOサーバーの仕様に沿った任意のリクエストボディ

Responses

Request samples

Content type
application/json
{ }

Response samples

Content type
application/json
{ }

FIDO-UAF認証のキャンセル

FIDO-UAF認証処理をユーザーがキャンセルする。 デバイス側での認証処理を中断し、トランザクションを無効化する。

  • FIDO-UAF認証フローでの明示的なキャンセル
  • デバイス認証の中断
  • セキュリティイベント authentication_cancel_success が生成される
path Parameters
tenant-id
required
string

テナント識別子

id
required
string <uuid>

認証トランザクションID

Request Body schema: application/json
optional
object

Responses

Request samples

Content type
application/json
{ }

Response samples

Content type
application/json
{ }