【发布时间】:2016-12-15 09:58:56
【问题描述】:
我正在使用 azure-mobile-apps cordova 客户端开发 mobile app。我按照https://cgillum.tech/2016/08/10/app-service-auth-and-azure-ad-b2c-part-2/ 获取刷新令牌。
我在标头中发送 id_token。
var token = window.localStorage.getItem("token");
var appUrl = https://Mobile****.azurewebsites.net;
var url = appUrl + "/.auth/refresh";
$http.get(url, {
headers: {
'X-ZUMO-AUTH': token
}
})
.then(function(response) {
console.log(response);
});
响应:401 未经授权。 IDX10500:签名验证失败。 无法解析 SecurityKeyIdentifier...
我在资源浏览器和租户 -> 应用程序 -> 密钥中比较了我的密钥。
两者都是一样的。
我也想问一下注销的问题,我们可以在这个端点/.auth/logout发送和上面一样的吗。
【问题讨论】:
-
嗨@devangi,有什么更新吗?
-
您好,抱歉耽搁了。是的,我想问一下这些令牌(mobileServiceAuthenticationToken、id_token 和 refresh_token)?过期时间、id_token 和 refresh_token 可通过 /.auth/me 端点获得。我的观察是,在 1 小时内,即使您不使用任何 mobileServiceAuthenticationToken(使用 /.auth/refresh),但过期时间将相同(在 /.auth/me)。一个小时后,如果您使用旧令牌调用 /.auth/refresh,它将给出 500 内部服务器错误。那么 mobileServiceAuthentication 令牌、id_token 和 refresh_token 的生命周期是多少?
-
关于如何保持用户永久登录可以参考this thread。
-
嗨,我的基本理解是
mobileServiceAuthenticationToken在 1 小时到期。要刷新此令牌,我们将调用 /.auth/refresh。从 B2C 获取更新的令牌是否足够,并且用户将存活更长时间,例如 1 天?我们可以从 /.auth/me 交叉验证更新的过期时间。我说的对吗?
标签: javascript cordova azure azure-mobile-services azure-ad-b2c