oauth2.0 单击关闭按钮后,Google One tap登录UI未显示

x6h2sr28  于 2022-11-28  发布在  Go
关注(0)|答案(4)|浏览(213)

我正试图使新的谷歌一次点击登录工作以下指南:
https://developers.google.com/identity/one-tap/web

google.accounts.id.initialize({
            client_id: '123123123123123123.apps.googleusercontent.com',
            cancel_on_tap_outside: false,
            callback: handleCredentialResponse
        });

        //google.accounts.id.prompt(true);

        google.accounts.id.prompt((notification) => {
            if (notification.isNotDisplayed() || notification.isSkippedMoment()) {

                // continue with another identity provider.
            }
    });

我正在使用One Tap JavaScript API来显示One Tap。而且它完美地完成了它需要做的事情。
客户端验证和所有工作正常,但我有一个问题。在我通过点击窗口右上角的关闭按钮关闭UI后,UI不再显示,当我检查通知状态时,它向我显示此错误;

  • 选择退出或无会话 *

我需要做什么来保持UI显示,即使它被用户关闭?我感谢任何帮助。

wtlkbnrh

wtlkbnrh1#

在开发过程中,我能够通过删除g_state cookie来重置指数冷却。
一种方法是添加一个仅供开发使用的“Clear Google One Tap Cookie”链接,该链接运行服务器端操作以删除g_state Cookie,然后重定向回上一页。

euoag5mw

euoag5mw2#

这就是所谓的“指数冷却”功能。更多详细信息请访问https://developers.google.com/identity/one-tap/web/guides/features#exponential_cool_down。
Google One Tap是一个优化的用户体验,用户只需点击一下就可以登录或注册。如果用户不想登录/注册(通过关闭One Tap),它不应该在每次页面重新加载或导航时反复显示。对大多数用户来说,这是一个烦人的用户体验。有了冷却功能,用户就不会觉得是被推着登录/注册的。

ctehm74n

ctehm74n3#

个人用户帐户可以从其Google帐户设置页面全局选择退出使用One Tap。在这种情况下,将返回opt_out_or_no_session
如果用户选择了全局退出或者指数冷却时间处于活动状态,您将无法强制用户使用一键点击。
在开发过程中,您可以按照答案中的建议重置冷却时间。

apeeds0o

apeeds0o4#

google.accounts.id.prompt((notification) => {
            if (notification.isNotDisplayed() || notification.isSkippedMoment()) {
                document.cookie =  `g_state=;path=/;expires=Thu, 01 Jan 1970 00:00:01 GMT`;
                google.accounts.id.prompt()
            }
        });

这对我删除cookie并重试有效

相关问题