Open jsnajdr opened 3 years ago
Thanks for the report. The iFramed connection flow is going away in the next release (see #19872), so this shouldn't be an issue for much longer.
Thanks for the response. I should also note that when trying the same task in Safari, with ITP enabled and 3rd party cookies strictly blocked with no exceptions, the flow was different. No popup window with login, no iframes. There was a top-level navigation to wordpress.com/jetpack/connect and back and the connection proceeded flawlessly.
There was a top-level navigation to wordpress.com/jetpack/connect and back and the connection proceeded flawlessly.
Yes, this is the old flow that will become the default flow again in the next release.
With the current iFramed flow, we've tried to properly fallback to the non-iFramed flow when necessary (see #19037 for some more details / examples), but as you've experienced it's not perfect. This is one of the reasons the iFramed flow is going away.
To confirm my understanding: it is the "in place flow" that will be removed and it will be removed despite the good results (17% increase in finished connections) reported in p1HpG7-8SU-p2?
That's the one, yes. You can find out more about all this in p1HpG7-bJT-p2
Steps to reproduce the issue
Clicking the "Approve" button failed to connect me and I can't make further progress.
Some analysis of what's going on: The "connect as ..." box is an iframe loaded from
https://jetpack.wordpress.com/jetpack.authorize_iframe
. That iframe, although it's cross-origin (jurassic.ninja site loads wordpress.com frame), is loaded with thewordpress_logged_in
cookie, so the frame knows who I am. The request and response also contain awpcom3rdParty
cookie. So, if Jetpack tried to detect blocked 3rd party cookies here, the detection failed and concluded that 3rd party cookies are OK.Then the iframe loads a nested iframe: the REST proxy. Now on this iframe request the 3rd party login cookies (
wordpress_sec
andwordpress_logged_in
) are blocked. The iframe is not authorized and the REST request that is supposed to connect the site:is not authenticated.
Why was the
/jetpack.authorize_iframe
allowed to use 3rd party cookies and the REST proxy iframe was not? I'm not sure, but Firefox probably decided that with some heuristics.wordpress.com
is a domain I previously visited as first party and logged in there. That can be taken into account. And that heuristic no longer applies for the second nested iframe.