gpt4 book ai didi

google-plus - 在 gapi.auth.authorize 之后调用注销时出错

转载 作者:行者123 更新时间:2023-12-03 17:50:20 26 4
gpt4 key购买 nike

我正在为 google+ 使用客户端登录。访问 token 将在 1 小时后过期。调用 gapi.auth.signOut() token 过期后不会将用户注销。如果用户的 token 已过期,我正在尝试通过调用 gapi.auth.authorize 重新授权用户带有 client_id、范围和 immediate = true参数。调用此方法后,gapi.auth.signOut()不起作用。我不明白为什么会这样。

这是代码:

var google = {
signOut: function() {
var token = gapi.auth.getToken();

if(!token) {
var params = {
'client_id': global.clientid,
'session_state': global.sessionState,
'response_type':'token'
}
gapi.auth.checkSessionState(params, function(state){
if(state == true) {
google.doSignOut();
} else {
google.silentAuthorize(function(data){
google.doSignOut();
});
}
});
} else {
google.doSignOut();
}

},

doSignOut: function() {
gapi.auth.signOut();
google.loggedin = false;
},

silentAuthorize: function(callback) {
var params = {};
params.client_id = global.clientid;
params.immediate = true;
params.scope = "https://www.googleapis.com/auth/userinfo.email https://www.googleapis.com/auth/plus.me https://www.googleapis.com/auth/plus.login"

gapi.auth.authorize(params, callback);
}
}

在 token 未过期时调用 google.signOut 工作正常。但是一旦 token 过期或者我简单地通过回调调用 google.silentAuthorize() ,调用 gapi.auth.signOut() 开始抛出错误:

类型错误:无法读取 null 的属性“清除”

现在已经尝试解决这个问题 4 个小时了,非常感谢任何帮助!

最佳答案

我无论如何都找不到从前端更新 token 的方法,所以我改用了使用 google auth 的混合方法。我现在每次在 php 中即将到期时都会恢复 session 。

关于google-plus - 在 gapi.auth.authorize 之后调用注销时出错,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/23153931/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com