我们可以从Azure AD B2C的身份验证中获取电子邮件和密码吗?

时间:2017-10-24 03:39:15

标签: azure xamarin.forms azure-ad-b2c

我想在我的Xamarin应用程序中注册用户后获取电子邮件和密码,问题是我是否可以使用此结果获取该电子邮件和密码,然后将其保存到Azure中的SQL数据库中。

async void SignUp() {
    DisplayAlert("Result", "Cek Result ", "Ok");
    try {
        var result = await App.AuthenticationClient.AcquireTokenAsync(
            Constants.Scopes,
            string.Empty,
            UiOptions.SelectAccount,
            string.Empty,
            null,
            Constants.Authority,
            Constants.SignUpPolicy);

    } catch (MsalException) {
        // Do nothing - ErrorCode will be displayed in OnLoginButtonClicked
    }
}

我尝试使用AuthenticationResult来获取用户的电子邮件和密码,但我只能获得用户显示名称,这个AuthenticationResult可以获得用户的电子邮件和密码吗?或者有任何方法可以完成这项工作吗?

1 个答案:

答案 0 :(得分:2)

出于安全原因,应用程序无法获取密码。在B2C管理员门户中,您可以选择"电子邮件"发送到您的政策中的应用程序。发出令牌时,用于注册的电子邮件地址将在此声明中。

您可以使用AD Graph API创建用户,并在两个位置写入密码。但是,如果您将密码存储在任何其他商店(例如SQL DB)中,您还必须弄清楚当用户更改密码时如何使密码保持同步。

此外,还有如何正确保护数据库中密码的方面。目录的一个价值主张是提供这样的安全层。

如果您使用您尝试解决的方案更新问题,我们可能会找到解决方法。