Thanks LGTM to extend to 133 inclusive, given the progress on the proposal in the WG, and iteration on the API design/UI .

If you were to request another extension down the road, I would expect to see further progress on the spec PR, and updated tests to match.

thanks,
Mike

On 9/30/24 9:01 AM, Yi Gu wrote:


        Contact emails

y...@chromium.org, tanzach...@chromium.org <mailto:cbiesin...@chromium.org>, cbiesin...@chromium.org, <mailto:cbiesin...@chromium.org>


        Explainer

https://github.com/w3c-fedid/active-mode


        Specification

None


        Summary


        We plan to experiment with two new extensions for the
        Federated Credential Management (FedCM) API:


         *

            Button Mode API

             o

                The button mode lets websites trigger FedCM directly
                when a user clicks a button (like a "Sign-in with IdP"
                button). This means FedCM will always display a
                visible user interface for login, in contrast to the
                widget mode where no UI is shown if a user’s login
                status is logged out.

             o

                When the FedCM API is used in "button mode" and a user
                isn't logged in, they'll be taken to the IdP login
                screen (in a pop-up window). Since this happens in
                response to a clear user action, the UI might even be
                more prominent (e.g., centered and modal) compared to
                the more subtle UI of widget mode.


         *

            Use Other Account API

             o

                With this API, an Identity Provider can request the
                browser to show a button that allows users to choose
                other accounts.


        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/935 <https://github.com/w3ctag/design-reviews/issues/935>


        TAG review status

Pending


        Chromium Trial Name

FedCmButtonMode


        Origin Trial documentation link

https://github.com/w3c-fedid/FedCM/blob/main/explorations/HOWTO-chrome.md#button-mode-api


        WebFeature UseCounter name

kFedCmButtonMode


        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
        [1]. They have not yet shipped but Mozilla is prototyping [2].
        If a user agent chooses not to implement these extensions, the
        sign-in flow should not be affected in that user agent because
        developers can fallback to the existing federated sign-in
        mechanisms.


        [1]
        
https://groups.google.com/a/chromium.org/g/blink-dev/c/URpYPPH-YQ4/m/bzghj9N3AQAJ
        
<https://groups.google.com/a/chromium.org/g/blink-dev/c/URpYPPH-YQ4/m/bzghj9N3AQAJ>

        [2]
        
https://groups.google.com/a/mozilla.org/g/dev-platform/c/ncmUwK1uO98/m/COhPA4ZrAAAJ
        
<https://groups.google.com/a/mozilla.org/g/dev-platform/c/ncmUwK1uO98/m/COhPA4ZrAAAJ>


        Gecko: No signal


        WebKit: No signal


        Web developers: Positive
        (https://github.com/fedidcg/FedCM/issues/442
        <https://github.com/fedidcg/FedCM/issues/442>) These features
        are being developed to address existing feedback for the FedCM
        API.


        Other signals:


        Activation



        Similar to the FedCM API, we deliberately leave the bulk of
        the work to the IdP to ensure that minimal RP change is needed.


        This feature, specifically, is one that can be currently
        controlled by IdP (via JS SDK for “button mode”, via
        server-side config for “use other account”), so we expect
        activation to have a similar profile as FedCM: immediately
        enabled to websites (without redeployment) by IdPs making use
        of it (by redeploying their JS SDKs).



        Security



        The button mode shares most of the security properties from
        the widget mode. e.g. honoring CSP, CORS, using security
        headers, not asking users to type in the browser UI etc.


        It’s worth noting that the pop-up window has the same web
        platform properties as what one would get with
        window.open(url,””,”popup,noopener,noreferrer”) that loads the
        login_url. It is important to note that there's no
        communication allowed between the website and this pop-up
        (e.g. no postMessage, no window.opener). We have shipped
        LoginStatus API and Error API in FedCM that use this type of
        pop-up window.



        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



        Goals for experimentation


        Gather data on whether a browser mediated sign in flow on a
        critical user journey is well received by users and
        developers. We'd like to see how the proposed UI/API play out
        and iterate on them to ship the API in its best shape.



        Reason this experiment is being extended

We have been addressing feedback on the API as well as the UI since the OT starts. Therefore we'd like to extend the OT to test the new changes and support partners to run further experiments.

Progress update per I2EE requirement <https://www.chromium.org/blink/launching-features/#origin-trials>:

  * Draft spec: The Button Mode API (recently renamed to "FedCM Mode
    API") has advanced
    <https://github.com/w3c-fedid/active-mode/issues/2#issuecomment-2379788096> 
to
    stage 2
    
<https://github.com/w3c-fedid/Administration/blob/main/proposals-CG-WG.md#stage2>
 in
    Federated Identity Working Group which means that this work has
    received WG consensus to adopt the proposal as the basis for the
    work as a Working Draft. We are working on a spec PR at this moment.


  * TAG review: Done in the initial I2E thread
  * bit.ly/blink-signals <http://bit.ly/blink-signals> requests: Done
    in the initial I2E thread
  * Outreach for feedback from the spec community: Done in the initial
    I2E thread
  * WPT tests: Done in the initial I2E thread



        Ongoing technical constraints

None



        Debuggability

No special support needed



        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-button-and-other-account?label=experimental&label=master&aligned <https://wpt.fyi/results/fedcm/fedcm-button-and-other-account?label=experimental&label=master&aligned> (They currently fail on wpt.fyi because the feature is off by default)



        Flag name on chrome://flags

FedCmButtonMode, FedCmUseOtherAccount


        Finch feature name


        kFedCmButtonMode

        kFedCmUseOtherAccount


        Requires code in //chrome?

True


        Tracking bug

https://crbug.com/40284792 <https://crbug.com/40284792>


        Launch bug

https://launch.corp.google.com/launch/4293366
<https://launch.corp.google.com/launch/4293366>


        Estimated milestones

Origin trial desktop first      125
Origin trial Android first      128
Origin trial extension 1 end milestone  130

        

Origin trial extension 2 end milestone  133


        Link to entry on the Chrome Platform Status

https://chromestatus.com/feature/4689551782313984 <https://chromestatus.com/feature/4689551782313984>


        Links to previous Intent discussions


        Intent to prototype:
        
https://groups.google.com/a/chromium.org/g/blink-dev/c/hZg8ice8f0A/m/ubJPHUsDAwAJ


Intent to experiment: https://groups.google.com/a/chromium.org/g/blink-dev/c/bQqXXv2S9q0
--
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/CACh2XCMPQ9s2hUR2UYuTTkRDra0qfjxBXA0bOme2baQGbPE6NA%40mail.gmail.com <https://groups.google.com/a/chromium.org/d/msgid/blink-dev/CACh2XCMPQ9s2hUR2UYuTTkRDra0qfjxBXA0bOme2baQGbPE6NA%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 on the web visit 
https://groups.google.com/a/chromium.org/d/msgid/blink-dev/7d74745b-a597-45b3-be50-401310c2083f%40chromium.org.

Reply via email to