On Monday, October 23, 2023 at 3:03:59 PM UTC+2 blink-dev wrote:

Contact emails

y...@chromium.org

Explainer

https://github.com/fedidcg/FedCM/issues/488


It'd be useful to write a short (inline?) explainer here outlining what 
this does and how it'd look like.
Specifically, would we start throwing on errors in scenarios that silently 
failed before?
 

https://github.com/fedidcg/FedCM/issues/497


Similarly a short explainer outlining what this does and how would help 
reviewing this intent. 


Specification

https://github.com/fedidcg/FedCM/pull/498

https://github.com/fedidcg/FedCM/pull/500


What's preventing these PRs from landing?
 


Design docs

https://docs.google.com/document/d/1DEjbFSAMmmT47_
n8JBLmcleCNPz_WS5a24WDrglSQMo/edit?usp=sharing

Summary

Dedicated APIs to help developers and users to better understand the 
authentication flow. Both APIs are triggered post user permission to sign 
in to an RP with an IdP. i.e. after the user clicks the "Continue as" 
button. 


- With Error API, if a user's sign-in attempt fails, the IdP can share the 
reasons with the browser to keep both users and RP developers updated. 

- With AutoSelectedFlag API, both IdP and RP developers could have a better 
understanding about the sign-in UX, evaluate performance and segment 
metrics accordingly.


Blink component

Blink>Identity>FedCM 
<https://bugs.chromium.org/p/chromium/issues/list?q=component:Blink%3EIdentity%3EFedCM>

Search tags

fedcm <https://chromestatus.com/features#tags:fedcm>

TAG review

https://github.com/w3ctag/design-reviews/issues/893

TAG review status

Issues addressed

Risks

Interoperability and Compatibility

These are extensions to the FedCM API. Apple and Mozilla have both 
expressed a positive opinion on the initial FedCM API 
<https://groups.google.com/a/chromium.org/g/blink-dev/c/URpYPPH-YQ4/m/bzghj9N3AQAJ>[1]
 
and Mozilla is currently prototyping 
<https://groups.google.com/a/mozilla.org/g/dev-platform/c/ncmUwK1uO98/m/COhPA4ZrAAAJ>
 
the FedCM API. If a user agent chooses to not implement these extensions, 
it may hurt the quality of the UI that they can provide to users, but 
should not break the FedCM flow.

Gecko: Under consideration (https://github.com/fedidcg/FedCM/pull/498

https://github.com/fedidcg/FedCM/pull/500) Firefox has asked us not to file 
standard position, and they provided feedback in the GitHub PR.

WebKit: No signal (https://github.com/WebKit/standards-positions/issues/249)

Web developers: Positive These features are being developed to address 
existing use-cases which will not be possible once third-party cookies are 
phased out.

Other signals:

Security

For the Error API, the browser may open a pop-up window with a URL provided 
by the IdP when an error happens. It has the same web platform properties 
as what one would get with window.open(url,””,”popup,noopener,noreferrer”)) 
that loads the error.url. There's no communication between the website and 
this pop-up is allowed (e.g. no postMessage, no window.opener). We have 
also considered the potential phishing risk and had the mitigations in 
place (see the explainer for more details).


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?

FedCM is not supported in WebView


Debuggability

The two new APIs are extensions of the FedCM API which has proper devtools 
support. 


For the Error API, the browser takes an error returned by the IdP (if any) 
and rejects the promise with an error exception. For RP developers, the 
only thing that they need to take care of is handling the exception which 
may not need DevTools support. For IdP developers, the only potentially 
useful information that we could add to the console is when the error URL 
is cross-site to the IdP in which case we won't use the error URL in the 
flow.

For AutoSelectedFlag API, it just introduces a new boolean for both IdP and 
RP developers to parse. We believe that in this case we don't need to 
provide extra information in DevTools.


Will this feature be supported on all six Blink platforms (Windows, Mac, 
Linux, Chrome OS, Android, and Android WebView)?

FedCM is available in all Blink platforms except for WebView.


Is this feature fully tested by web-platform-tests 
<https://chromium.googlesource.com/chromium/src/+/main/docs/testing/web_platform_tests.md>
?

Yes.

Testing on wpt.fyi is blocked on https://github.com/web-
platform-tests/wpt/pull/40709 getting reviewed and merged. Otherwise, we 
are adding tests that will be in the credential-management directory as 
shown on the WPT dashboard here: https://wpt.fyi/results/
credential-management?label=experimental&label=master&aligned


DevTrial instructions

https://github.com/fedidcg/FedCM/blob/main/explorations/HOWTO-chrome.md

Flag name on chrome://flags

chrome://flags/#fedcm-error

chrome://flags/#fedcm-auto-selected-flag

Finch feature name

FedCmError

FedCmAutoSelectedFlag

Requires code in //chrome?

True

Tracking bug

https://crbug.com/1477253

Launch bug

https://launch.corp.google.com/launch/4273845

Sample links

https://drive.google.com/file/d/1Z8r4OkQMmKulGv-vf-XTfwqh6VUyGZF9/view?usp=
sharing

Estimated milestones

Shipping on desktop

120

Shipping on Android

120




Anticipated spec changes

None

Link to entry on the Chrome Platform Status

https://chromestatus.com/feature/5384360374566912

Links to previous Intent discussions

Intent to prototype: https://groups.google.com/a/chromium.org/g/blink-dev/c/
YfaGM8v-Ocs/m/4E0RHMhJAwAJ

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 on the web visit 
https://groups.google.com/a/chromium.org/d/msgid/blink-dev/c9024b94-ae7d-42e5-87f5-386343132ce4n%40chromium.org.

Reply via email to