On Thu, Nov 7, 2024 at 3:46 PM Christian Biesinger <cbiesin...@chromium.org>
wrote:

>
> Contact emails
>
> cbiesin...@chromium.org
>
> Explainer
>
> Use case we want to support: https://github.com/w3c-fedid/FedCM/issues/477
>
> Derived explainers:
>
> https://github.com/fedidcg/FedCM/issues/555
>
> https://github.com/fedidcg/FedCM/issues/556
>
> https://github.com/fedidcg/FedCM/issues/559
>
> https://github.com/fedidcg/FedCM/issues/552
>
> https://github.com/fedidcg/FedCM/issues/553
>
> Specification
>
> https://github.com/w3c-fedid/FedCM/pull/662 (continuation API)
>
> https://github.com/w3c-fedid/FedCM/pull/661 (parameter API, merged)
>
> https://github.com/w3c-fedid/FedCM/pull/668 (fields API)
>
> https://github.com/w3c-fedid/FedCM/pull/667 (multiple configURLs)
>
> https://github.com/w3c-fedid/FedCM/pull/669 (account labels)
>

Most of these are still open, is something blocking finishing and landing
these spec PRs?


>
> Summary
>
> This bundles a few features that we would like to launch at the same time.
> We are bundling them together because they can be used by IdPs to implement
> authorization flows such as letting a user grant access to a user’s
> calendar to an RP. See also https://github.com/w3c-fedid/FedCM/issues/477.
> Specifically:
>
>    -
>
>    The IdP needs to be able to show a custom prompt for the permission
>    (continuation API)
>    -
>
>    The RP needs an extensible way to communicate to the IdP what it wants
>    access to (parameters API)
>    -
>
>    The RP needs to be able to customize/suppress the text referring to
>    the IdP sharing “name, email address and profile picture” because in this
>    situation they are asking for different information (fields API)
>    -
>
>    The IdP may want to use a different endpoint to implement the
>    authorization flow (multiple configURLs)
>    -
>
>    Certain accounts may only be eligible for one of the authentication
>    and authorization flows and so there needs to be a way to show different
>    accounts in the two flows (account labels API)
>
>
> In addition, the APIs are solving a series of related FPWD blockers
> <https://github.com/w3c-fedid/FedCM/wiki/Status-of-FPWD%E2%80%90identified-Issues>
> identified
> <https://lists.w3.org/Archives/Public/public-fedid-wg/2024Jul/0006.html>
> by the FedID WG.
>
> Continuation API:
>
> https://github.com/fedidcg/FedCM/issues/555
>
> This lets the IDP open a popup window to finish the sign-in flow after
> potentially collecting additional information.
>
> Parameters API:
>
> https://github.com/fedidcg/FedCM/issues/556
>
> This lets RPs pass additional data to the ID assertion endpoint
>
> Fields API:
>
> https://github.com/fedidcg/FedCM/issues/559
>
> This lets RPs bypass the data sharing prompt in favor of the IDP prompting
>
> Multiple configURLs:
>
> https://github.com/fedidcg/FedCM/issues/552
>
> This lets IDPs use different config files in different contexts without
> weakening FedCM privacy properties, by allowing one accounts endpoint for
> the eTLD+1 (instead of one config file, which is more limiting than
> necessary)
>
> Account labels:
>
> https://github.com/fedidcg/FedCM/issues/553
>
> Combined with the previous proposal, this allows filtering the account
> list per config file without providing additional entropy to the IDP.
>
>
> Blink component
>
> Blink>Identity>FedCM
> <https://bugs.chromium.org/p/chromium/issues/list?q=component:Blink%3EIdentity%3EFedCM>
>
> TAG review
>
> https://github.com/w3ctag/design-reviews/issues/945
>
> TAG review status
>
> Pending
>
> Chromium Trial Name
>
> FedCmContinueOnBundle
>
> Link to origin trial feedback summary
>
> What we learned during the origin trial:
>
>
>    -
>
>    This bundle works well for implementing an authorization flow for an
>    identity provider
>    -
>
>    The parameter API needed to be refined to be easier to use for an IDP
>    (allow nested objects; send the parameters as serialized JSON instead of
>    individually prefixed parameters)
>    -
>
>    The fields API has gone through various iterations during the trial
>    and is now easier and more flexible to use
>    -
>
>    We have identified a possible future extension to the continuation API
>    (adding an IdentityProvider.reject function to mirror .resolve) but are not
>    shipping it as part of this launch.
>
>
>
>
> Origin Trial documentation link
>
>
> https://developers.google.com/privacy-sandbox/blog/fedcm-chrome-126-updates#origin_trial_fedcm_continuation_api_bundle
>
>
> WebFeature UseCounter name
>
> kFedCmContinueOnResponse
>
> Risks
>
> Interoperability and Compatibility
>
> No compatibility risk as this adds new parameters to dictionaries in a
> function argument.
>
> No concern about interoperability because other browser engines currently
> do not ship FedCM.
>
>
> Gecko: No signal. For incremental improvements to FedCM, Firefox has
> asked us not to file standards position, and they will instead provide
> feedback in the GitHub PR. They have interacted on the spec PRs (e.g. on
> https://github.com/w3c-fedid/FedCM/pull/662) and on the explainers (e.g.
> https://github.com/w3c-fedid/FedCM/issues/477) but have not expressed an
> explicit positive signal.
>
> WebKit: No signal (
> https://github.com/WebKit/standards-positions/issues/336)
>
> Web developers: Positive (
> https://github.com/fedidcg/FedCM/issues/488#issuecomment-1749682526)
> Also: https://github.com/fedidcg/FedCM/issues/496#issuecomment-1781364610
> https://github.com/fedidcg/FedCM/issues/533#issuecomment-1878581998
>
> Other signals:
>
> Ergonomics
>
> This improves ergonomics for passing custom parameters to the IDP because
> it now provides a structured way to do so instead of (ab)using the "nonce"
> parameter.
>
> Otherwise no impact on ergonomics either way.
>
>
> Activation
>
> No particular risks.
>
>
> Security
>
> We made sure that the popup from the continuation API is same-origin with
> the IDP, and that it cannot communicate with the RP except through the
> narrow IdentityProvider.resolve API. In particular, window.opener is null.
>
> The additional parameters from the parameter and fields API are only sent
> to the server after user interaction, and from a privacy perspective are
> equivalent to the existing "nonce" field. However, from a developer
> ergonomics perspective the additions are much easier to use.
>
> Account labels were carefully designed not to add entropy and in
> particular not to send additional data to the server.
>
>
> 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
>
>
> Debuggability
>
> We show console messages to assist debugging where appropriate.
>
> Will this feature be supported on all six Blink platforms (Windows, Mac,
> Linux, ChromeOS, Android, and Android WebView)?
>
> No
>
> FedCM in general is not supported in 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-authz?label=experimental&label=master&aligned
>
> We are investing why they are failing on wpt.fyi even though they pass in
> our internal infrastructure (e.g.
> https://ci.chromium.org/ui/test/chromium/ninja%3A%2F%2F%3Ablink_wpt_tests%2Fvirtual%2Ffedcm-authz%2Fexternal%2Fwpt%2Ffedcm%2Ffedcm-authz%2Ffedcm-continue-on-with-account.https.html
> )
>
>
>
> Flag name on chrome://flags
>
> fedcm-authz
>
> Finch feature name
>
> FedCmAuthz
>
> Requires code in //chrome?
>
> True
>
> Tracking bug
>
> https://crbug.com/40262526
>
> Launch bug
>
> https://launch.corp.google.com/launch/4348692
>
> Measurement
>
> https://chromestatus.com/metrics/feature/timeline/popularity/4955 In
> addition, we have several UMA metrics.
>
> Estimated milestones
>
> Shipping on desktop
>
> 132
>
> Origin trial desktop first
>
> 127
>
> Origin trial desktop last
>
> 131
>
> Origin trial extension 1 end milestone
>
> 133
>
> Shipping on Android
>
> 132
>
> Origin trial Android first
>
> 128
>
> Origin trial Android last
>
> 133
>
>
> Anticipated spec changes
>
> Open questions about a feature may be a source of future web compat or
> interop issues. Please list open issues (e.g. links to known github issues
> in the project for the feature specification) whose resolution may
> introduce web compat/interop risk (e.g., changing to naming or structure of
> the API in a non-backward-compatible way).
>
> None
>
> Link to entry on the Chrome Platform Status
>
> https://chromestatus.com/feature/6495400321351680?gate=4886628616372224
>
> Links to previous Intent discussions
>
> Intent to Prototype:
> https://groups.google.com/a/chromium.org/g/blink-dev/c/qqrG6yn1u1Q?pli=1
>
> Intent to Experiment:
> https://groups.google.com/a/chromium.org/d/msgid/blink-dev/CAPTJ0XEedt%2Bu2pS_2NHHfxtEV9JJ7wbuKNEnieeWr6w8FtwKLw%40mail.gmail.com
>
> Intent to Extend Experiment 1:
> https://groups.google.com/a/chromium.org/d/msgid/blink-dev/66ec74bf.2b0a0220.195547.03af.GAE%40google.com
>
>
> 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/CAPTJ0XHfrr2FvW4qP%2BsS3Jn7DoE5oyTZETyuJTgT9wSN46ao4Q%40mail.gmail.com
> <https://groups.google.com/a/chromium.org/d/msgid/blink-dev/CAPTJ0XHfrr2FvW4qP%2BsS3Jn7DoE5oyTZETyuJTgT9wSN46ao4Q%40mail.gmail.com?utm_medium=email&utm_source=footer>
> .
>

-- 
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/CAOMQ%2Bw9B2dg1u1jhOrX8nZt%3DqXaV_%2Bocz6%2Be%3D_ULjMsxMDExww%40mail.gmail.com.

Reply via email to