Closed ericel closed 2 years ago
From the error message it looked like the popup window did not have the access to the opener page. Did you set the Cross-Origin-Opener-Policy
to same-origin
? If that is the case, you need to set it to same-origin-allow-popups
to allow the popup window to talk to its opener.
Just kinda happened upon this, and I think I know how to fix it, so I'll leave the answer here. The Cross-Origin-Opener-Policy
is likely same-origin
, since that is the default for Django sites. To set it to same-origin-allow-popups
on Django v4, set SECURE_CROSS_ORIGIN_OPENER_POLICY
to same-origin-allow-popups
in django settings. Hope it helps you or whoever also finds this!
Glad to hear that you found a solution. Please post any more authentication/authorization questions on Stack Overflow with the google-oauth tag. We're unable to provide support for it here.
does anyone know how to solve this in next js? i've been experiencing the same issue. the dialog box shows to signin into google if I have no accounts already signed in but does not show anything if I have already signed into any gmail account.
does anyone know how to solve this in next js? i've been experiencing the same issue. the dialog box shows to signin into google if I have no accounts already signed in but does not show anything if I have already signed into any gmail account.
try this, it helped me https://stackoverflow.com/a/68469319
Had a similar issue when using VS2022 17.3.5, where the pop-up for Google sign-in would be blank if already signed in to a Google account. Fixed it by disabling JavaScript debugging from Tools > Options.
I also got the same problem in my wordpress login can anyone help
Hi @varad615 did you found the solution of this?
You need to able the origin in the user account where you generate the clientId
Update: I was able to fix this
Update: I was able to fix this
Enlighten us
Update: I was able to fix this
You're the emperor of code. Please show us mere mortals mercy by allowing a glimpse of your infinite knowledge used for solving this problem.
I recently faced this problem as well when upgrading our Django from 3.2 to 4.2 and setting SECURE_CROSS_ORIGIN_OPENER_POLICY
to same-origin-allow-popups
didn't help, but setting it to unsafe-none
solved the issue.
Is this solution good?
unsafe-none
Settings something as unsafe-none doesn't sound, well, safe?
@Megatronicus I thought the same, but again, it's the only documented value for that setting that did the job in my case. I don't know, but here's how I understand it: it's an additional layer of security introduced to django 4 and Django docs explicitly mention that it can be set to None
, which is of course less secure than unsafe-none
(c.f. https://docs.djangoproject.com/en/4.2/ref/middleware/#cross-origin-opener-policy). Plus, in the Mozilla HTTP docs it is stated that it's the default browser behavior.
What are you thoughts on this?
You need to able the origin in the user account where you generate the clientId
Thank you, it works!
For me it works in Chrome but not in Firefox, where I get this error
Hi @varad615 did you found the solution of this?
Ya while creating token ig i added Authorized JavaScript origins and it started working
Good good
does anyone know how to solve this in next js? i've been experiencing the same issue. the dialog box shows to signin into google if I have no accounts already signed in but does not show anything if I have already signed into any gmail account.
try this, it helped me https://stackoverflow.com/a/68469319
It really helped, thanks mate
My Google Auth is Stuck in the popup auth flow. The one-tap authentication works just fine but not the button
. I click on it, the popup opens but that's it, it remains there blank with no progress, never closes or anything.I have all the domains, localhost added in Authorized redirect URIs and Redirects. But I still can't get the popup to populate and complete the authentication flow. Any help is appreciated.
At this point the error I am getting in FIREFOX:
And in CHROME:
The problem seems to be this
picker_popup
in this line of code:a,c);return b.g};li=function(a,b){"picker_popup"===a.i?window.opener.postMessage(b,a.j):window.parent.postMessage(b,a.j)};_.ni=function(a,b){var c=new _.Nd;a.g?(a.g.postMessage(b),c.resolve()):c.reject("Illegal state: try to send message before message channel set up.");return c.g};