S. *_*her 15 javascript internet-explorer google-openid google-oauth google-signin
我正在尝试使用Google登录网站(https://developers.google.com/identity/sign-in/web/)并注意到我的解决方案无法在Internet Explorer 11中使用.要尝试消除尽可能多的内容尽可能的因素,我根据Google提供的示例代码创建了一个简单的测试用例.
我已经在我的Windows 7 PC上的Chrome,Mac上的Chrome,Mac上的Safari,Mac上的Firefox和iPhone上的Safari上测试了它.它适用于所有这些(例如,当我点击登录按钮并选择/输入我的Google帐户时,它返回到页面,按钮显示,"登录").
但是,它不适用于PC上的Internet Explorer 11,或者奇怪的是,适用于iOS的Chrome.单击该按钮后,将打开一个窗口以允许我选择我的Google帐户,但在进行选择后,窗口将关闭并返回到页面,其中仍有一个按钮仍然显示"登录".
以下是示例代码:
<html>
<head>
<meta name="google-signin-client_id" content="61023618497-vqfbod57f26ncjl9d6firk3t09ve4tt3.apps.googleusercontent.com">
<script src="https://apis.google.com/js/platform.js" async defer></script>
</head>
<body>
<div class="g-signin2"></div>
</body>
</html>
Run Code Online (Sandbox Code Playgroud)
关于可能发生的事情的任何想法?我已经四处寻找并且没有找到任何解决方案.
一个想法是将"accounts.google.com"添加到IE的可信站点.这没用.我也尝试通过https而不是http来访问该页面.这也没有什么不同.还有什么我应该尝试的吗?
确保您没有将 IE 11 配置为阻止所有第三方 cookie。
第三方 cookie 是必需的,而当第三方 cookie 被阻止时发生的用户体验(正如您所发现的)还有很多不足之处。不会向用户显示任何警告或错误消息。
您可以尝试在错误发生之前捕获它。通过尝试在第二个域(您控制的)上设置 cookie,然后发出第二个请求以确保设置 cookie,可以检测第三方 cookie 是否被阻止。您的服务器上需要一个脚本或其他东西来设置和检查 cookie(由于浏览器安全模型的原因,仅使用 JavaScript 无法完成此操作)。
| 归档时间: |
|
| 查看次数: |
3746 次 |
| 最近记录: |