Javascript 刷新令牌&;使用azure移动应用程序cordova客户端注销

Javascript 刷新令牌&;使用azure移动应用程序cordova客户端注销,javascript,cordova,azure,azure-mobile-services,azure-ad-b2c,Javascript,Cordova,Azure,Azure Mobile Services,Azure Ad B2c,我正在使用azure移动应用cordova客户端开发移动应用程序。我按照此操作获取刷新令牌 我正在发送头中的id_令牌 var token = window.localStorage.getItem("token"); var appUrl = https://Mobile****.azurewebsites.net; var url = appUrl + "/.auth/refresh"; $http.get(url, { headers: { 'X-ZUMO-AUTH

我正在使用azure移动应用cordova客户端开发
移动应用程序。我按照此操作获取刷新令牌

我正在发送头中的id_令牌

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

X-ZUMO-auth
标题中提交的令牌应始终是应用程序服务令牌,而不是AAD ID令牌。此令牌将使用来自的client.login()方法之一获得。您可以从客户端对象(通过
client.currentUser.mobileServiceAuthenticationToken
)访问此令牌。

X-ZUMO-AUTH
头中提交的令牌应始终是应用程序服务令牌,而不是AAD ID令牌。此令牌将使用来自的client.login()方法之一获得。您可以从客户端对象访问此令牌(通过
client.currentUser.mobileServiceAuthenticationToken
)。

以使
/.auth/refresh
正常工作,如前一篇文章中提到的@mattchenderson,请确保在
X-ZUMO-AUTH
标题中传递了
client.currentUser.mobileServiceAuthenticationToken

要注销,您可以使用的注销功能。 请尝试以下代码将用户注销移动应用程序

client.logout().then(function () {
    window.cookies.clear(function() {
        $state.go('index');
    });        
});

注意:web视图已将登录信息存储在Cookie中,下次您通过身份验证提供商登录时,浏览器将自动读取Cookie并完成登录流程。因此,请确保在注销时清除cookies。我以前做过这个工作。请注意,它同时适用于PhoneGap和Cordova。

要使
/.auth/refresh
正常工作,如前一篇文章中提到的@mattchenderson,请确保
client.currentUser.mobileServiceAuthenticationToken
X-ZUMO-auth
头中传递

要注销,您可以使用的注销功能。 请尝试以下代码将用户注销移动应用程序

client.logout().then(function () {
    window.cookies.clear(function() {
        $state.go('index');
    });        
});

注意:web视图已将登录信息存储在Cookie中,下次您通过身份验证提供商登录时,浏览器将自动读取Cookie并完成登录流程。因此,请确保在注销时清除cookies。我以前做过这个工作。请注意,它同时适用于PhoneGap和Cordova。

Hi@devangi,有更新吗?Hi,很抱歉延迟。是的,我想询问这些令牌(mobileServiceAuthenticationToken、id\u令牌和refresh\u令牌)?过期时间、id_令牌和刷新_令牌可通过/.auth/me端点使用。我的观察是,在1小时内,即使您没有输入任何mobileServiceAuthenticationToken(使用/.auth/refresh),但过期时间将是相同的(在/.auth/me)。一小时后,如果您使用旧令牌调用/.auth/refresh,它将给出500个内部服务器错误。那么什么是mobileServiceAuthenticationToken、id_token和refresh_token的生命周期?关于如何让用户永久登录,您可以参考。您好,我的基本理解是,
mobileServiceAuthenticationToken
在1小时后过期。要刷新此令牌,我们将调用/.auth/refresh。从B2C获得更新的令牌就足够了吗?用户还可以活一天吗??我们可以从/.auth/me交叉验证更新的过期时间。我说的对吗?嗨@devangi,有更新吗?嗨,抱歉耽搁了。是的,我想询问这些令牌(mobileServiceAuthenticationToken、id\u令牌和refresh\u令牌)?过期时间、id_令牌和刷新_令牌可通过/.auth/me端点使用。我的观察是,在1小时内,即使您没有输入任何mobileServiceAuthenticationToken(使用/.auth/refresh),但过期时间将是相同的(在/.auth/me)。一小时后,如果您使用旧令牌调用/.auth/refresh,它将给出500个内部服务器错误。那么什么是mobileServiceAuthenticationToken、id_token和refresh_token的生命周期?关于如何让用户永久登录,您可以参考。您好,我的基本理解是,
mobileServiceAuthenticationToken
在1小时后过期。要刷新此令牌,我们将调用/.auth/refresh。从B2C获得更新的令牌就足够了吗?用户还可以活一天吗??我们可以从/.auth/me交叉验证更新的过期时间。我说的对吗?谢谢您的回复,注销和刷新令牌都已解决。谢谢您的回复,注销和刷新令牌都已解决。