我有一个可以用于移动设备或作为网络应用程序的Ionic应用程序,有一个允许谷歌登录的按钮,并且根据它的网络应用程序或本机应用程序谷歌登录是否工作方式不同,只提到这个因为否则我们可以使用更标准的谷歌登录按钮。
因此,网络应用登录适用于所有当前浏览器,并且在Chrome中没有弹出窗口,但在较旧的浏览器(特别是Chrome 43和44)中,它会尝试打开弹出窗口,然后被Chrome阻止。
我正在使用Google Javascript Api(https://developers.google.com/identity/sign-in/web/reference)进行网络应用登录,并且应该能够提供更改弹出窗口以向用户显示页面的选项,但这似乎被忽略了。经过一些评论后,似乎是'_gapi.signIn'函数导致弹出窗口不是init。
我们的代码如下:
gapi.load (
'auth2',
() => {
if (!_gapi) {
_gapi = gapi.auth2.init ({
client_id : credentials.clientId,
cookiepolicy : 'single_host_origin',
})
}
_gapi.signIn ({
display : 'page',
prompt : 'none',
}).then (
(gUser) => {
let profile
profile = gUser.getBasicProfile ()
resolve (profile.getEmail ())
},
() => reject ('Google connection error')
)
}
)
任何建议都会非常感激,欢呼!