Thanks all! This is shipping in Chrome 125.

On Wednesday, March 20, 2024 at 11:09:47 AM UTC-4 Daniel Bratell wrote:

> LGTM3
>
> I'm also a bit concerned with the risk, but it sounds like you have it 
> under control and will be able to handle the rollout appropriately.
>
> /Daniel
> On 2024-03-18 07:42, Yoav Weiss (@Shopify) wrote:
>
> LGTM2 actually..
>
> On Mon, Mar 18, 2024 at 7:40 AM Yoav Weiss (@Shopify) <
> yoav...@chromium.org> wrote:
>
>> LGTM1 to ship the ID assertion endpoint CORS requirements. 
>>
>> On Wed, Mar 13, 2024 at 3:11 PM Nicolás Peña <n...@chromium.org> wrote:
>>
>>>
>>> On Wednesday, March 13, 2024 at 7:37:29 AM UTC-4 Yoav Weiss wrote:
>>>
>>> On Tuesday, March 12, 2024 at 3:11:24 PM UTC-4 Nicolás Peña wrote:
>>>
>>> Regarding risk: we are going to implement this and test the IDPs we know 
>>> are currently using FedCM, but we do not anticipate them to break since 
>>> they are currently already relying on using third-party cookies in iframes. 
>>> We also plan to have developer outreach/blogpost for this change so 
>>> developers currently testing out FedCM are not caught by surprise. 
>>>
>>> Regarding vendor alignment: we have been working with Firefox and Apple 
>>> to align on the correct behavior of the FedCM fetches: see 
>>> https://github.com/fedidcg/FedCM/issues/320 and 
>>> https://github.com/fedidcg/FedCM/issues/428. This I2S is a result of a 
>>> lot of discussions, and the small addition was a result of a very recent 
>>> discussion occurring on our FedCM CORS breakout session 
>>> <https://www.w3.org/2024/03/breakouts-day-2024/#b-15220813-651d-4795-98ae-a17434c1e50f>
>>> .
>>>
>>> Regarding spec, during our breakout Anne also mentioned that the small 
>>> addition is not possible to specify properly, as it depends on the ongoing 
>>> cookie layering work. I will add a note 
>>> <https://github.com/fedidcg/FedCM/pull/550> on the spec in that fetch 
>>> so IDPs know which cookies should be sent.
>>>
>>> Anyways, I understand it is a bit late to add something to this I2S so 
>>> if you prefer that we send a separate I2S/PSA for the SameSite change, we 
>>> can do that instead.
>>>
>>>
>>> Is the accounts endpoint the same endpoint to which this intent applies? 
>>> Or is it different from the ID assertion endpoint?
>>> If it's different, a separate I2S would be best. If it's the same, then 
>>> I think we can probably fold it into this intent.
>>>
>>>
>>> This change is to the ID assertion endpoint, which is different from the 
>>> accounts endpoint. Then based on your comment, we will keep those two in 
>>> separate intents. Consider the small addition I suggested above removed.
>>>  
>>>
>>>  
>>>
>>>
>>>
>>> On Tuesday, March 12, 2024 at 1:34:56 PM UTC-4 Mike Taylor wrote:
>>>
>>> On 3/12/24 11:33 AM, Nicolás Peña Moreno wrote:
>>>
>>> Thanks for the suggestion, Yoav! It seems something fetch experts have 
>>> some concerns about, so we do not plan to proceed with that suggestion at 
>>> the moment.
>>>
>>> Thanks for considering! Anne makes a good point that active defense here 
>>> (by filtering requests based on destination) would work better against 
>>> timing attacks than passive defense (where the responses are blocked by the 
>>> browser). Please make sure that IDPs are aware of the destination filtering 
>>> requirement, by having it emphasized in developer facing documentation.
>>>
>>>
>>> Yes, we will work with devrel to continue ensuring IDP best practices 
>>> are easily discoverable.
>>>  
>>>
>>>
>>> I'd like to append a small addition to this I2S (mainly to avoid having 
>>> an additional PSA since it is very related to this one): we would also like 
>>> approval to only send Same-Site=None cookies in the accounts endpoint, 
>>> instead of all cookies (so not Same-Site=Lax or Same-Site=Strict). This is 
>>> also a breaking change but we do not anticipate IDPs to break, and also 
>>> plan to work with them to ensure that they are aware of this change and are 
>>> not caught by surprise.
>>>
>>> To my non-FedCM expert brain, this doesn't feel like a small addition 
>>> (happy to be wrong!), beyond not understanding the scale of the risk, the 
>>> normal process questions come to mind i.e., is it specced, do we have 
>>> tests, what do other vendors think about it?
>>>
>>>
>>> On Monday, March 11, 2024 at 6:39:14 AM UTC-4 Yoav Weiss wrote:
>>>
>>> <owner hat off>
>>> I left a comment 
>>> <https://github.com/fedidcg/FedCM/issues/428#issuecomment-1980469172> 
>>> around 
>>> potentially adding a CORS mode that would help IDP servers statically 
>>> protect themselves from destination-change attacks. I don't *think* it's a 
>>> blocker, but it's worth considering something along those lines to increase 
>>> the solution's robustness to configuration errors, and ensure it fails 
>>> closed. (and ask IDPs' security teams about their thoughts)
>>>
>>> On Wed, Mar 6, 2024 at 5:51 PM Nicolás Peña <n...@chromium.org> wrote:
>>>
>>> No, Sec-Fetch-Dest 
>>> <https://developer.mozilla.org/en-US/docs/Web/HTTP/Headers/Sec-Fetch-Dest> 
>>> is not changing. Sec-Fetch-Mode 
>>> <https://developer.mozilla.org/en-US/docs/Web/HTTP/Headers/Sec-Fetch-Mode> 
>>> is.
>>>
>>> On Wednesday, March 6, 2024 at 11:31:35 AM UTC-5 Chris Harrelson wrote:
>>>
>>> On Wed, Mar 6, 2024 at 8:28 AM Nicolás Peña <n...@chromium.org> wrote:
>>>
>>>
>>>
>>> On Wednesday, March 6, 2024 at 5:11:09 AM UTC-5 Yoav Weiss wrote:
>>>
>>> On Wed, Mar 6, 2024 at 10:21 AM Yoav Weiss (@Shopify) <
>>> yoav...@chromium.org> wrote:
>>>
>>>
>>>
>>> On Mon, Mar 4, 2024 at 9:36 PM Mike Taylor <mike...@chromium.org> wrote:
>>>
>>> LGTM1
>>> On 3/4/24 1:33 PM, Nicolás Peña wrote:
>>>
>>> Contact emails 
>>>
>>> n...@chromium.org
>>>
>>> Explainer 
>>>
>>> https://github.com/fedidcg/FedCM/issues/428 
>>>
>>>
>>> A few lines summarizing this issue would be most useful when evaluating 
>>> this and understanding what y'all want to ship.
>>> In particular, it'd be useful to understand the request flow, what is 
>>> the request's origin (as IIUC, we're talking about requests issued from the 
>>> browser), and what is the request destination that we may want IDPs to 
>>> check.
>>>
>>> Examples of the checks IDPs would have to make would also be helpful.
>>>
>>>
>>> Sure! From the spec 
>>> <https://fedidcg.github.io/FedCM/#idp-api-id-assertion-endpoint>, here 
>>> is a sample request:
>>>
>>> POST /fedcm_assertion_endpoint HTTP/1.1
>>> Host: idp.example
>>> Origin: https://rp.example/
>>> Content-Type: application/x-www-form-urlencoded
>>> Cookie: 0x23223
>>> Sec-Fetch-Dest: webidentity
>>> account_id=123&client_id=client1234&nonce=Ct60bD&disclosure_
>>> text_shown=true
>>>  
>>> With this change, Sec-Fetch-Mode will now be cors in this request and 
>>> the IDP is expected to return the following in the response (no preflight 
>>> is performed):
>>>
>>>
>>> Do you mean Sec-Fetch-Dest?
>>>  
>>>
>>>
>>> Access-Control-Allow-Origin: https://rp.example/
>>> Access-Control-Allow-Credentials: true
>>>  
>>>
>>>
>>> Also, is the "identity assertion" endpoint the same as the token 
>>> endpoint 
>>> <https://github.com/fedidcg/FedCM/blob/main/explainer.md#token_endpoint>
>>> ?
>>>
>>>
>>> Yea. I think that explainer doc is not super up to date.
>>>  
>>>
>>>
>>> Specification 
>>>
>>> https://github.com/fedidcg/FedCM/pull/547 
>>>
>>> Summary 
>>>
>>> The fetches in the FedCM API are hard to reason about because of the 
>>> properties required of them. While there is ongoing discussion regarding 
>>> the accounts endpoint, there is broad consensus that the ID assertion 
>>> endpoint should use CORS. This aligns security properties of this fetch 
>>> more closely to other fetches in the web platform.
>>>
>>> Blink component 
>>>
>>> Blink>Identity>FedCM 
>>> <https://g-issues.chromium.org/issues?q=status:open%20componentid:1456331&pli=1&authuser=0>
>>>
>>> TAG review 
>>>
>>> Not requesting a TAG review. We have already had extensive discussions 
>>> with Fetch experts.
>>>
>>> TAG review status 
>>>
>>> N/A
>>>
>>> Risks
>>>
>>> Interoperability and Compatibility 
>>>
>>> This is a backwards incompatible feature, but one that is warranted due 
>>> to consensus reached by our security reviewers as well as other browser 
>>> vendor engineers. We have a manageable list of IDPs that we know are using 
>>> the FedCM API and we have reached out to all IDPs that are currently 
>>> deploying FedCM to make sure that they won’t break with this change.
>>>
>>>
>>> Gecko: Positive based on TPAC discussions and 
>>> https://github.com/fedidcg/FedCM/issues/428. Not filing a standards 
>>> position request for small additions at the explicit request from Firefox 
>>> (they prefer PRs).
>>>
>>> WebKit: Positive based on TPAC discussions and 
>>> https://github.com/fedidcg/FedCM/issues/428. Recently, standards 
>>> position requests for smaller FedCM features have been closed, pointing to 
>>> the (unresolved) main FedCM one in https://github.com/WebKit/stan
>>> dards-positions/issues/309 so not filing one for this.
>>>
>>> Web developers: No signals
>>>
>>> Other signals:
>>>
>>> Ergonomics 
>>>
>>> N/A
>>>
>>>
>>> Activation 
>>>
>>> N/A
>>>
>>>
>>> Security 
>>>
>>> By adding CORS, we add a check that the IDP explicitly agrees for the 
>>> browser to share the ID assertion response to the RP. In addition, having 
>>> this fetch align with most other credentialed fetches in the browser means 
>>> that any future protections are received by default, and we do not have to 
>>> special case this fetch.
>>>
>>>
>>> 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
>>>
>>>
>>> Debuggability 
>>>
>>> We surface errors when there is a network problem with the ID assertion 
>>> fetch. This will help developers understand when this feature introduces a 
>>> problem in their FedCM calls.
>>>
>>>
>>> Will this feature be supported on all six Blink platforms (Windows, Mac, 
>>> Linux, ChromeOS, Android, and Android WebView)? 
>>>
>>> No. FedCM is not supported on Android WebView.
>>>
>>> Is this feature fully tested by web-platform-tests 
>>> <https://chromium.googlesource.com/chromium/src/+/main/docs/testing/web_platform_tests.md>
>>> ? 
>>>
>>> https://wpt.fyi/results/credential-management/fedcm-identity
>>> -assertion-nocors.https.html?label=experimental&label=master&aligned 
>>> (will pass on Chrome once we ship)
>>>
>>> Flag name on chrome://flags 
>>>
>>> None
>>>
>>> Finch feature name 
>>>
>>> FedCmIdAssertionCORS
>>>
>>> Requires code in //chrome? 
>>>
>>> True (because FedCM API does)
>>>
>>> Tracking bug 
>>>
>>> https://issues.chromium.org/issues/40284123
>>>
>>> Estimated milestones 
>>>
>>> DevTrial on desktop
>>>
>>> 120
>>>
>>>
>>> DevTrial on Android
>>>
>>> 120
>>>
>>> We want to ship on M124
>>>
>>> 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).
>>>
>>> https://github.com/whatwg/fetch/issues/1637
>>>
>>> Link to entry on the Chrome Platform Status 
>>>
>>> https://chromestatus.com/feature/5094763339710464
>>>
>>> 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/ch
>>> romium.org/d/msgid/blink-dev/1814484e-4a0c-4210-b936-29ead46
>>> f32c5n%40chromium.org 
>>> <https://groups.google.com/a/chromium.org/d/msgid/blink-dev/1814484e-4a0c-4210-b936-29ead46f32c5n%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/ch
>>> romium.org/d/msgid/blink-dev/91c26d40-ccc9-4abe-bf97-38cd9e4
>>> 8f684%40chromium.org 
>>> <https://groups.google.com/a/chromium.org/d/msgid/blink-dev/91c26d40-ccc9-4abe-bf97-38cd9e48f684%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+...@chromium.org.
>>>
>>> To view this discussion on the web visit https://groups.google.com/a/ch
>>> romium.org/d/msgid/blink-dev/a349c863-9904-491f-9e9d-3122768
>>> 3d4ffn%40chromium.org 
>>> <https://groups.google.com/a/chromium.org/d/msgid/blink-dev/a349c863-9904-491f-9e9d-31227683d4ffn%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+...@chromium.org.
>
> To view this discussion on the web visit 
> https://groups.google.com/a/chromium.org/d/msgid/blink-dev/CAOmohS%2BpVCGJ-mtXpG1oT7VWPv9YhQqh%2BpPipFDhBwmoiTBLsQ%40mail.gmail.com
>  
> <https://groups.google.com/a/chromium.org/d/msgid/blink-dev/CAOmohS%2BpVCGJ-mtXpG1oT7VWPv9YhQqh%2BpPipFDhBwmoiTBLsQ%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/b1426c09-2f86-41a5-a740-752df259fa78n%40chromium.org.

Reply via email to