Azure AD B2C用户信息Xamarin

时间:2016-12-13 16:06:31

标签: c# azure xamarin azure-ad-b2c

您好我试图在使用Azure AD B2C进行身份验证的Xamarin应用中获取名称和地址等用户信息。

到目前为止,我的身份验证工作正常

SELECT s.*,
      (SELECT GROUP_CONCAT(u.user_id SEPARATOR ', ')
         FROM users u 
        WHERE u.sale_id = s.id) AS users
 FROM sales s

但是我想知道如何获得用户的姓名和生日。我还没有找到明确的行动方案。

1 个答案:

答案 0 :(得分:3)

您没有使用MobileService SDK明确获取此信息。查看有关App Service Authentication / Authorization here的完整文档。

您将达到提及的程度:

  

您的应用还可以通过以下方式获取其他用户详细信息   应用程序的/.auth/me端点上的HTTP GET。有效的令牌   请求中包含的内容将返回JSON有效负载   有关正在使用的提供商的详细信息,即基础提供商   令牌和其他一些用户信息。移动应用服务器SDK   提供帮助方法来处理这些数据。

因此,在您的Xamarin中,在用户成功进行身份验证后,您必须向/.auth/me显式发出HTTP GET请求并解析结果以获取有关已登录用户的所有信息。

不确定如何在Xamarin中执行此操作,但以下是如何在C#UWP(通用Windows平台)中执行此操作:

                var url = App.MobileService.MobileAppUri + "/.auth/me";
                var clent = new Windows.Web.Http.HttpClient();
                clent.DefaultRequestHeaders.Add("X-ZUMO-AUTH", this.user.MobileServiceAuthenticationToken);
                var userData = await clent.GetAsync(new Uri(url));

在此代码执行时,userData varibale将是一个包含所有用户声明的JSON srting。