取消按钮在Azure AD B2C SignUp上引发错误

时间:2018-04-27 17:41:29

标签: azure-ad-b2c

我们将自定义SignUpSignIn政策与社交ID和localAccount选项一起使用。

当用户点击signUp并在表单中输入一些详细信息后,然后通过单击"取消"决定取消该过程。按钮,我们收到错误

https://example.com/#error=access_denied&error_description=AADB2C90091%3a+The+user+has+cancelled+entering+self-asserted+information.%0d%0aCorrelation+ID%3a+c55fc20c-d296-42ed-8eea-2857d8d8d44b%0d%0a

如果遇到这种情况,请告诉我如何处理 1)本地账户注册 2)社交Idp(Facebook,Google ..)

我们可以在政策层面或注册申请时做任何事情。请让我知道

谢谢,

2 个答案:

答案 0 :(得分:2)

获取这些错误代码背后的想法是捕获它们并重定向到您考虑的位置。可以再次登录或登录页面等。

答案 1 :(得分:1)

我相信之前的回答是正确的。错误由应用程序根据发回的代码处理。例如,在 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);
        }