У меня настроен клиент Azure AD B2C , который я буду использовать для авторизации пользователей из нашего приложения Xamarin Forms .Я настроил клиента Azure, добавив приложение, как показано на скриншоте.
Я создал политику SignUp-SignIn для приложения.
Я добавил пакет общего доступа Microsoft.Identity.Client в общий проект приложения и основал свой код на этом примере на Github , и я использую MSAL2.0.
Я использую следующие значения:
public const string Tenant = "myappname.onmicrosoft.com";
public static string ClientId = "123456-1dda-4dba-9913-wsedfcrft554";
public static string SignUpSignInPolicy = "B2C_1_MyPolicyName";
public static string AuthorityBase = $"https://login.microsoftonline.com/tfp/{Tenant}/";
public static string Authority = $"{AuthorityBase}{SignUpSignInPolicy}";
public static readonly string CustomRedirectUrl = $"msal{ClientId}://auth";
Это дает мне полномочия https://login.microsoftonline.com/tfp/myappname.onmicrosoft.com/B2C_1_MyPolicyName
В моем коде я создаюэкземпляр класса PublicClientApplication , позволяющий приложению взаимодействовать с клиентом Azure следующим образом.
return new PublicClientApplication(ApplicationConstants.ClientId, ApplicationConstants.Authority)
{
RedirectUri = ApplicationConstants.CustomRedirectUrl
};
В настоящее время в клиенте настроены два пользователя, но когда я пытаюсь получитьСписок пользователей всегда пуст.
IEnumerable<IAccount> accounts = await AuthenticationService.PCA().GetAccountsAsync(); // always empty
Я пробовал несколько различных комбинаций для значения Authority , но ни одна из них не работает.
Есть идеи?