こちらのログインフローは、デスクトップにてブラウザ(Client)で操作を開始する想定となります。 IDVはアカウントの生成などは行わず、以下のフローに従って利用をする人が正しいかどうかを評価します。
sequenceDiagram
participant User
participant Client as Client (Browser)
participant Mobile as Mobile Device
participant Backend
participant Transmit Security
User->>Client: 1. Root(/)へ接続
Client->>Backend:
Backend->>Client: /pages/hosted-idv-experience.html へHTTP Redirect
User->>Client: 2. ボタン(Start IDV Flow)をクリック
Client->>Backend: 3. IDVリクエストを送信(GET /start-verification-session)
Backend->>Transmit Security: 4. AccessToken取得(POST /oidc/token)
Transmit Security->>Backend: AccessTokenを応答
Backend->>Transmit Security: 5. IDVのセッション作成 (POST /verify/api/v1/verification)
Transmit Security->>Backend: IDVのセッション作成結果を応答
Backend->>Client: 6. IDVの初期化。Redirect URLをClientに応答(/verify/app/<IDVのセッション作成結果のstart_tokenの値>)
Client->>Transmit Security: 7. 送付されたRedirect URLに接続(GET /verify/app/<start_token>)
Transmit Security->>Client: 8. IDVのためQRコード・URLを表示
Client --> Transmit Security: MobileによるIDV完了まで定期的にStatusチェック
opt MobileによるIDVの実施
User ->> Mobile: 画面に表示されたQRコードを読み取り
Mobile ->> Transmit Security: Hosted IDVの実施
Mobile --> Transmit Security: 身分証の撮影
Mobile --> Transmit Security: セルフィの撮影
Transmit Security ->> Mobile: 完了画面の表示
end
Client --> Transmit Security: Statusチェックの結果、IDV完了を検知
Client->>Backend: 9. IDV結果の取得。/complete へ接続
Backend->>Transmit Security: 10. AccessToken取得(POST /oidc/token)
Transmit Security->>Backend: AccessTokenを応答
Backend->>Transmit Security: 11. IDVの結果取得 (POST /verify/api/v1/verification/<sessionId>/result)
Transmit Security->>Backend: IDV結果の応答
Backend->>Backend: recommendationの結果を評価。評価結果に応じたHTMLを生成
Backend->>Client: 生成したHTMLを応答
-
5の応答結果として以下のような値が応答されます
{ // Use the start token to start the verification on the client side "start_token": "abcd6ed78c8c0b7824dfea356ed30b72", "session_id": "EXAMPLEskjzsdhskj4", "expiration": "2023-12-27T11:59:07.420Z", // Array of images to capture "missing_images": [ "document_front", "document_back", "selfie" ] }
-
6で生成するURLは5のstart_tokenを利用します
-
9は5のsession_idをURLパラメータとして渡します
-
11でsession_idを利用してAPIに接続します
STEP | 役割 | API |
---|---|---|
4,10 | APIに利用するAccessTokenの取得 | Get client access token |
5 | IDVセッションの作成 | Create verification session |
11 | IDVの結果取得 | Get verification result |
- 本ドキュメントではサンプルアプリケーションの利用に関する手順を示します
- サンプルアプリケーションをローカル環境で実行した際の手順を示しています。試される環境に合わせて適宜アクセスするURLなど変更して操作ください
- 本ドキュメントでは以下が必要となります
- インターネットに接続可能な端末
- ブラウザ
- 送受信可能なメールアドレス
- 手順に応じた簡易なCLI操作・ファイル編集
- 各国でサポートされているドキュメントの情報はSupported documentsを参照してください
SAMPLE=hosted-idv yarn start
- ブラウザでサンプルアプリケーション(http://localhost:8080)に接続
-
アプリケーションの画面に表示されたボタンをクリック
-
IDVを開始するため、QRコード・URLが表示されます。モバイル端末で情報を読み取り、IDVのセッションを開始します
-
モバイル端末で指示に従って操作を行います。このサンプルでは
パスポート
を利用しIDVを実施しています。IDVではカメラを利用しますので、適切な手順で端末・ブラウザでカメラの利用を許可してください- IDVを開始します
- パスポートの写真が記載されているページの情報を読み取ります
- セルフィー(インカメラによる顔写真)を撮影します
- 正しい情報であるか評価します。一定時間経過後、結果が画面に表示されます
-
上記のモバイル端末での操作が完了すると、自動的にデスクトップのブラウザに評価結果が表示されます