c# - 如何使用azure Active Directory b2c覆盖忘记密码的调用功能

标签 c# azure exception passwords azure-ad-b2c

我在 Xamarin 应用程序中使用 Azure Active Directory B2C 进行登录/注册策略。

但是,当我单击页面上的忘记密码链接时,B2C 会重定向回应用程序,并显示一条错误消息。

Exception: `Microsoft.Identity.Client.MsalServiceException: 'AADB2C90118: The user has forgotten their password. Correlation ID: 1587ecf1-90f6-42cf-99ad-44b3bdf60eb5 Timestamp: 2017-12-14 13:21:58Z'

我可以捕获此异常,然后可以使用以下代码重置密码:

注意:_azureAdB2COptions 是一个模型类

if (ex.Message.Contains("AADB2C90118"))
{
    try
    {
        var scopes = _azureAdB2COptions.Scopes.Split(' ');
        AuthenticationResult ar = await  _publicClientApplication.AcquireTokenAsync(scopes, (IUser)null, UIBehavior.SelectAccount, string.Empty, null, _azureAdB2COptions.AuthorityPasswordReset, uiParent);
    }
    catch (Exception exp)
    {
        await DisplayAlert("Status", "Password reset: " + exp.Message, "Close");
    }
}

Exception screenshot

有人可以帮我捕获忘记密码的“点击事件”并重定向到密码重置策略吗?

最佳答案

您可以使用UI customization自定义页面的功能。为此,您可以使用 CSS 隐藏 B2C 添加的忘记密码链接,并创建自己的链接来发送忘记密码的授权请求。

future 的一项功能还允许您在这些自定义页面上运行 JavaScript。一旦可用,您将能够在客户端上连接点击和类似事件。

关于c# - 如何使用azure Active Directory b2c覆盖忘记密码的调用功能,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/47814391/

相关文章:

c# - 使用 C# .NET 制作 JSON Webservice

c# - 如何抑制 ReSharper 将我的 foreach 循环转换为 LINQ 表达式的建议的单个实例?

azure - 部署到 Azure 的服务总线

Azure 网站应用程序见解 - 切换配置

azure - 在 Docker 文件中挂载 Azure Blob 存储

exception - Jersey 的多个 ExceptionMappers

c# - 在 Jira 5.1.2 中使用 DotNetOpenAuth

c# - 改变进度条的大小

java - 在 try catch block 中返回。正确吗?

C++11:当定义移动构造函数时,按值返回对象不会抛出异常吗?