8

我编写了一些代码来使用 Google SignIn 构建 Web 应用程序。
首先,初始化API平台,

gAuth = gapi.auth2.init( {
    client_id: gAuthClientId,
    fetch_basic_profile: false,
    scope: gAuthScope
} );

并让用户登录。

gAuth.signIn({
    prompt: 'none'
});

在此代码中,我想跳过(已经)登录用户的身份验证弹出窗口,并遵循开发人员文档中的参考:

prompt:指定是否提示用户重新认证。请参阅 OpenID Connect 请求参数。可选的。

和上面文档中显示的参数文档

提示
可选。以空格分隔、区分大小写的 ASCII 字符串值列表,指定授权服务器是否提示最终用户重新进行身份验证和同意。定义的值为:
none
授权服务器不得显示任何身份验证或同意用户界面页面。如果最终用户尚未通过身份验证,或者客户没有预先配置对请求的声明的同意或不满足处理请求的其他条件,则会返回错误。错误代码通常是 login_required、interaction_required。这可以用作检查现有身份验证和/或同意的方法。

但效果不佳。实际上,对于已登录的用户,API 会显示一次空白弹出窗口,然后立即关闭它。当我自动执行此阶段时,它被浏览器阻止。

为什么会发生?我应该怎么做才能避免弹出登录用户?

4

0 回答 0