LGTM3 On Mon, Oct 30, 2023 at 7:35 PM Rick Byers <rby...@chromium.org> wrote:
> Thanks Mike. LGTM2 > > On Mon, Oct 30, 2023 at 12:21 PM Mike Taylor <miketa...@chromium.org> > wrote: > >> I'd like to remove my condition around my LGTM - I was able to reach out >> to Ben offline to confirm that he's roughly in favor of the proposed >> additions. Given that, I don't think we should block on reviews >> (acknowledging a private chat is not an official position or statement of >> support). >> >> So, LGTM1 to ship. >> On 10/27/23 5:27 PM, Chris Harrelson wrote: >> >> However, even for WHATWG specs we have in the past blocked approval until >> spec PRs landed in cases where the only blocker was editorial review. This >> appears to be a similar situation. >> >> On Fri, Oct 27, 2023 at 2:17 PM Rick Byers <rby...@chromium.org> wrote: >> >>> 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 >>> <https://groups.google.com/a/chromium.org/d/msgid/blink-dev/CAFUtAY9xmqXCW%3DHowGt_2FCjaoEp0SPzOuqhSD%3Dcg6wrjH2fhw%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/CAL5BFfUvv6DtP5w%2B3jUfGQJTPAYAzeq_qE1MP1OLQunmataXJA%40mail.gmail.com.