Contact emailssmcgr...@chromium.org

Explainerhttps://github.com/w3c/secure-payment-confirmation/issues/267

SpecificationNone

Summary

Correct the error type thrown during WebAuthn credential creation for
'payment' credentials. Due to a historic specification mismatch, creating a
'payment' credential in a cross-origin iframe without a user activation
would throw a SecurityError instead of a NotAllowedError, which is what is
thrown for non-payment credentials. This is a breaking change, albeit a
niche one. Code that previously detected the type of error thrown (e.g., `e
instanceof SecurityError`) would be affected. Code that just generally
handles errors during credential creation (e.g. `catch (e)`) will continue
to function correctly.


Blink componentBlink>Payments
<https://issues.chromium.org/issues?q=customfield1222907:%22Blink%3EPayments%22>

Motivation

As part of Secure Payment Confirmation (SPC), WebAuthn credentials with the
'payment' extension could be created in a cross-origin iframe before this
was allowed for other WebAuthn credentials. When the ability to do this for
all WebAuthn credentials was added in
https://github.com/w3c/webauthn/pull/1801, an accidental spec misalignment
was made. In the very specific case of credential creation in a
cross-origin iframe without user activation, the SPC spec said to throw a
SecurityError, whilst the WebAuthn spec said to throw a NotAllowedError.
This misalignment has now been corrected at the specification level (
https://github.com/w3c/secure-payment-confirmation/issues/267), and so left
Chromium as non-compliant with the specification.


Initial public proposal
https://github.com/w3c/secure-payment-confirmation/issues/267

TAG reviewNone

TAG review statusN/A - minor change to existing specification

Risks
Interoperability and Compatibility

None

*Gecko*: N/A - minor change to existing specification. Note that SPC is not
implemented or supported by Gecko.

*WebKit*: N/A - minor change to existing specification. Note that SPC is
not implemented or supported by Gecko.

*Web developers*: No signals

WebView application risks

Does this intent deprecate or change behavior of existing APIs, such that
it has potentially high risk for Android WebView-based applications?

None

Debuggability

None

Is this feature fully tested by web-platform-tests
<https://chromium.googlesource.com/chromium/src/+/main/docs/testing/web_platform_tests.md>
?Yes (but still testing the old behavior) -
https://wpt.fyi/results/secure-payment-confirmation/enrollment-in-iframe.sub.https.html?label=experimental&label=master&aligned

Flag name on about://flags
chrome://web-authentication-align-error-type-for-payment-credential-create

Finch feature nameNone

Non-finch justificationNone

Requires code in //chrome?False

Estimated milestones

No milestones specified

Link to entry on the Chrome Platform Status
https://chromestatus.com/feature/5160752715137024?gate=6260632086904832

This intent message was generated by Chrome Platform Status
<https://chromestatus.com/>.

-- 
You received this message because you are subscribed to the Google Groups 
"blink-dev" group.
To unsubscribe from this group and stop receiving emails from it, send an email 
to blink-dev+unsubscr...@chromium.org.
To view this discussion visit 
https://groups.google.com/a/chromium.org/d/msgid/blink-dev/CADY3MacJobTDt6ta6N46GEm2nsR%3DA1yHaQm%3DfaRmMWV0ZS5sCg%40mail.gmail.com.

Reply via email to