Skip to content

Conversation

@paulbastian
Copy link
Collaborator

Closes #98

@jogu jogu changed the title Pb/crossdevice enforce same device flow for redirect-based OpenID4VP Sep 30, 2025
@charsleysa
Copy link
Contributor

I still think there needs to be consideration for in-person cross device flows, e.g. age assurance at a retail store. Being unable to use digital IDs in the real world or having poor user experience will be a hindrance to adoption of digital IDs, especially in jurisdictions where showing the digital ID on your device is forbidden to be accepted by the retail staff under trust framework rules.

@jogu jogu added the discuss label Oct 2, 2025
@jogu jogu removed the discuss label Oct 2, 2025
Copy link
Collaborator Author

@paulbastian paulbastian left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

lgtm now

paulbastian and others added 2 commits October 7, 2025 20:04
@Sakurann
Copy link
Contributor

Sakurann commented Oct 7, 2025

suggestion projecting inner @tlodderstedt :

  • without broad implementation experience, it's way too limiting to prohibit this right now.
  • there might be use cases where cross device using vanilla openid4vp is acceptable, like in-person wallet-to-wallet
  • move this to implementation considerations and say that this is conditional to risk analysis of

@jogu
Copy link
Contributor

jogu commented Oct 7, 2025

Discussed on today's WG call, consensus that:

There are some scenarios where cross-device flows have other mechanisms in place that mean phishing resistance is not required (e.g. in-person).

Add a "MUST support Same-Device".

"unless the Verifier does not require phishing resistance," should be reframed as "for scenarios where phishing resistance can be achieved in alternative ways".

Paul to update the PR and we'll hopefully merge on Thursday's WG call before starting public review.

* Signed Authorization Requests MUST be used by utilizing JWT-Secured Authorization Request (JAR) [@!RFC9101] with the `request_uri` parameter.
* Response encryption MUST be used by utilizing response mode `direct_post.jwt`, as defined in Section 8.3 of [@!OIDF.OID4VP]. Security Considerations in Section 14.3 of [@!OIDF.OID4VP] MUST be applied.
* Response encryption MUST be used by utilizing response mode `direct_post.jwt`, as defined in Section 8.3 of [@!OIDF.OID4VP]. Security considerations in Section 14.3 of [@!OIDF.OID4VP] MUST be applied.
* The Verifier MUST reject flows that are non "Same-Device". It MUST do this by including `redirect_uri` in the HTTP response to the Wallet's HTTP POST to the `response_uri`, as defined in Section 8.2 of [@!OIDF.OID4VP]. Wallets MUST follow the redirect to `redirect_uri`. Verifiers MUST reject presentations if Wallets do not follow the redirect back or the redirect back arrives in a different user session to the one the request was initiated in. Implementation considerations can be found in Section 13.3 of [@!OIDF.OID4VP] and security considerations in Section 14.2 of [@!OIDF.OID4VP].
Copy link
Contributor

@Sakurann Sakurann Oct 7, 2025

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Suggested change
* The Verifier MUST reject flows that are non "Same-Device". It MUST do this by including `redirect_uri` in the HTTP response to the Wallet's HTTP POST to the `response_uri`, as defined in Section 8.2 of [@!OIDF.OID4VP]. Wallets MUST follow the redirect to `redirect_uri`. Verifiers MUST reject presentations if Wallets do not follow the redirect back or the redirect back arrives in a different user session to the one the request was initiated in. Implementation considerations can be found in Section 13.3 of [@!OIDF.OID4VP] and security considerations in Section 14.2 of [@!OIDF.OID4VP].
* The Wallet and the Verifier MUST support "Same-Device" flow:
* Verifiers MUST include `redirect_uri` in the HTTP response to the Wallet's HTTP POST to the `response_uri`, as defined in Section 8.2 of [@!OIDF.OID4VP].
* Wallets MUST follow the redirect to `redirect_uri`.
* Verifiers MUST reject presentations if Wallets do not follow the redirect back or the redirect back arrives in a different user session to the one the request was initiated in.
* Implementation considerations can be found in Section 13.3 of [@!OIDF.OID4VP] and security considerations in Section 14.2 of [@!OIDF.OID4VP].
* Non "Same-Device" flows can be acceptable in the scenarios where phishing resistance can be achieved in alternative ways. e.g. it is an in-person presentation using OpenID4VP via redirects. When doing so, ecosystems and implementations are advised to make this decision based on a risk analysis.

Co-authored-by: Torsten Lodderstedt <[email protected]>
@Sakurann Sakurann requested review from awoie and tlodderstedt October 9, 2025 15:31
Co-authored-by: Oliver Terbu <[email protected]>
@jogu jogu changed the title enforce same device flow for redirect-based OpenID4VP require support for same device flow for redirect-based OpenID4VP Oct 9, 2025
@Sakurann Sakurann merged commit da0c063 into main Oct 9, 2025
@Sakurann Sakurann added this to the 1.0 Final milestone Oct 9, 2025
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

Are we sure we want the redirect_uri in cross device scenarios, too?

9 participants