Azure Active Directory B2C에서 암호 재설정 흐름 설정Set up a password reset flow in Azure Active Directory B2C

시작하기 전에 위의 선택기를 사용하여 구성 중인 정책 유형을 선택합니다.Before you begin, use the selector above to choose the type of policy you’re configuring. Azure AD B2C는 사용자가 애플리케이션과 상호 작용하는 방법을 정의하는 두 가지 방법, 즉 미리 정의된 사용자 흐름 또는 완전히 구성 가능한 사용자 지정 정책을 통해 제공합니다.Azure AD B2C offers two methods of defining how users interact with your applications: through predefined user flows, or through fully configurable custom policies. 이 문서에서 필요한 단계는 각 방법마다 다릅니다.The steps required in this article are different for each method.

암호 다시 설정 흐름Password reset flow

등록 및 로그인 경험을 통해 사용자는 암호를 잊으셨나요? 링크를 사용 하 여 자신의 암호를 다시 설정할 수 있습니다.The sign-up and sign-in journey allows users to reset their own password using the Forgot your password? link. 암호 다시 설정 흐름은 다음 단계를 포함 합니다.The password reset flow involves the following steps:

  1. 등록 및 로그인 페이지에서 사용자가 암호를 잊으셨나요? 링크를 클릭 합니다.From the sign-up and sign-in page, the user clicks the Forgot your password? link. Azure AD B2C는 암호 다시 설정 흐름을 시작 합니다.Azure AD B2C initiates the password reset flow.
  2. 사용자는 시간이 지정 된 시간 암호를 사용 하 여 전자 메일 주소를 제공 하 고 확인 합니다.The user provides and verifies their email address with a Timed One Time Passcode.
  3. 그러면 사용자가 새 암호를 입력할 수 있습니다.The user can then enter a new password.

암호 다시 설정 흐름

암호 다시 설정 흐름은 로그인에 대 한 암호를 사용 하 여 전자 메일 주소 또는 사용자 이름을 사용 하는 Azure AD B2C의 로컬 계정에 적용 됩니다.The password reset flow applies to local accounts in Azure AD B2C that use an email address or username with a password for sign-in.

사용자가 암호를 잊어버린 경우 사용자가 암호를 다시 설정 하려는 경우 셀프 서비스 암호 재설정 흐름을 통해 사용자가 암호를 변경할 수 있습니다.The self-service password reset flow allows users to change their password when the user forgets their password and wants to reset it. 사용자가 암호를 알고 변경 하려는 경우를 지원 하도록 암호 변경 흐름 을 구성 하는 것이 좋습니다.Consider configuring a password change flow to support cases where a user knows their password and wants to change it.

사용자를 임의의 암호로 Azure AD B2C로 마이그레이션한 후의 일반적인 방법은 사용자가 전자 메일 주소를 확인 하 고 처음 로그인 할 때 암호를 다시 설정 하도록 하는 것입니다.A common practice after migrating users to Azure AD B2C with random passwords is to have the users verify their email addresses and reset their passwords during their first sign-in. 관리자가 암호를 변경한 후에도 사용자가 암호를 다시 설정 하도록 하는 것이 일반적입니다. 이 기능을 사용 하려면 암호 재설정 강제 사용을 참조 하세요.It's also common to force the user to reset their password after an administrator changes their password; see force password reset to enable this feature.

사전 요구 사항Prerequisites

이제 새 암호 재설정 환경이 등록 또는 로그인 정책의 일부가 됩니다.The new password reset experience is now part of the sign-up or sign-in policy. 사용자가 암호를 잊으셨나요? 링크를 선택 하면 암호 잊음 환경으로 즉시 전송 됩니다.When the user selects the Forgot your password? link, they are immediately sent to the Forgot Password experience. 응용 프로그램에서 AADB2C90118 오류 코드를 더 이상 처리할 필요가 없으며 암호 재설정에 대 한 별도의 정책이 필요 하지 않습니다.Your application no longer needs to handle the AADB2C90118 error code, and you don't need a separate policy for password reset.

로그인 (권장) 또는 등록 및 로그인 (권장) 사용자 흐름에 대해 셀프 서비스 암호 재설정 환경을 구성할 수 있습니다.The self-service password reset experience can be configured for the Sign-in (Recommended) or Sign up and sign in (Recommended) user flows. 이러한 사용자 흐름이 없는 경우 로그인 및 등록 사용자 흐름을 만듭니다.If you don't have such a user flow, create a sign In and Sign Up user flow.

등록 또는 로그인 사용자 흐름에 대해 셀프 서비스 암호 재설정을 사용 하도록 설정 하려면 다음을 수행 합니다.To enable self-service password reset for the sign-up or sign-in user flow:

  1. Azure Portal에 로그인합니다.Sign in to the Azure portal.
  2. 포털 도구 모음에서 디렉터리 + 구독 아이콘을 선택한 다음, Azure AD B2C 테넌트가 포함된 디렉터리를 선택합니다.Select the Directory + Subscription icon in the portal toolbar, and then select the directory that contains your Azure AD B2C tenant.
  3. Azure Portal에서 Azure AD B2C 를 검색하고 선택합니다.In the Azure portal, search for and select Azure AD B2C.
  4. 사용자 흐름 을 선택합니다.Select User flows.
  5. 사용자 지정 하려는 등록 또는 로그인 사용자 흐름 ( 권장)을 선택 합니다.Select a sign-up or sign-in user flow (of type Recommended) that you want to customize.
  6. 왼쪽 메뉴의 설정 에서 속성 을 선택 합니다.Under Settings in the left menu, select Properties.
  7. 암호 복잡도 에서 셀프 서비스 암호 재설정 을 선택 합니다.Under Password complexity, select Self-service password reset.
  8. 저장 을 선택합니다.Select Save.
  9. 왼쪽 메뉴의 사용자 지정 에서 페이지 레이아웃 을 선택 합니다.Under Customize in the left menu, select Page layouts.
  10. 페이지 레이아웃 버전 에서 2.1.2-Current 이상을 선택 합니다.In the Page Layout Version, choose 2.1.2 - Current or above.
  11. 저장 을 선택합니다.Select Save.

다음 섹션에서는 사용자 지정 정책에 셀프 서비스 암호 환경을 추가 하는 방법에 대해 설명 합니다.The following sections describe how to add a self-service password experience to a custom policy. 이 샘플은 사용자 지정 정책 시작 팩에 포함 된 정책 파일을 기반으로 합니다.The sample is based on the policy files included in the custom policy starter pack.

GitHub에 대 한 "암호 재설정을 사용 하 여 등록 또는 로그인" 정책의 전체 샘플을 찾을 수 있습니다.You can find a complete sample of the "sign-up or sign-in with password reset" policy on GitHub.

사용자가 암호를 잊으셨나요? 링크를 선택한 정책을 나타내려면 부울 클레임을 정의 합니다.To indicate to the policy that the user has selected the Forgot your password? link, define a boolean claim. 이 클레임은 암호 찾기 기술 프로필로 사용자 경험을 안내 하는 데 사용 됩니다.This claim will be used to direct the user journey to the Forgot Password technical profile. 이 클레임은 토큰에도 발급 될 수 있으므로 응용 프로그램은 사용자가 암호 찾기 흐름을 통해 로그인 한 것을 인식 합니다.This claim can also be issued to the token so the application is aware that the user signed in via the Forgot Password flow.

클레임 스키마에서 클레임을 선언 합니다.You declare your claims in the claims schema. 정책의 확장 파일을 엽니다.Open the extensions file of your policy. 예를 들어 SocialAndLocalAccounts/TrustFrameworkExtensions.xml입니다.For example, SocialAndLocalAccounts/TrustFrameworkExtensions.xml.

  1. BuildingBlocks 요소를 검색합니다.Search for the BuildingBlocks element. 요소가 존재하지 않는 경우 추가합니다.If the element doesn't exist, add it.
  2. ClaimsSchema 요소를 찾습니다.Locate the ClaimsSchema element. 요소가 존재하지 않는 경우 추가합니다.If the element doesn't exist, add it.
  3. ClaimsSchema 요소에 다음 클레임을 추가 합니다.Add the following claim to the ClaimsSchema element.
<!-- 
<BuildingBlocks>
  <ClaimsSchema> -->
    <ClaimType Id="isForgotPassword">
      <DisplayName>isForgotPassword</DisplayName>
      <DataType>boolean</DataType>
      <AdminHelpText>Whether the user has selected Forgot your Password</AdminHelpText>
    </ClaimType>
  <!--
  </ClaimsSchema>
</BuildingBlocks> -->

페이지 레이아웃 버전 업그레이드Upgrade the page layout version

페이지 레이아웃 버전 2.1.2 는 등록 또는 로그인 경험 내에서 셀프 서비스 암호 재설정 흐름을 사용 하도록 설정 하는 데 필요 합니다.Page layout version 2.1.2 is required to enable the self-service password reset flow within the sign-up or sign-in journey.

  1. BuildingBlocks 요소를 검색합니다.Search for the BuildingBlocks element. 요소가 존재하지 않는 경우 추가합니다.If the element doesn't exist, add it.
  2. Contentdefinitions 요소를 찾습니다.Locate the ContentDefinitions element. 요소가 존재하지 않는 경우 추가합니다.If the element doesn't exist, add it.
  3. 아래 표시 된 것 처럼 Contentdefinition 요소 내에서 Id api. signuporsignin 을 사용 하 여 datauri 요소를 수정 합니다.Modify the DataURI element within the ContentDefinition element with Id api.signuporsignin as shown below.
<!-- 
<BuildingBlocks>
  <ContentDefinitions> -->
    <ContentDefinition Id="api.signuporsignin">
      <DataUri>urn:com:microsoft:aad:b2c:elements:contract:unifiedssp:2.1.2</DataUri>
    </ContentDefinition>
  <!-- 
  </ContentDefinitions>
</BuildingBlocks> -->

클레임을 시작 하기 위해 isForgotPassword 클레임 변환 기술 프로필이 사용 됩니다.To initiate the isForgotPassword claim, a claims transformation technical profile is used. 이 기술 프로필은 나중에 참조 될 예정입니다.This technical profile will be referenced later. 호출 될 때 클레임 값을로 설정 합니다 isForgotPassword true .When invoked, it will set the value of the isForgotPassword claim to true. ClaimsProviders 요소를 찾습니다.Find the ClaimsProviders element. 요소가 존재하지 않는 경우 추가합니다.If the element doesn't exist, add it. 그런 후에 다음 클레임 공급자를 추가 합니다.Then add the following claims provider:

<!-- 
<ClaimsProviders> -->
  <ClaimsProvider>
    <DisplayName>Local Account</DisplayName>
    <TechnicalProfiles>
      <TechnicalProfile Id="ForgotPassword">
        <DisplayName>Forgot your password?</DisplayName>
        <Protocol Name="Proprietary" Handler="Web.TPEngine.Providers.ClaimsTransformationProtocolProvider, Web.TPEngine, Version=1.0.0.0, Culture=neutral, PublicKeyToken=null"/>
        <OutputClaims>
          <OutputClaim ClaimTypeReferenceId="isForgotPassword" DefaultValue="true" AlwaysUseDefaultValue="true"/>
        </OutputClaims>
      </TechnicalProfile>
      <TechnicalProfile Id="SelfAsserted-LocalAccountSignin-Email">
        <Metadata>
          <Item Key="setting.forgotPasswordLinkOverride">ForgotPasswordExchange</Item>
        </Metadata>
      </TechnicalProfile>
    </TechnicalProfiles>
  </ClaimsProvider>
<!-- 
</ClaimsProviders> -->

SelfAsserted-LocalAccountSignin-Email기술 프로필은 setting.forgotPasswordLinkOverride 사용자 경험에서 실행 되도록 암호 재설정 클레임 교환을 정의 합니다.The SelfAsserted-LocalAccountSignin-Email technical profile setting.forgotPasswordLinkOverride definers the password reset claims exchange to be executed in your user journey.

암호 재설정 하위 경험 추가Add the password reset sub journey

이제 사용자에 게 로그인 하 고, 등록 하 고, 암호 재설정을 수행할 수 있는 기능이 포함 됩니다.Your journey will now include the capability for the user to sign in, sign up, and perform password reset. 사용자 경험을 보다 효율적으로 구성 하기 위해 하위 경험을 사용 하 여 암호 재설정 흐름을 처리할 수 있습니다.To better organize the user journey, a sub journey can be used to handle the password reset flow.

사용자 경험에서 하위 경험을 호출 하 고 사용자에 게 암호 재설정 환경을 제공 하는 특정 단계를 수행 합니다.The sub journey will be called from the user journey and will perform the specific steps to deliver the password reset experience to the user. 하위 이동 Call 이 완료 되 면 하위 경험을 시작한 오케스트레이션 단계로 제어가 반환 되도록 형식 하위 경험을 사용 합니다.Use the Call type sub journey so that once the sub journey completes, control is returned to the orchestration step that initiated the sub journey.

SubJourneys 요소를 찾습니다.Find the SubJourneys element. 요소가 존재 하지 않는 경우 요소 뒤에 추가 User Journeys 합니다.If the element doesn't exist, add it after the User Journeys element. 그런 후에 다음 하위 경험을 추가 합니다.Then add the following sub journey:

<!--
<SubJourneys>-->
  <SubJourney Id="PasswordReset" Type="Call">
    <OrchestrationSteps>
      <!-- Validate user's email address. -->
      <OrchestrationStep Order="1" Type="ClaimsExchange">
        <ClaimsExchanges>
          <ClaimsExchange Id="PasswordResetUsingEmailAddressExchange" TechnicalProfileReferenceId="LocalAccountDiscoveryUsingEmailAddress" />
        </ClaimsExchanges>
      </OrchestrationStep>

      <!-- Collect and persist a new password. -->
      <OrchestrationStep Order="2" Type="ClaimsExchange">
        <ClaimsExchanges>
          <ClaimsExchange Id="NewCredentials" TechnicalProfileReferenceId="LocalAccountWritePasswordUsingObjectId" />
        </ClaimsExchanges>
      </OrchestrationStep>
    </OrchestrationSteps>
  </SubJourney>
<!--
</SubJourneys>-->

사용자 경험 준비Prepare your user journey

암호를 잊으셨나요 ? 링크를 잊어버린 암호 하위 과정에 연결 해야 합니다.You'll need to connect the Forgot your password? link to the Forgot Password sub journey. 이렇게 하려면 CombinedSignInAndSignUp 단계의 ClaimsProviderSelection 요소 내에서 잊어버린 암호 하위 여행 Id를 참조 합니다.To do this, reference the Forgot Password sub journey Id within the ClaimsProviderSelection element of the CombinedSignInAndSignUp step.

CombinedSignInAndSignUp 단계를 사용 하 여 사용자 지정 사용자 경험을 사용 하지 않는 경우 다음 절차를 사용 하 여 기존 등록 또는 로그인 사용자 경험을 복제 합니다.If you don't have your own custom user journey with a CombinedSignInAndSignUp step, use the following procedure to duplicate an existing sign-up or sign-in user journey. 그렇지 않으면 다음 섹션으로 계속 진행 합니다.Otherwise, continue to the next section.

  1. 시작 팩에서 TrustFrameworkBase.xml 파일을 엽니다.Open the TrustFrameworkBase.xml file from the starter pack.
  2. Id="SignUpOrSignIn"이 포함된 UserJourney 요소를 찾아서 전체 콘텐츠를 복사합니다.Find and copy the entire contents of the UserJourney element that includes Id="SignUpOrSignIn".
  3. TrustFrameworkExtensions.xml 을 열어 UserJourneys 요소를 찾습니다.Open the TrustFrameworkExtensions.xml and find the UserJourneys element. 요소가 존재하지 않는 경우 추가합니다.If the element doesn't exist, add one.
  4. 2 단계에서 복사한 Userjourney 요소의 전체 내용을 붙여넣어 요소의 자식 요소를 만듭니다.Create a child element of the UserJourneys element by pasting the entire contents of the UserJourney element you copied in step 2.
  5. 사용자 경험의 Id 이름을 바꿉니다.Rename the Id of the user journey. 예들 들어 Id="CustomSignUpSignIn"입니다.For example, Id="CustomSignUpSignIn".

사용자 경험에서 암호 하위 경험을 ClaimsProviderSelection 로 나타낼 수 있습니다.In your user journey, you can represent the Forgot Password sub journey as a ClaimsProviderSelection. 이 요소를 추가 하면 암호를 잊으셨나요 ? 링크를 잊어버린 암호 하위 과정에 연결 합니다.Adding this element connects the Forgot your password? link to the Forgot Password sub journey.

  1. 사용자 경험에서 또는를 포함 하는 오케스트레이션 단계 요소를 Type="CombinedSignInAndSignUp" 찾습니다 Type="ClaimsProviderSelection" .In the user journey, find the orchestration step element that includes Type="CombinedSignInAndSignUp" or Type="ClaimsProviderSelection". 일반적으로 첫 번째 오케스트레이션 단계입니다.It's usually the first orchestration step. ClaimsProviderSelections 요소에는 사용자가 로그인 하는 데 사용할 수 있는 id 공급자의 목록이 포함 되어 있습니다.The ClaimsProviderSelections element contains a list of identity providers that a user can use to sign in. 다음 줄을 추가합니다.Add the following line:

    <ClaimsProviderSelection TargetClaimsExchangeId="ForgotPasswordExchange" />
    
  2. 다음 오케스트레이션 단계에서 Claim이상 변경 요소를 추가 합니다.In the next orchestration step, add a ClaimsExchange element. 다음 줄을 추가합니다.Add the following line:

    <ClaimsExchange Id="ForgotPasswordExchange" TechnicalProfileReferenceId="ForgotPassword" />
    
  3. 현재 단계와 다음 단계 사이에 다음 오케스트레이션 단계를 추가 합니다.Add the following orchestration step between the current step, and the next step. 추가 하는 새 오케스트레이션 단계는 isForgotPassword 클레임이 존재 하는지 확인 합니다.The new orchestration step you add, checks whether the isForgotPassword claim exists. 클레임이 있는 경우 암호 재설정 하위과정을 호출 합니다.If the claim exists, it invokes the password reset sub journey.

    <OrchestrationStep Order="3" Type="InvokeSubJourney">
      <Preconditions>
        <Precondition Type="ClaimsExist" ExecuteActionsIf="false">
          <Value>isForgotPassword</Value>
          <Action>SkipThisOrchestrationStep</Action>
        </Precondition>
      </Preconditions>
      <JourneyList>
        <Candidate SubJourneyReferenceId="PasswordReset" />
      </JourneyList>
    </OrchestrationStep>
    
  4. 새 오케스트레이션 단계를 추가한 후에는 1에서 N 사이의 정수를 건너뛰지 않고 순차적으로 단계 번호를 다시 매깁니다.After you add the new orchestration step, renumber the steps sequentially without skipping any integers from 1 to N.

실행할 사용자 경험 설정Set the user journey to be executed

사용자 경험을 수정 하거나 만들었기 때문에 신뢰 당사자 섹션에서이 사용자 지정 정책에 대해 Azure AD B2C 실행 되는 여행을 지정 합니다.Now that you've modified or created a user journey, in the Relying Party section specify the journey that Azure AD B2C will execute for this custom policy. RelyingParty 요소 내에서 defaultuserjourney 요소를 찾습니다.Within the RelyingParty element, find the DefaultUserJourney element. ClaimsProviderSelections 를 추가한 사용자 경험의 ID와 일치 하도록 defaultuserjourney 를 업데이트 합니다.Update the DefaultUserJourney ReferenceId to match the ID of the user journey in which you added the ClaimsProviderSelections.

<RelyingParty>
  <DefaultUserJourney ReferenceId="CustomSignUpSignIn" />
  ...
</RelyingParty>

앱에 대 한 암호 흐름 잊음 표시Indicate the Forgot Password flow to your App

응용 프로그램은 사용자가 암호 잊음 사용자 흐름을 통해 로그인 했는지 여부를 검색 해야 할 수 있습니다.Your application might need to detect whether the user signed in via the Forgot Password user flow. IsForgotPassword 클레임에는이를 나타내는 부울 값이 포함 됩니다 .이 값은 응용 프로그램에 전송 된 토큰에서 실행할 수 있습니다.The isForgotPassword claim contains a boolean value that indicates this, which can be issued in the token sent to your application. 필요한 경우 isForgotPassword 신뢰 당사자 섹션의 출력 클레임에를 추가 합니다.If necessary, add isForgotPassword to the output claims in the Relying Party section. 응용 프로그램에서 클레임을 확인 isForgotPassword 하 여 사용자가 암호를 다시 설정할지 여부를 결정할 수 있습니다.Your application can check the isForgotPassword claim to determine if the user resets their password.

<RelyingParty>
  <OutputClaims>
    ...
    <OutputClaim ClaimTypeReferenceId="isForgotPassword" DefaultValue="false" />
  </OutputClaims>
</RelyingParty>

사용자 지정 정책 업로드Upload the custom policy

  1. Azure Portal에 로그인합니다.Sign in to the Azure portal.
  2. 포털 도구 모음에서 디렉터리 + 구독 아이콘을 선택한 다음, Azure AD B2C 테넌트가 포함된 디렉터리를 선택합니다.Select the Directory + Subscription icon in the portal toolbar, and then select the directory that contains your Azure AD B2C tenant.
  3. Azure Portal에서 Azure AD B2C 를 검색하고 선택합니다.In the Azure portal, search for and select Azure AD B2C.
  4. 정책 에서 Identity Experience Framework 를 선택합니다.Under Policies, select Identity Experience Framework.
  5. 사용자 지정 정책 업로드 를 선택 하 고 다음 순서 대로 변경한 두 정책 파일을 업로드 합니다.Select Upload Custom Policy, and then upload the two policy files that you changed in the following order:
    1. 예를 들어 확장 정책 TrustFrameworkExtensions.xml 입니다.The extension policy, for example TrustFrameworkExtensions.xml.
    2. 예를 들어 신뢰 당사자 정책 SignUpSignIn.xml 입니다.The relying party policy, for example SignUpSignIn.xml.

암호 재설정 흐름 테스트Test the password reset flow

  1. 테스트 하려는 등록 또는 로그인 사용자 흐름 (권장)을 선택 합니다.Select a sign-up or sign-in user flow (of type Recommended) that you want to test.
  2. 사용자 흐름 실행 을 선택합니다.Select Run user flow.
  3. 애플리케이션 으로 이전에 등록한 webapp1 이라는 웹 애플리케이션을 선택합니다.For Application, select the web application named webapp1 that you previously registered. 회신 URL 에는 https://jwt.ms가 표시되어야 합니다.The Reply URL should show https://jwt.ms.
  4. 사용자 흐름 실행 을 선택합니다.Select Run user flow.
  5. 등록 또는 로그인 페이지에서 암호를 잊으셨나요? 를 선택 합니다.From the sign-up or sign-in page, select Forgot your password?.
  6. 이전에 만든 계정의 전자 메일 주소를 확인 하 고 계속 을 선택 합니다.Verify the email address of the account that you previously created, and then select Continue.
  7. 이제 사용자의 암호를 변경할 수 있습니다.You now have the opportunity to change the password for the user. 암호를 변경하고, 계속 을 선택합니다.Change the password and select Continue. 토큰이 https://jwt.ms로 반환되며 사용자에게 표시됩니다.The token is returned to https://jwt.ms and should be displayed to you.
  8. 반환 토큰의 isForgotPassword 클레임 값을 확인 합니다.Check the return token's isForgotPassword claim value. 가 있고이 true로 설정 된 경우 사용자가 암호를 재설정 했음을 나타냅니다.If exists and is set to true, this indicates the user has reset the password.

암호 재설정 정책 (레거시)Password reset policy (legacy)

셀프 서비스 암호 재설정 환경을 사용 하지 않는 경우이 링크를 클릭 하면 암호 재설정 사용자 흐름이 자동으로 트리거되지 않습니다.If the self-service password reset experience is not enabled, clicking this link doesn't automatically trigger a password reset user flow. 대신 AADB2C90118 오류 코드가 애플리케이션에 반환됩니다.Instead, the error code AADB2C90118 is returned to your application. 응용 프로그램은 인증 라이브러리를 다시 초기화 하 여 Azure AD B2C 암호 재설정 사용자 흐름을 인증 함으로써이 오류 코드를 처리 해야 합니다.Your application needs to handle this error code by reinitializing the authentication library to authenticate an Azure AD B2C password reset user flow.

다음 다이어그램에서:In the following diagram:

  1. 응용 프로그램에서 사용자가 로그인을 클릭 합니다.From the application, the user clicks on sign-in. 앱은 권한 부여 요청을 시작 하 고 사용자가 Azure AD B2C 하 여 로그인을 완료 합니다.The app initiates an authorization request, and takes the user to Azure AD B2C to finish signing in. 권한 부여 요청은 B2C_1_signup_signin 와 같은 등록 또는 로그인 정책 이름을 지정 합니다.The authorization request specifies the sign-up or sign-in policy name, such as B2C_1_signup_signin.
  2. 사용자가 암호를 잊으셨나요? 링크를 선택 합니다.The user selects the Forgot your password? link. Azure AD B2C는 AADB2C90118 오류 코드를 응용 프로그램에 반환 합니다.Azure AD B2C returns the AADB2C90118 error code to the application.
  3. 응용 프로그램은 오류 코드를 처리 하 고 새 권한 부여 요청을 시작 합니다.The application handles the error code and initiates a new authorization request. 권한 부여 요청은 B2C_1_pwd_reset 와 같은 암호 재설정 정책 이름을 지정 합니다.The authorization request specifies the password reset policy name, such as B2C_1_pwd_reset.

레거시 암호 재설정 사용자 흐름

예제를 보려면 사용자 흐름 링크를 보여 주는 간단한 ASP.NET 샘플을 살펴보세요.To see an example, take a look at a simple ASP.NET sample, which demonstrates the linking of user flows.

암호 재설정 사용자 흐름 만들기Create a password reset user flow

응용 프로그램의 사용자가 자신의 암호를 다시 설정 하도록 하려면 암호 재설정 사용자 흐름을 만듭니다.To let users of your application reset their password, you create a password reset user flow.

  1. Azure AD B2C 테넌트 개요 메뉴에서 사용자 흐름 을 선택한 다음, 새 사용자 흐름 을 선택합니다.In the Azure AD B2C tenant overview menu, select User flows, and then select New user flow.
  2. 사용자 흐름 만들기 탭에서 암호 다시 설정 사용자 흐름을 선택합니다.On the Create a user flow page, select the Password reset user flow.
  3. 버전 선택 아래에서 추천 을 선택한 다음, 만들기 를 선택합니다.Under Select a version, select Recommended, and then select Create.
  4. 사용자 흐름에 대한 이름 을 입력합니다.Enter a Name for the user flow. 예를 들어 passwordreset1 과 같습니다.For example, passwordreset1.
  5. ID 공급자 에서 메일 주소를 사용하여 암호 재설정 을 사용하도록 설정합니다.For Identity providers, enable Reset password using email address.
  6. 응용 프로그램 클레임 에서 자세히 표시 를 선택 하 고 응용 프로그램으로 다시 전송 된 권한 부여 토큰에서 반환 하려는 클레임을 선택 합니다.Under Application claims, select Show more and choose the claims you want returned in the authorization tokens sent back to your application. 예를 들어 사용자의 개체 ID 를 선택합니다.For example, select User's Object ID.
  7. 확인 을 선택합니다.Select OK.
  8. 만들기 를 선택하여 사용자 흐름을 추가합니다.Select Create to add the user flow. 접두사 B2C_1 이 이름을 자동으로 추가됩니다.A prefix of B2C_1 is automatically appended to the name.

사용자 흐름 테스트Test the user flow

  1. 만든 사용자 흐름을 선택하여 해당 개요 페이지를 연 다음, 사용자 흐름 실행 을 선택합니다.Select the user flow you created to open its overview page, and then select Run user flow.
  2. 애플리케이션 으로 이전에 등록한 webapp1 이라는 웹 애플리케이션을 선택합니다.For Application, select the web application named webapp1 that you previously registered. 회신 URL 에는 https://jwt.ms가 표시되어야 합니다.The Reply URL should show https://jwt.ms.
  3. 사용자 흐름 실행 을 클릭 하 고 이전에 만든 계정의 전자 메일 주소를 확인 한 다음 계속 을 선택 합니다.Click Run user flow, verify the email address of the account that you previously created, and then select Continue.
  4. 이제 사용자에 대 한 암호를 변경할 수 있습니다.You can now change the password for the user. 암호를 변경하고, 계속 을 선택합니다.Change the password and select Continue. 토큰이 https://jwt.ms로 반환되며 사용자에게 표시됩니다.The token is returned to https://jwt.ms and should be displayed to you.

암호 재설정 정책 만들기Create a password reset policy

사용자 지정 정책은 사용자 경험를 정의 하기 위해 Azure AD B2C 테 넌 트에 업로드 하는 XML 파일 집합입니다.Custom policies are a set of XML files you upload to your Azure AD B2C tenant to define user journeys. 등록 및 로그인, 암호 재설정 및 프로필 편집 정책을 포함 하 여 몇 가지 미리 작성 된 정책으로 시작 팩을 제공 합니다.We provide starter packs with several pre-built policies including: sign-up and sign-in, password reset, and profile editing policy. 자세한 내용은 Azure AD B2C에서 사용자 지정 정책 시작을 참조 하세요.For more information, see Get started with custom policies in Azure AD B2C.

다음 단계Next steps

암호 재설정을 강제설정 합니다.Set up a force password reset.