在如何使用您的Google+帐户登录过的网站上创建退出功能方面,我需要一些帮助。
文档指出您应该使用gapi.auth.signOut函数
https://developers.google.com/+/web/signin/sign-out
但是,作为javascript的新手,我似乎没有任何运气。
这是我的代码-退出功能在底部。我究竟做错了什么?
<script>
function signinCallback(authResult) {
if (authResult['status']['signed_in']) {
// Update the app to reflect a signed in user
// Hide the sign-in button now that the user is authorized, for example:
document.getElementById('signinButton').setAttribute('style','display: none ');
document.getElementById('callback').setAttribute('style','height: 100px;background-color: red ');
var mydiv = document.getElementById("callback");
var aTag = document.createElement('a');
aTag.innerHTML = "Sign out";
aTag.id= "signout";
mydiv.appendChild(aTag);
/*function checkid(){
document.getElementById('signout')
}*/
} else {
// Update the app to reflect a signed out user
// Possible error values:
// "user_signed_out" - User is signed-out
// "access_denied" - User denied access to your app
// "immediate_failed" - Could not automatically log in the user
console.log('Sign-in state: ' + authResult['error']);
}
}
document.addEventListener('DOMContentLoaded', function () {
document.getElementById("signout").addEventListener('click', function(){
gapi.auth.signOut();
});
</script>
最佳答案
如果希望您的用户重新输入凭据,则需要撤消用户对应用程序的身份验证。在我的应用程序中,我像下面的代码片段一样进行了操作。您可能会发现this answer有用。
var token = gapi.auth.getToken();
if (token) {
var accessToken = gapi.auth.getToken().access_token;
if (accessToken) {
// make http get request towards: 'https://accounts.google.com/o/oauth2/revoke?token=' + accessToken
// In angular you can do it like this:
// $http({
// method: 'GET',
// url: 'https://accounts.google.com/o/oauth2/revoke?token=' + accessToken
// });
}
}
gapi.auth.setToken(null);
gapi.auth.signOut();
关于google-plus - Google+登录: How to logout - using (gapi. auth.signOut),我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/20446803/