secure-payment-confirmation icon indicating copy to clipboard operation
secure-payment-confirmation copied to clipboard

Add Support for Cross-Device Authentication

Open tblachowicz opened this issue 1 year ago • 2 comments

I'm not entirely sure if the matter relates to the specification or it's purely related to the browser vendor implementations. However, I'd like to raise that with the WPWG for discussion anyway.

Our observation has been that current SPC implementations [^1] do not support Cross-Device Authentication [^2]. We believe it'd be great if SPC would allow use of any Public Key Credential with payment extension including credentials automatically synced between user's devices and cross-device authentication with the nearby device.

[^1]: Tested on Chrome on Windows & MacOS. Edge on Windows. [^2]: https://passkeys.dev/docs/reference/terms/#cross-device-authentication-cda

tblachowicz avatar Jul 03 '23 11:07 tblachowicz

Thanks for filing this issue! This has some relation to (but is not entirely the same as) issues #174 and #12

For clarity for others who may not be immediately familiar with Cross-Device Authentication (though the linked passkeys.dev article explains it well), this is the "hybrid" transport protocol in WebAuthn/FIDO. In Chrome MacOS, the WebAuthn experience for Cross-Device Authentication looks like:

Screenshot 2023-07-05 at 9 28 56 AM

Cross-Device Authentication and SPC

With regards to SPC, there is a fundamental issue that stands in the way of Cross-Device Authentication.

Currently, SPC requires the ability to silently determine if a credential is available for the current device (as well as silently determine if the credential is SPC-enabled). This is required because SPC's user flow forks on the availability of the credential:

  1. If credential is available, show the transaction UX
  2. Otherwise, do not show the transaction UX, and instead (in Chrome) show a "no matching credentials" UX. (The spec specifically just instructs the browser to maintain authentication ceremony privacy and allows the implementor to decide how).

For either remote authenticators or for Cross-Device Authentication, the issue is that we cannot tell if a given credential available or not. So we cannot do this forking of the user flow.

To resolve this, the WG needs to pick up the discussions on a different fallback experience (or a different user flow entirely), such that SPC doesn't strongly rely on being able to silently query for the credential being available.

stephenmcgruer avatar Jul 05 '23 14:07 stephenmcgruer

See our March 2023 discussion of fallback UX ideas: https://www.w3.org/2023/03/27-wpwg-minutes.html#t04

ianbjacobs avatar Jul 17 '23 14:07 ianbjacobs