Par*_*als 4 jquery google-app-engine google-api-js-client
在我的Web应用程序中,我允许用户使用API客户端库中的auth命令登录,但我找不到Google API JavaScript客户端库的Logout选项.
任何人都可以建议我如何退出我的应用程序以及谷歌帐户?
我的登录代码是:
var OAUTHURL = 'https://accounts.google.com/o/oauth2/auth?';
var VALIDURL = 'https://www.googleapis.com/oauth2/v1/tokeninfo?access_token=';
var SCOPE = 'https://www.googleapis.com/auth/userinfo.profile';
var CLIENTID = googleAPI;
var REDIRECT = redirectUrl;
var TYPE = 'token';
var _url = OAUTHURL + 'scope=' + SCOPE + '&client_id=' + CLIENTID + '&redirect_uri=' + REDIRECT + '&response_type=' + TYPE;
var acToken;
var tokenType;
var expiresIn;
var user;
$('#googleLogin').click(function(){
var win = window.open(_url, "windowname1", 'width=800, height=600');
var pollTimer = window.setInterval(function () {
if (win.document.URL.indexOf(REDIRECT) != -1) {
window.clearInterval(pollTimer);
var url = win.document.URL;
acToken = gup(url, 'access_token');
tokenType = gup(url, 'token_type');
expiresIn = gup(url, 'expires_in');
win.close();
validateToken(acToken);
}
}, 100);
});
function validateToken(token) {
$.ajax({
url: VALIDURL + token,
data: null,
success: function (responseText) {
getUserInfo();
},
dataType: "jsonp"
});
}
Run Code Online (Sandbox Code Playgroud)
退出应用程序时,请勿将用户从Google帐户中注销.此行为是意外的,并且对用户来说很烦人.
您最多应该尝试弄清楚如何"注销"应用程序的用户.(我把它放在引号中,因为根据你的实现,应用程序可能会伪造它).
如果您只关心在UI中隐藏元素,您可以设置一个变量,例如signedIn,当用户点击登录/注销按钮时设置或取消设置.如果您关心跨会话持久保存此状态,请使用存储相同值的cookie.
如果要确保键盘另一侧的人确实是登录用户,可以使用呼叫中的max_auth_age参数authorize.如果您将其设置为0,则在您的应用获得有效令牌之前,用户需要重新向Google进行身份验证.如果您将其与自动会话到期配对(就像您在银行或健康网站上看到的那样),您可以相对确信当前用户的身份.
| 归档时间: |
|
| 查看次数: |
7531 次 |
| 最近记录: |