如何使用客户端流方法缓存用户的Google身份验证令牌?
以下代码成功验证了用户,但每次用户关闭并重新打开应用时都会对其进行验证。
loginAzure = function (loginSuccess, handleError) {
AzureDbSvc.client.login('google')
.then(function () {
// Obtain information about the authenticated use
var url = AzureDbSvc.client.applicationUrl + '/.auth/me';
var headers = new Headers();
headers.append('X-ZUMO-AUTH',
AzureDbSvc.client.currentUser.mobileServiceAuthenticationToken);
fetch(url, { headers: headers })
.then(function (data) {
var user_json = data.json();
console.log('user_json:' + user_json);
return user_json;
}).then(function (tuser) {
authUser.email = tuser[0].user_id;
for (i = 0; i < tuser[0].user_claims.length; i++) {
switch (tuser[0].user_claims[i].typ) {
case "name":
authUser.userName = tuser[0].user_claims[i].val;
break;
case "picture":
authUser.picture = tuser[0].user_claims[i].val;
break;
case "locale":
authUser.locale = tuser[0].user_claims[i].val;
break;
}
}
loginSuccess(authUser);
}
);
}, handleError);
}
非常感谢任何帮助。
麦克
答案 0 :(得分:0)
简短版本:
您可以对/.auth/me的输出执行相同的操作 - 只有在您还没有它时才能读取它。您只需在令牌更改时阅读/.auth/me。