Contact emails n...@chromium.org
Explainer https://github.com/w3c-fedid/multi-idp/blob/main/README.md Specification https://github.com/w3c-fedid/FedCM/pull/686 Summary Allows FedCM to show multiple identity providers (IDPs) in the same dialog. This provides developers with a convenient way to present all supported identity providers to users. We are planning to first tackle the simple case of having all providers in the same get() call (e.g. allowing more than one entry in the existing array) and passive mode. We are also removing support for ‘add another account’ in FedCM passive mode. This feature allows showing a ‘use another account’ button alongside other IdP accounts in the chooser. The feature is currently unused, and UX conversations have led us to believe that supporting this leads to a more complicated flow without much benefit. This feature will still work in FedCM active mode. Blink component Blink>Identity>FedCM <https://issues.chromium.org/issues?q=customfield1222907:%22Blink%3EIdentity%3EFedCM%22> TAG review https://github.com/w3ctag/design-reviews/issues/803 TAG review status Issues addressed Origin Trial Name FedCM Multiple Identity Providers Chromium Trial Name FedCmMultipleIdentityProviders Origin Trial documentation link https://developers.google.com/privacy-sandbox/blog/fedcm-chrome-128-updates WebFeature UseCounter name kFedCmMultipleIdentityProviders Risks Interoperability and Compatibility This should not have additional interop risks on top of the existing FedCM API which is generally supported but not yet implemented by Gecko and WebKit. Gecko: No signal (https://github.com/mozilla/standards-positions/issues/730) but they supported the extension in https://github.com/mozilla/standards-positions/issues/730#issuecomment-1961733855 and https://github.com/w3ctag/design-reviews/issues/803#issuecomment-2697735993. WebKit: Closed Without a Position ( https://github.com/WebKit/standards-positions/issues/120) as they want to give a holistic review in https://github.com/WebKit/standards-positions/issues/309. Web developers: Positive (https://github.com/fedidcg/FedCM/issues/319) Other signals: Ergonomics Using this API will just require expanding the get() to use more providers, so it will benefit from the ergonomics of the initial FedCM API. Activation The main activation issue is having to include all IDPs in the same get() call, which is tough because IDPs generally are independent from each other. That said, solving this problem has been proved to be very challenging, and we do have developers who can use the single get() call, so we wish to start with the simpler version of multi IDP support. Security The security considerations are similar to those of the single IDP case. We do not require users to input usernames and passwords for spoofing concerns, and we also have input protection to prevent accidental click right after the UI is shown. Also, of course one IdP should not learn information from another IdP. The token received is passed directly to the RP. 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? N/A. FedCM does not currently work in WebView Debuggability The debug tools are similar to that of original FedCM: console messages and DevTools issues. Seeing FedCM network requests is not supported in DevTools but can be achieved via net-export, per https://github.com/w3c-fedid/FedCM/blob/e3e894c212e2b9c976fb9e2df268982bbdf947dd/explorations/debug-network-requests-chrome.md . Will this feature be supported on all six Blink platforms (Windows, Mac, Linux, ChromeOS, Android, and Android WebView)? No As with the initial FedCM, we do not support Android WebView. Is this feature fully tested by web-platform-tests <https://chromium.googlesource.com/chromium/src/+/main/docs/testing/web_platform_tests.md> ? Yes https://wpt.fyi/results/fedcm/fedcm-multi-idp?label=experimental&label=master&aligned Flag name on about://flags FedCmMultiIdp Finch feature name FedCmMultipleIdentityProviders Requires code in //chrome? True Tracking bug issues.chromium.org/issues/392142260 Launch bug https://launch.corp.google.com/launch/4318007 Availability expectation Feature is available only in Chromium browsers at first. Possibly available in Firefox later on since they have expressed interest in shipping FedCM. Adoption expectation Feature is used by specific partner(s) to provide functionality within 12 months of launch in Chrome. May later on be considered a best practice for federation in certain scenarios. Adoption plan We have been running an Origin Trial with our partners which is going well so far. We intend to also achieve greater adoption by notifying developers interested in FedCM about the availability of multiple IDPs at the same time. Non-OSS dependencies Does the feature depend on any code or APIs outside the Chromium open source repository and its open-source dependencies to function? No Estimated milestones Shipping on desktop 136 Origin trial desktop first 128 Origin trial desktop last 135 Origin trial extension 1 end milestone 135 DevTrial on desktop 122 Shipping on Android 136 Anticipated spec changes N/A Link to entry on the Chrome Platform Status https://chromestatus.com/feature/5067784766095360?gate=5297387694718976 Links to previous Intent discussions Intent to Experiment: https://groups.google.com/a/chromium.org/d/msgid/blink-dev/9c4ae5a9-5f36-4421-82c6-07b676ef768cn%40chromium.org Intent to Extend Experiment 1: https://groups.google.com/a/chromium.org/d/msgid/blink-dev/eeb64bec-d48b-4479-8f89-c7a4054b906fn%40chromium.org I will note that we are still waiting on our Origin Trial (OT) partners to finish setting up their infrastructure to begin the OT testing real users, but they are very excited about the API and we have decided to ship this despite not having a lot of deployment feedback for the following reasons: - This API is almost a bugfix, in the sense that it enables FedCM to truly shine by allowing the website to request multiple IDPs at the same time. We knew we were going to ship this extension at some point in the future ever since our origin FedCM I2S. - Firefox is increasingly more interested in implementing FedCM, and in their view a minimal viable version requires multi-IDP support. Thus, this launch actually makes FedCM more cross browser compatible. - We believe that there are great use cases for FedCM when multiple IDPs are involved. Activation is just hard because, unlike single-IDP FedCM, there is just nothing like it currently. But developers gravitate towards APIs that they can already use today, so we believe shipping will help us advertise this FedCM extension for the use cases where it can be useful. The evidence of demand, while not super direct, is still strong in a couple of ways: - Through our OT: while our partners have not shipped, we had a lot of excitement from the dev trials. - Through future extensions of FedCM which have gathered lots of interest, such as IDP registration <https://github.com/w3c-fedid/idp-registration>. The multi IDP extension is a requirement for this feature, and it is a building block or enhances other extensions such as lightweight fedcm <https://github.com/fedidcg/LightweightFedCM>. 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/2b869445-e362-47f9-acb9-61ab63d302e7n%40chromium.org.