[英]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.