我想知道在使用Azure AD对使用azure移动服务的用户进行身份验证时,我是如何获得索赔的。
我正在使用azure移动服务在phonegap应用中对用户进行身份验证。身份验证流程正常,我从服务中获得的响应如下
{
"userId": "Aad:o5ExTvSOMETHING_HEREpb0c",
"mobileServiceAuthenticationToken": "A_TOKEN"
}
如何获取全名,登录名等配置文件属性,这样我至少可以输出类似“Hello Lars”,“Lars”作为索赔的内容。
登录后,我将用户重定向回“home”:
LoginController.prototype.doLogin = function() {
var that = this;
client.login('Aad').done(function(response) {
that.ons.navigator.resetToPage("page1.html", { title: 'Home' });
}, function (error) {
console.log(error);
});
};
登录后运行HomeController时,client.currentUser是一个具有上述结构的对象:
HomeController = function($scope) {
$scope.controllerhello = "Welcome home!";
if(client.currentUser == null) {
$scope.ons.navigator.pushPage("login.html", { title: 'Sign in' });
}
};
我所希望的是这样的反应:
{
"userId": "Aad:o5ExTvSOMETHING_HEREpb0c",
"mobileServiceAuthenticationToken": "A_TOKEN",
"claims": {
userName: "someusername@me.onmicrosoft.com",
fullName: "Lars"
}
}
我是否可以获得这些声明。是否与管理azure AD下的应用程序清单有关 - >应用程序 - >管理清单?
答案 0 :(得分:1)
移动服务不会向客户端发送AAD声明,但使用自定义API从服务器获取它们相当容易。您可以通过拨打AAD Graph API来获取您想要的大部分数据。这是存储有关您的用户的所有信息的地方。
This blog post显示了使用Node.JS后端访问图表并在屏幕上显示AAD用户姓名的步骤。它在UI方面有点过时,但概念应该仍然适用。现在,而不是点击"管理权限,"你会转到其他应用程序的权限#34;并在" Windows Azure Active Directory上设置适当的应用程序权限。"