javascript – Google登录 – 未收到SecurityError

登录提示和授予应用权限后,我正在实施Google登录的混合/一次性验证码流程,并在Chrome的JS控制台中遇到此错误,大概是当Google代码尝试回调该按钮时:

Uncaught SecurityError:阻止原始“https://ww2.fa.org”的框架访问源代码“https://accounts.google.com”.协议,域和端口必须匹配.

在Safari或IE中似乎并不会发生这种情况,有时在Firefox中也会出现类似的权限错误,但是在Chrome中可以重复使用.使用登录按钮刷新框架(在google旁边的提示之后)通常会导致刷新按钮“知道”登录成功调用成功处理程序…它应该始终工作没有刷新,但只是不.

有什么想法吗?登录时间为https://ww2.fa.org/gauth/,如果您倾向于查看,它只会请求电子邮件的范围.

解决方法

删除了这个错误消息的方法是将https://accounts.google.com添加到云端开发人员控制台的OAuth客户端设置中的授权JAVASCRIPT ORIGINS API& auth – >证书.

更新

当我切换到使用gapi.auth.signIn而不是gapi.login.render时,实际上并没有修复它,而是重新出现问题. this post中的注释中描述的问题是将authResult的g-oauth-window属性发送到您的后端时进行序列化.删除该参数或仅发送您需要修复的属性.

var signInCallback = function(authResult) {
  delete authResult['g-oauth-window'];
  ajaxCallToBackend(authResult);
};

希望这可以帮助.

相关文章

前言 做过web项目开发的人对layer弹层组件肯定不陌生,作为l...
前言 前端表单校验是过滤无效数据、假数据、有毒数据的第一步...
前言 图片上传是web项目常见的需求,我基于之前的博客的代码...
前言 导出Excel文件这个功能,通常都是在后端实现返回前端一...
前言 众所周知,js是单线程的,从上往下,从左往右依次执行,...
前言 项目开发中,我们可能会碰到这样的需求:select标签,禁...