如何从 Azure Active Directory 检索用户信息

Posted

技术标签:

【中文标题】如何从 Azure Active Directory 检索用户信息【英文标题】:How to retrieve user information from Azure Active Directory 【发布时间】:2016-11-07 04:29:51 【问题描述】:

我对 Xamarin 和 Azure Active Directory 有点陌生,所以请多多包涵。我在尝试从 Azure Active Directory 检索用户信息(名字、姓氏和图片)时遇到问题。请注意,Azure Active Directory 中的电子邮件是 Google 帐户。

每次我尝试检索它时,我只会收到一个错误,并且它需要我再次进行身份验证才能检索我想要的内容。这是我的代码:

 // Use MobileServices Login to authenticate user
 private async Task<bool> AuthenticateUsingMobileServices(Activity activity)
 
      var success = false;
      try
      
           // Sign in with Active Directory
           MobileUser = await MobileService.LoginAsync(activity, 
                MobileServiceAuthenticationProvider.WindowsAzureActiveDirectory);
           System.Diagnostics.Debug.WriteLine("you are now logged in - Logged in!");
           System.Diagnostics.Debug.WriteLine([insert user name here]);
           success = true;
      
      catch (Exception ex)
      
           System.Diagnostics.Debug.WriteLine("Authentication failed " + ex.ToString());
      

除了我已经定义的 ResourceUri 和 ClientId 之外,我还尝试添加它:

 AuthenticationContext authContext = new AuthenticationContext(CommonAuthority);
 AuthResult = await authContext.AcquireTokenAsync(ResourceUri, ClientId, UserCredential);

但我不知道应该为 ClientAssertion 或 UserAssertion 放什么。

【问题讨论】:

【参考方案1】:

你要做的步骤是:

    使用 Azure 进行身份验证(您将获得一个包含令牌的用户对象) 在您发出的每个请求上放置令牌。这样您就可以向该特定用户进行身份验证。

查看:https://blog.xamarin.com/authenticate-xamarin-mobile-apps-using-azure-active-directory/

【讨论】:

以上是关于如何从 Azure Active Directory 检索用户信息的主要内容,如果未能解决你的问题,请参考以下文章

您如何从 Azure Active Directory 中获取搭建的 Weather Forecast Api 将接受的访问令牌?

从 Azure Active Directory 验证 JWT

访问Azure Active Directory用户和角色

Active Director用户GUID

Active Directory 从浏览器访问 Azure 存储

PowerShell 操作 Azure SQL Active Geo-Replication