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

Can we get email and password from authentication from 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 可以获取用户电子邮件和密码吗?或者有什么方法可以完成这项工作吗?

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

您可以使用 AD Graph API 创建用户并将密码写在两个地方。但是,如果您将密码存储在任何其他存储中(例如 SQL 数据库),您还必须弄清楚如何在用户更改密码时使它们保持同步。

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

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