当点击Continue With Google
按钮时,一个弹出窗口出现(在我用Python中的Django创建的网站上),如预期的那样,在Google Chrome中询问使用哪个帐户继续等...
在Microsoft Edge中做同样的事情,弹出窗口是空白的,没有内容。我不确定这是我的代码、OAUTH帐户还是Microsoft Edge本身的问题。
This is the popup in Google Chrome (working as normally)
This is the popup in Microsoft Edge (not working at all)
我希望顶部的图像在两个浏览器中都会出现。有人知道为什么这在Microsoft Edge中不起作用吗?
编辑:
以下两个错误出现在Microsoft Edge控制台中,但它们也会显示在Google Chrome中:
Failed to load resource: the server responded with a status of 400 ()
[GSI_LOGGER]: The given origin is not allowed for the given client ID.
我在Firefox中测试了这个网站,一切都和预期的一样,类似于谷歌Chrome。
为什么Edge是唯一无法正常工作的浏览器(我的Microsoft Edge是最新的)
HTML代码:
<script src="https://accounts.google.com/gsi/client" async defer></script>
<div id="g_id_onload"
data-client_id="**********.apps.googleusercontent.com"
data-login_uri="http://localhost:8000/accounts/continue-with-google/?source=signup"
data-auto_prompt="false">
</div>
<div id="continueWithGoogleButton" class="g_id_signin"
data-type="standard"
data-size="large"
data-theme="outline"
data-text="continue_with"
data-shape="pill"
data-logo_alignment="left"
data-width="300">
</div>
1条答案
按热度按时间92dk7w1h1#
一定要阅读这篇文章,因为它看起来可能是导致问题的原因(空白窗口)。另外,the key points很重要(#2和#3),因为你是在
localhost
中开发的。这也意味着你可能需要添加(如果你还没有)一个关于引用策略的meta
标记。FiddlingAway在评论中回答了这个问题。我想把这个问题作为一个答案发表,以便将来参考。为了节省一些研究,在Django中,你需要写
settings.py
文件SECURE_CROSS_ORIGIN_OPENER_POLICY = "same-origin-allow-popups"
。检查上面的链接来了解这意味着什么。希望这有帮助!