# VP Verification - Same Device Flow

## Overview

This guide covers the same-device Verifiable Presentation (VP) verification flow, where both the verifier portal and credential wallet operate on the same mobile device. Instead of scanning a QR code, Inji Verify invokes the wallet directly via deep link, enabling seamless app-to-app credential sharing without requiring a second device.

This flow follows the OpenID4VP specification with `response_mode=direct_post`. The wallet receives the authorization request containing credential requirements, authenticates the user, collects consent, and returns the VP response back to Inji Verify for validation and result display.

### Step 1: Initiate VP Request Process

Navigate to the **VP Verification** tab in Inji Verify on your mobile device.\
Click **Request Verifiable Credentials** to begin.

<figure><img src="https://3039626265-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2FaY8BQ4hdzhSchZV814Ev%2Fuploads%2Fgit-blob-fadd46032bcd44082c8465afaf40d5bb074d8689%2Feug-iv-vpv-sdf-1.png?alt=media" alt="" width="200"><figcaption></figcaption></figure>

### Step 2: Select Credential Types

A popup titled **Verifiable Credential Selection Panel** appears.\
You can search, sort, and select the required credential types.\
Some credentials may be pre-selected based on configuration.

<figure><img src="https://3039626265-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2FaY8BQ4hdzhSchZV814Ev%2Fuploads%2Fgit-blob-72c0e850c31e59bc02e959a9404b5a802d4b808b%2Feug-iv-vpv-sdf-2.png?alt=media" alt="" width="200"><figcaption></figcaption></figure>

### Step 3: Open Wallet on Same Device

After selecting credentials, a **Wallet Selection Panel** appears listing available wallets on your mobile device.\
Select your preferred wallet. If only one wallet is available, you will be redirected automatically.

<figure><img src="https://3039626265-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2FaY8BQ4hdzhSchZV814Ev%2Fuploads%2Fgit-blob-7e3b7450a369214568329e53677215a648b00538%2Feug-iv-vpv-sdf-3-1.png?alt=media" alt="" width="200"><figcaption></figcaption></figure>

<figure><img src="https://3039626265-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2FaY8BQ4hdzhSchZV814Ev%2Fuploads%2Fgit-blob-73b8cb839185ef0866b5925defd955d332dd27b7%2Feug-iv-vpv-sdf-3-2.jpg?alt=media" alt="" width="200"><figcaption></figcaption></figure>

### Step 4: Deep Link to Wallet

The system invokes your wallet via deep link (e.g., `injiwallet://vp-request?...`).\
The wallet receives the authorization request with credential requirements.

### Step 5: Wallet Authentication & Consent

The wallet checks which credentials match the request.\
You are prompted to authenticate and provide consent to share the selected credentials.

<figure><img src="https://3039626265-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2FaY8BQ4hdzhSchZV814Ev%2Fuploads%2Fgit-blob-b13e42185401e7e69dd635084b5547e645ac9008%2Feug-iv-vpv-sdf-5-1.jpg?alt=media" alt="" width="200"><figcaption></figcaption></figure>

<figure><img src="https://3039626265-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2FaY8BQ4hdzhSchZV814Ev%2Fuploads%2Fgit-blob-5212ad33c55048364cf1da39f93505c429681391%2Feug-iv-vpv-sdf-5-2.jpg?alt=media" alt="" width="200"><figcaption></figcaption></figure>

### Step 6: Wallet Sends VP Response

The wallet prepares the Verifiable Presentation (VP) and returns the `vp_token` in an authorization response via redirect.

<figure><img src="https://3039626265-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2FaY8BQ4hdzhSchZV814Ev%2Fuploads%2Fgit-blob-71af8cecdf42f9a388f62af3d9d3c16d32b17fc9%2Feug-iv-vpv-sdf-6.jpg?alt=media" alt="" width="200"><figcaption></figcaption></figure>

### Step 7: View Results in Inji Verify

Inji Verify parses the `vp_token`, validates claims, and displays the results.\
Credential status may be **Valid**, **Expired**, or **Invalid**.\
For multiple VCs, results are shown as expandable cards with tabular view for multi-attribute values.\
Options are provided to **Download JSON** or **Expand View**.

<figure><img src="https://3039626265-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2FaY8BQ4hdzhSchZV814Ev%2Fuploads%2Fgit-blob-836e49769ff93086322ecf158a59358d4c452969%2Feug-iv-vpv-sdf-7-1.jpg?alt=media" alt="" width="200"><figcaption></figcaption></figure>

<figure><img src="https://3039626265-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2FaY8BQ4hdzhSchZV814Ev%2Fuploads%2Fgit-blob-5e02bf14ad2821b61e16d2a3c4a93ec4ffe73004%2Feug-iv-vpv-sdf-7-2.png?alt=media" alt="" width="200"><figcaption></figcaption></figure>

#### Credential Status Examples

* **Invalid VC display:**\
  \&#xNAN;*Shows the credential marked as invalid.*

<figure><img src="https://3039626265-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2FaY8BQ4hdzhSchZV814Ev%2Fuploads%2Fgit-blob-8a53a8f9f47dcc6ec70c16aec6ccadebd2ca7d4d%2Feug-iv-vpv-sdf-invalid-vc-display.png?alt=media" alt="" width="400"><figcaption></figcaption></figure>

* **Expired VC:**\
  \&#xNAN;*Shows the credential marked as expired.*

<figure><img src="https://3039626265-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2FaY8BQ4hdzhSchZV814Ev%2Fuploads%2Fgit-blob-9cab87f4e8acda39f571cf1fbc1642828ad48c7c%2Feug-iv-vpv-sdf-expired-vc.png?alt=media" alt="" width="200"><figcaption></figcaption></figure>

### Same Device Flow Scenarios

* **Scenario 1:** All credentials shared → List of credentials with status.

<figure><img src="https://3039626265-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2FaY8BQ4hdzhSchZV814Ev%2Fuploads%2Fgit-blob-ebfbe2d377dffbccc2ecae554b6e77fd381c4cde%2Feug-iv-vpv-sdf-scenario-1-all-credentials-shared.png?alt=media" alt="" width="200"><figcaption></figcaption></figure>

* **Scenario 2:** Partial sharing → Display missing credentials with options to **Request Missing Credentials** or **Restart Process**.

<figure><img src="https://3039626265-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2FaY8BQ4hdzhSchZV814Ev%2Fuploads%2Fgit-blob-a71fce226ce1e516373baad6f12fd5d6472180ba%2Feug-iv-vpv-sdf-scenario-2-all-credentials-shared.png?alt=media" alt="" width="200"><figcaption></figcaption></figure>
