使用 azure-mobile-apps cordova 客户端刷新令牌并注销
Refresh Token & Logout using azure-mobile-apps cordova client
我正在使用 azure-mobile-apps cordova 客户端开发 mobile app
。我按照此 https://cgillum.tech/2016/08/10/app-service-auth-and-azure-ad-b2c-part-2/ 获取刷新令牌。
我将在 header 中发送 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);
});
Response : 401 Unauthorized. IDX10500: Signature validation failed.
Unable to resolve SecurityKeyIdentifier...
我在 Resource explorer 和 Tenant ->Application -> Keys 中比较了我的密钥。
两者相同。
我还想问一下注销,我们可以在这个端点发送与上面相同的内容 /.auth/logout
.
在 X-ZUMO-AUTH
header 中提交的令牌应始终是应用服务令牌,而不是 AAD ID 令牌。该令牌可以使用 Mobile Apps SDK 中的 client.login() 方法之一获得。您可以从客户端 object(通过 client.currentUser.mobileServiceAuthenticationToken
)访问此令牌。
要让 /.auth/refresh
正常工作,就像之前提到的@mattchenderson post,请确保 client.currentUser.mobileServiceAuthenticationToken
在 X-ZUMO-AUTH
header 中传递.
注销可以使用build-in SDK的注销功能。
请尝试使用以下代码将用户从移动应用程序中注销。
client.logout().then(function () {
window.cookies.clear(function() {
$state.go('index');
});
});
注意:网页视图已将登录信息存储在cookie中,下次通过身份验证提供商登录时,浏览器将自动读取cookie并完成登录流程。因此,请确保在注销时清除 cookie。我用 Phonegap-Cookies-Plugin 来完成这项工作。请注意,它适用于 PhoneGap 和 Cordova。
我正在使用 azure-mobile-apps cordova 客户端开发 mobile app
。我按照此 https://cgillum.tech/2016/08/10/app-service-auth-and-azure-ad-b2c-part-2/ 获取刷新令牌。
我将在 header 中发送 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);
});
Response : 401 Unauthorized. IDX10500: Signature validation failed. Unable to resolve SecurityKeyIdentifier...
我在 Resource explorer 和 Tenant ->Application -> Keys 中比较了我的密钥。
两者相同。
我还想问一下注销,我们可以在这个端点发送与上面相同的内容 /.auth/logout
.
在 X-ZUMO-AUTH
header 中提交的令牌应始终是应用服务令牌,而不是 AAD ID 令牌。该令牌可以使用 Mobile Apps SDK 中的 client.login() 方法之一获得。您可以从客户端 object(通过 client.currentUser.mobileServiceAuthenticationToken
)访问此令牌。
要让 /.auth/refresh
正常工作,就像之前提到的@mattchenderson post,请确保 client.currentUser.mobileServiceAuthenticationToken
在 X-ZUMO-AUTH
header 中传递.
注销可以使用build-in SDK的注销功能。 请尝试使用以下代码将用户从移动应用程序中注销。
client.logout().then(function () {
window.cookies.clear(function() {
$state.go('index');
});
});
注意:网页视图已将登录信息存储在cookie中,下次通过身份验证提供商登录时,浏览器将自动读取cookie并完成登录流程。因此,请确保在注销时清除 cookie。我用 Phonegap-Cookies-Plugin 来完成这项工作。请注意,它适用于 PhoneGap 和 Cordova。