我一直在努力实现新的Google登录库(https://developers.google.com/identity/oauth2/web/guides/overview)在站点上,特别是通过使用授权代码模型的OAuth。
我最初试图使用他们更容易的"登录Google for Web"选项,但由于他们不允许对通过iFrame注入的按钮进行设计控制,我决定采用OAuth路线。
我需要弄清楚的问题是,为什么我会得到以下控制台错误:
[GSI_LOGGER]: The value of 'callback' is not a function. Configuration ignored.
我不是JS专家,但对它有基本的掌握和理解,我并不真正理解这一点,因为我实际上是在使用谷歌自己的回调函数代码(这是一个箭头函数(:
const g_signup_client = google.accounts.oauth2.initCodeClient({
client_id: '...',
scope: 'https://www.googleapis.com/auth/userinfo.profile',
ux_mode: 'popup',
callback: (response) => {
...
}
});
尽管如此,点击按钮并通过弹出窗口选择谷歌账户确实会执行回调功能。。。
另一件奇怪的事情是,上面的代码在一个小的演示页面上运行得很好(使实现更容易,因为我可以有一个干净的"分解"的石板(。
谢谢。
这个问题似乎不再存在,因为控制台中已经有几个星期没有显示错误了。我想这可能是谷歌的原因,也可能是Chrome的原因,我不知道,但至少我现在可以平静地睡觉了。
我只是想回来记下这件事。