FedCM has decided to follow a WHATWG-like working mode
<https://github.com/fedidcg/FedCM/issues/431> where normative PRs land only
with 2+ implementer support. Given that reviews were requested almost 2
months ago, and the blink launch process is designed not to stall
indefinitely on consensus, I don't think API owners should be blocking this
intent further on the PRs landing. Mike, WDYT?

Rick

On Fri, Oct 27, 2023 at 4:45 PM Mike Taylor <miketa...@chromium.org> wrote:

> Thanks Nicolás and Yi.
>
> LGTM1 % the PRs landing before this ships, and assuming Mozilla does not
> have feedback that materially changes the API shape. If that's the case,
> can you report back?
>
> thanks,
> Mike
> On 10/26/23 10:27 AM, Nicolás Peña wrote:
>
> For the record, we did request reviews: here
> <https://github.com/fedidcg/FedCM/pull/498#issuecomment-1703004458> and
> here <https://github.com/fedidcg/FedCM/pull/500#issuecomment-1706732499>.
> I'll ask to see if they can be added to the set of users from whom we can
> 'request review' in GitHub UI.
> On Wednesday, October 25, 2023 at 7:17:53 PM UTC-4 Yi Gu wrote:
>
>> We sync’d with @bvandersloot-mozilla
>> <https://github.com/bvandersloot-mozilla> in FedIdCG [1] and they have
>> confirmed that it’s on their list.
>>
>> [1]
>>
>> https://github.com/fedidcg/meetings/blob/main/2023/2023-10-02-notes.md#notes
>>
>> On Wed, Oct 25, 2023 at 6:51 PM Mike Taylor <miketa...@chromium.org>
>> wrote:
>>
>>> On 10/25/23 4:14 PM, Yi Gu wrote:
>>>
>>> Thanks Yoav for the review!
>>>
>>> > 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?
>>>
>>> For the Error API, it allows IdP to signal to the browser about the
>>> sign-in failure details such that the browser can make sure the user is
>>> kept informed with possibly next steps. Without this API, when a user
>>> clicks the "Continue as Name" button to sign-in, if it fails for whatever
>>> reasons, the browser rejects the promise silently so the user could be
>>> confused about the status. The fact that we are delaying rejecting the
>>> promise (for privacy reasons) would make it worse because the website
>>> wouldn't learn about the failure immediately either. With this API, the
>>> browser will first show a native UI with proper strings to explain the
>>> error to users and possibly allow users to learn more about next steps. It
>>> will also reject the promise with the errors (if provided by IdP) via
>>> IdentityCredentialError instead of a generic DOMException (which we
>>> currently use). You could find more details here
>>> <https://github.com/fedidcg/FedCM/issues/488#issuecomment-1679742999>.
>>>
>>> For the AutoSelected Flag API, it shares whether auto re-authentication
>>> has been triggered during the flow with both IdP and RP. By default the
>>> CredentialManagement API supports credential auto selection when possible.
>>> However, the browser may decide not to trigger auto selection for
>>> legitimate reasons. While the exact reason should be opaque to IdP or RP,
>>> we could share with them the outcome such that they can better understand
>>> the flow and handle things differently. e.g. for metrics purposes they
>>> could know how many transactions were done with auto re-authentication to
>>> better understand the performance; in addition, an IdP can use the signal
>>> (boolean) to support some security related features. e.g. a user may prefer
>>> explicitly selecting an account with an IdP, if the IdP gets a token
>>> request that shows the account was automatically selected, they could
>>> reject the request and trigger a new sign-in flow to ask for explicit user
>>> mediation. You could find more details here.
>>> <https://github.com/fedidcg/FedCM/issues/497#issuecomment-1698174046>
>>>
>>> > What's preventing these PRs from landing?
>>>
>>> We aligned with Mozilla, who is prototyping FedCM in Firefox right now,
>>> that such spec changes should be reviewed by at least two implementers
>>> before merging. While we have discussed the two APIs
>>> <https://github.com/fedidcg/meetings/blob/main/2023/2023-10-02-notes.md>
>>> at FedIdCG and it "generally looks reasonable", it's not yet formally
>>> reviewed by Mozilla (hence the "Under consideration" signal).
>>>
>>> I don't see anyone from Mozilla as a reviewer for either PR - is there a
>>> plan to request review from them?
>>>
>>>
>>> Thanks.
>>> Yi
>>>
>>> On Wed, Oct 25, 2023 at 11:19 AM Yoav Weiss <yoavwe...@chromium.org>
>>> wrote:
>>>
>>>>
>>>>
>>>> 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/CACh2XCM8FnGsYjCQhzskrzU4RK9fMvpSBv23VV4Cdtr%2BMj0O2w%40mail.gmail.com
>>> <https://groups.google.com/a/chromium.org/d/msgid/blink-dev/CACh2XCM8FnGsYjCQhzskrzU4RK9fMvpSBv23VV4Cdtr%2BMj0O2w%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/f3bf599d-4ce2-482d-8153-87bba1dd1836%40chromium.org
>>> <https://groups.google.com/a/chromium.org/d/msgid/blink-dev/f3bf599d-4ce2-482d-8153-87bba1dd1836%40chromium.org?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/0efea540-3115-4435-8837-fd4983ffd68d%40chromium.org
> <https://groups.google.com/a/chromium.org/d/msgid/blink-dev/0efea540-3115-4435-8837-fd4983ffd68d%40chromium.org?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/CAFUtAY9xmqXCW%3DHowGt_2FCjaoEp0SPzOuqhSD%3Dcg6wrjH2fhw%40mail.gmail.com.

Reply via email to