gpt4 book ai didi

javascript - Google api auth2 signOut 不工作

转载 作者:可可西里 更新时间:2023-11-01 02:26:49 24 4
gpt4 key购买 nike

首先,我正在遵循本指南 https://developers.google.com/identity/sign-in/web/和这个引用 https://developers.google.com/identity/sign-in/web/reference .

但我没有在 window 中声明回调,而是使用 gapi.signin2.render 函数来呈现按钮并在我的 Angular Controller 中为它附加一个处理程序。

登录工作正常,问题是,当我尝试通过调用 gapi.auth2.getAuthInstance().signOut() 注销时,它只是不这样做。

我注意到 accounts.google.com 的 sessionStorage 仍然存在,因此当我在登录屏幕上再次呈现按钮时,Google 会自动让我重新登录。

我试着看看 signOut() 完成后会发生什么:

gapi.auth2.getAuthInstance().signOut().then(function() {
console.log(gapi.auth2.getAuthInstance().isSignedIn.get());
// prints 'true'
});

我还尝试调用 disconnect() 而不是 signOut(),知道它会撤销访问权限,并且确实会从 sessionStorage 中删除 token ,但用户 session 是还在那里。只有在我重新加载页面后它才会消失。

这是我的完整代码:

$scope.logout = function() {
//...
gapi.auth2.getAuthInstance().signOut().then(function() {
console.log(gapi.auth2.getAuthInstance().isSignedIn);
});
};

$scope.processAuth = function(authResult) {
console.log("success");
if(authResult.getAuthResponse().id_token) {
// backend calls
}
};

$scope.renderSignInButton = function() {
console.log(gapi.auth2);
gapi.signin2.render('signInButton',
{
'onsuccess': $scope.processAuth, // Function handling the callback.
'onfailure': $scope.signinFailed, // Function handling the callback.
'clientid': 'asdasdasd.apps.googleusercontent.com',
'scope': 'https://www.googleapis.com/auth/userinfo.email',
'cookiepolicy': 'single_host_origin'
}
);
};

$scope.renderSignInButton();

最佳答案

我试过如下,它成功了。当auth2.signOut()成功时需要调用auth2.disconnect()

<script type="text/javascript">
function signOut() {
var auth2 = gapi.auth2.getAuthInstance();
auth2.signOut().then(function () {
auth2.disconnect();
});

}

function onLoad() {
gapi.load('auth2', function() {
gapi.auth2.init();
});
}
</script>



<script src="https://apis.google.com/js/platform.js?onload=onLoad" async defer></script>

关于javascript - Google api auth2 signOut 不工作,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/34515499/

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