>

테스트중인 테넌트에 대한 가입/로그인 정책을 올바르게 설정할 수있었습니다. 모든 사람이 이메일을 사용하여 비밀번호를 재설정 할 수 있도록 비밀번호 재설정 특성을 설정했습니다. 현재 사용자는 이메일 (사용자 이름), 이름 및 성을 사용하여 가입합니다.

그러나 로그인 페이지에서 "비밀번호를 잊어 버렸습니다"링크를 클릭하면 동일한 페이지로 다시 리디렉션됩니다. 여기에 빠진 것이 있습니까?


  • 답변 # 1

    Azure AD B2C의 비밀번호 재설정에는 두 가지 메커니즘이 있습니다.

    <올>

    로그인 정책:"비밀번호를 잊어 버렸습니다"를 클릭하면 애플리케이션에 필요한 작업이 없습니다. 사용자를 자동으로 일반 Microsoft 브랜드로 리디렉션합니다. 비밀번호 재설정 페이지.

    가입/로그인 정책:응용 프로그램에서 추가 작업을 수행해야합니다."암호를 잊어 버렸습니다"를 클릭하면 오류 코드와 함께 사용자를 다시 애플리케이션으로 리디렉션합니다. 응용 프로그램은 요청에서 오류 코드를 감지 한 다음 사용자를 Azure AD B2C 암호 재설정 정책으로 리디렉션해야합니다. 비밀번호 재설정 정책은 광범위하게 맞춤 설정할 수 있습니다.

    두 번째 접근 방식을 구현하는 방법에 대한 자세한 내용은 B2C 가입/서명에서AuthenticationFailed 알림에 연결하여 자신의 PasswordReset 컨트롤러 작업으로 리디렉션하는 코드입니다. 빠른 시작, Startup.Auth.cs

    private Task AuthenticationFailed(AuthenticationFailedNotification<OpenIdConnectMessage, OpenIdConnectAuthenticationOptions> notification)
    {
        notification.HandleResponse();
        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("/Account/ResetPassword");
        }
        else if (notification.Exception.Message == "access_denied")
        {
            // If the user canceled the sign in, redirect back to the home page
            notification.Response.Redirect("/");
        }
        else
        {
            notification.Response.Redirect("/Home/Error?message=" + notification.Exception.Message);
        }
        return Task.FromResult(0);
    }
    
    

    다음은 동일한 B2C 가입/로그인 빠른 시작 계정 컨트롤러에서 사용자를 비밀번호 재설정 B2C 정책으로 리디렉션하는 코드 PasswordReset 컨트롤러 작업입니다.

    public void ResetPassword()
    {
        if (!Request.IsAuthenticated)
        {
            HttpContext.GetOwinContext().Authentication.Challenge(
            new AuthenticationProperties() { RedirectUri = "/" }, Startup.PasswordResetPolicyId);
        }
    }
    
    

    완전성을 위해 Azure AD B2C 가입/로그인 정책 설정에 대한 전체 가이드/개요를 확인하십시오

관련 자료

  • 이전 c# - InteropWord DocumentsOpen이 null입니다
  • 다음 r - BOM으로 UTF-8 텍스트 파일 읽기