Azure ad b2c 取消按钮在Azure AD B2C注册时引发错误

Azure ad b2c 取消按钮在Azure AD B2C注册时引发错误,azure-ad-b2c,Azure Ad B2c,我们正在使用带有社交IDP和localAccount选项的自定义SignUpSignIn策略 当用户点击注册并在表单中输入一些详细信息,然后通过点击“取消”按钮决定取消该过程时,我们会收到一个错误 请让我知道如何处理这件事,以防发生意外 1) 本地帐户注册 2) 社交Idp(Facebook、谷歌..) 我们可以在策略级别或注册应用程序时执行任何操作。请让我知道 P< >获取这些错误代码背后的想法是抓住它们并重定向到你考虑的地方。可以再次登录或登录页面等。我相信前面的回答是正确的。该错误由应用

我们正在使用带有社交IDP和localAccount选项的自定义SignUpSignIn策略

当用户点击注册并在表单中输入一些详细信息,然后通过点击“取消”按钮决定取消该过程时,我们会收到一个错误

请让我知道如何处理这件事,以防发生意外 1) 本地帐户注册 2) 社交Idp(Facebook、谷歌..)

我们可以在策略级别或注册应用程序时执行任何操作。请让我知道


P< >获取这些错误代码背后的想法是抓住它们并重定向到你考虑的地方。可以再次登录或登录页面等。

我相信前面的回答是正确的。该错误由应用程序根据发送回的代码进行处理。例如,在startup.auth.cs中的MVC应用程序中,添加以下内容以告知应用程序将用户发送到何处:

 private Task AuthenticationFailed(AuthenticationFailedNotification<OpenIdConnectMessage, OpenIdConnectAuthenticationOptions> notification)
        {
            notification.HandleResponse();
            if (notification.ProtocolMessage.ErrorDescription != null && notification.ProtocolMessage.ErrorDescription.Contains("AADB2C90091"))
            {
                // If the user clicked the cancel button, redirect to default route
                notification.Response.Redirect("/");
            }
            else if (notification.ProtocolMessage.ErrorDescription != null && notification.ProtocolMessage.ErrorDescription.Contains("AADB2C90118"))
            {
                // If the user clicked the reset password link, redirect to the reset password route 
                notification.Response.Redirect("/Home/ResetPassword");
            }
            else if (notification.Exception != null && notification.Exception.Message == "access_denied")
            {
                notification.Response.Redirect("/");
            }
            else
            {
                notification.Response.Redirect("/Home/Error?message=" + notification.ProtocolMessage.ErrorDescription);
            }

            return Task.FromResult(0);
        }
私有任务身份验证失败(身份验证失败通知)
{
notification.HandleResponse();
if(notification.ProtocolMessage.ErrorDescription!=null&¬ification.ProtocolMessage.ErrorDescription.Contains(“AADB2C90091”))
{
//如果用户单击“取消”按钮,则重定向到默认路由
通知.响应.重定向(“/”);
}
else if(notification.ProtocolMessage.ErrorDescription!=null&¬ification.ProtocolMessage.ErrorDescription.Contains(“AADB2C90118”))
{
//如果用户单击了重置密码链接,则重定向到重置密码路由
notification.Response.Redirect(“/Home/ResetPassword”);
}
else if(notification.Exception!=null&¬ification.Exception.Message==“访问被拒绝”)
{
通知.响应.重定向(“/”);
}
其他的
{
notification.Response.Redirect(“/Home/Error-message=“+notification.ProtocolMessage.ErrorDescription”);
}
返回Task.FromResult(0);
}

谢谢。我能找到任何与错误代码相关的文档,这些文档需要在应用程序级别作为参考来处理吗?这是一个很好的问题。让我问一下内部情况,我一有消息就会回来找你。我也有同样的问题,你能解决吗?