当使用Google身份服务(GSI)时,我可以显示一个弹出窗口,要求用户连接他们的Google帐户。这是一个很好的文档,它可以很好地与下面的代码一起工作:
const client = window.google.accounts.oauth2.initCodeClient({
client_id: 'CLIENT_ID',
scope: 'SCOPE',
ux_mode: 'popup',
callback: async (response) => {
console.log('Response Google', response);
},
});
client.requestCode();
但是,如果用户关闭弹出窗口,我希望做些什么。我在文档和在线示例中找不到任何东西。我尝试了intermediate_iframe_close_callback
和native_callback
,但在关闭弹出窗口时都没有调用。
所以,这可能吗?我怎么做?
谢谢
2条答案
按热度按时间gr8qqesn1#
我认为回调名称是“error_callback”。您可以在以下位置找到详细信息:Handle Errors
0wi1tuuw2#
这似乎不适用于当前版本的GSI。
它确实适用于旧的
gapi
版本,如果要关闭弹出窗口,您将得到一个错误响应:{error: "popup_closed_by_user"}
。如本答案中所述:Google SSO login error: "popup_closed_by_user"希望添加#google-oauth标记后,Google的某个人能够看到这一点,并希望更新此脚本。