セキュリティ検証
認証 (Authentication) 済みユーザーがパスワードの変更、支払いの実行、給与明細や銀行口座情報などの機密情報へのアクセスといった、機密性やリスクの高い操作を行おうとする場合、追加のセキュリティ対策が不可欠です。このフローは、特に銀行、医療、行政サービスなどの機密性の高いアプリケーションで重要です。
このプロセスは セキュリティ検証 と呼ばれ、ユーザーが正当なアカウント所有者であることを再度確認するために、アイデンティティの再認証を求めます。セキュリティ検証を導入することで、システムは不正アクセスに対する防御を強化し、リスクの高い操作に対して重要なセキュリティ層を追加し、機密データの保護に役立ちます。
独自アプリケーションや保護された API リソースに対して最近の認証 (Authentication) や多要素認証 (MFA) を強制したい場合、または標準トークンを使って機密性の高い Account API 呼び出しを認可したい場合は、OIDC ステップアップ認証 (step-up authentication)(acr_values、max_age、RFC 9470 チャレンジ)を利用してください。
ファーストパーティアプリケーションが logto-verification-id ヘッダー付きで Account API を直接呼び出す場合や、新しいメールアドレスや電話番号をアカウントに紐付ける前に所有権を証明する必要がある場合は、以下の Verification API を利用してください。
Account API によるセキュリティ検証の実装
まず Account API を有効化 し、ユーザーの access_token を取得してください。
パスワード検証
ユーザーがパスワードやその他のセキュリティ設定を直接 Account API 統合経由で変更しようとする場合、現在のパスワードの入力を促し、logto-verification-id ヘッダー用の 10 分間有効な verificationRecordId を取得します。
| method | path | description |
|---|---|---|
| POST | /api/verifications/password | 現在のユーザーパスワードを検証します。 |
メール / SMS ワンタイムコード検証
ユーザーのメールアドレスまたは電話番号に認証コードを送信し、コードの入力を促してアイデンティティを確認します。これらのエンドポイントは、ユーザーのアイデンティティの検証や、特定のメールアドレスや電話番号の所有権確認に利用できます。特に新しいメールアドレスや電話番号をアカウントに紐付ける際には、この検証ステップを強く推奨します。これにより、提供された情報の真正性が保証されます。
| method | path | description |
|---|---|---|
| POST | /api/verifications/verification-code | メールアドレスまたは電話番号の認証コードを送信します。 |
| POST | /api/verifications/verification-code/verify | 認証コードでメールアドレスまたは電話番号を検証します。 |