经过大量挖掘之后,我有了WPF应用程序,通过Azure移动服务登录了用户。我的移动服务已连接到我已设置的Azure Active Directory。但是,当我使用MobileServiceClient.LoginAsync(...)登录用户时,MobileServiceUser UserId似乎处于无法读取的哈希中。例如,它看起来像:“ Aad:X3pvh6mmo2AgTyHdCA3Hwn6uBy91rXXXXXXXXXX”。这到底是什么?

我想获取用户的显示名称以使用,但我不知道如何使用。

最佳答案

那是Azure Active Directory的用户ID。您需要创建一个服务以通过服务公开您的AAD信息,并使用从您的用户那里获得的访问令牌检索其他信息。

第一:

    ServiceUser user = this.User as ServiceUser;
    var identities = await user.GetIdentitiesAsync();
    var aad = identities.OfType<AzureActiveDirectoryCredentials>().FirstOrDefault();
    var aadAccessToken = aad.AccessToken;
    var aadObjectId = aad.ObjectId;


这将为您提供访问令牌和objectID,然后您需要通过AAD图形API查询信息。
https://msdn.microsoft.com/library/azure/dn151678.aspx
查看样本请求部分。您应该为查询提供获得的访问令牌和objectId。

关于c# - 如何从MobileServiceUser获取用户名,电子邮件等?,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/29884219/

10-13 08:33