簡體   English   中英

Azure AD B2C用戶信息Xamarin

[英]Azure AD B2C user info Xamarin

您好我正在嘗試使用Azure AD B2C在Xamarin應用程序中獲取名稱和地址等用戶信息進行身份驗證。

到目前為止,我已經使身份驗證工作正常

public async Task<MobileServiceUser> LoginAsync(MobileServiceClient client, MobileServiceAuthenticationProvider provider)
{
  try
  {
    //login and save user status
    var user = await client.LoginAsync(Forms.Context, provider);

    Settings.AuthToken = user?.MobileServiceAuthenticationToken ?? string.Empty;
    Settings.UserId = user?.UserId ?? string.Empty;
    return user;
  }
  catch (Exception e)
  {
  }

  return null;
}

但是,我想知道如何獲得用戶的名字和生日。 我無法為此找到明確的行動方案。

您沒有使用MobileService SDK明確獲取此信息。 在此處查看有關App Service Authentication / Authorization的完整文檔。

你將達到它提到的地步:

您的應用程序還可以通過應用程序的/.auth/me端點上的HTTP GET獲取其他用戶詳細信息。 請求中包含的有效令牌將返回JSON有效內容,其中包含有關正在使用的提供程序,基礎提供程序令牌和一些其他用戶信息的詳細信息。 Mobile Apps服務器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。

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM