我正在使用 Azure B2C 和 MSAL(Microsoft.Identity.ClientNuGet 包)创建一个 Xamarin.Forms 应用程序来对用户进行身份验证。当应用程序打开时,我尝试使用以下代码在后台对它们进行身份验证:
AuthenticationResult ar;
ar = await App.AuthenticationClient.AcquireTokenSilentAsync(Scopes,
userIdentifier, Authority,
SignUpSignInpolicy, false);
如果失败,应用程序会切换并使用标准AquireTokenAsync()方法对其进行身份验证。
AuthenticationResult ar;
ar = await App.AuthenticationClient.AcquireTokenAsync(Config.Scopes,
"", UiOptions.SelectAccount,
string.Empty, null, Config.Authority,
Config.SignUpSignInpolicy);
我正在使用的SignUpSignInpolicy应用程序声明电子邮件、名字和姓氏、对象 ID 和生日,这是一个自定义字符串属性。
我想要做的是获取经过身份验证的用户的电子邮件、姓名和生日(如果他们必须登录),以便我可以从该数据创建一个用户对象,该数据将在整个应用程序中使用。有没有办法从中获取这些数据AuthenticationResult?如果没有,我该如何检索SignUpSignIn应用程序声明?我是身份验证的新手,所以我可能遗漏了一些重要的东西。