Configuración de un flujo de restablecimiento de contraseña en Azure Active Directory B2CSet up a password reset flow in Azure Active Directory B2C

Antes de comenzar, use el selector anterior para elegir el tipo de directiva que va a configurar.Before you begin, use the selector above to choose the type of policy you’re configuring. Azure AD B2C ofrece dos métodos para definir el modo en que los usuarios interactúan con las aplicaciones: por medio de flujos de usuario predefinidos o de directivas personalizadas totalmente configurables.Azure AD B2C offers two methods of defining how users interact with your applications: through predefined user flows, or through fully configurable custom policies. Los pasos necesarios en este artículo son diferentes para cada método.The steps required in this article are different for each method.

Flujo de restablecimiento de contraseñaPassword reset flow

El recorrido de registro e inicio de sesión permite a los usuarios restablecer su propia contraseña mediante el vínculo ¿Olvidó la contraseña?The sign-up and sign-in journey allows users to reset their own password using the Forgot your password? link. El flujo de restablecimiento de contraseña consta de los siguientes pasos:The password reset flow involves the following steps:

  1. En la página de registro e inicio de sesión, el usuario hace clic en el vínculo ¿Olvidó la contraseña?From the sign-up and sign-in page, the user clicks the Forgot your password? link. Azure AD B2C inicia el flujo de restablecimiento de contraseña.Azure AD B2C initiates the password reset flow.
  2. El usuario proporciona y comprueba su dirección de correo electrónico con un código de acceso de un solo uso programado.The user provides and verifies their email address with a Timed One Time Passcode.
  3. A continuación, el usuario puede escribir una nueva contraseña.The user can then enter a new password.

Flujo de restablecimiento de contraseña

El flujo de restablecimiento de contraseña se aplica a las cuentas locales de Azure AD B2C que utilizan una dirección de correo electrónico o un nombre de usuario con una contraseña para el inicio de sesión.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.

Sugerencia

El flujo del autoservicio de restablecimiento de contraseña permite a los usuarios cambiar su contraseña cuando el usuario la olvida y quiere restablecerla.The self-service password reset flow allows users to change their password when the user forgets their password and wants to reset it. Considere la posibilidad de configurar un flujo de cambio de contraseña para admitir casos en los que un usuario conoce su contraseña y quiere cambiarla.Consider configuring a password change flow to support cases where a user knows their password and wants to change it.

Una práctica común después de migrar los usuarios a Azure AD B2C con contraseñas aleatorias es que los usuarios comprueben sus direcciones de correo electrónico y restablezcan sus contraseñas durante el primer inicio de sesión.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. También es habitual obligar al usuario a restablecer su contraseña después de que un administrador la cambie; consulte cómo forzar el restablecimiento de contraseña para habilitar esta característica.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.

Requisitos previosPrerequisites

La nueva experiencia de restablecimiento de contraseña ahora forma parte de la directiva de registro o inicio de sesión.The new password reset experience is now part of the sign-up or sign-in policy. Cuando el usuario selecciona el vínculo ¿Olvidó la contraseña? , se le envía inmediatamente a la experiencia de contraseña olvidada.When the user selects the Forgot your password? link, they are immediately sent to the Forgot Password experience. La aplicación ya no necesita controlar el código de error AADB2C90118 y no necesita una directiva distinta para el restablecimiento de contraseña.Your application no longer needs to handle the AADB2C90118 error code, and you don't need a separate policy for password reset.

La experiencia de autoservicio de restablecimiento de contraseña se puede configurar para los flujos de usuario de inicio de sesión (recomendado) o de registro e inicio de sesión (recomendado) .The self-service password reset experience can be configured for the Sign-in (Recommended) or Sign up and sign in (Recommended) user flows. Si no tiene este tipo de flujo de usuario, cree un flujo de usuario de registro e inicio de sesión.If you don't have such a user flow, create a sign In and Sign Up user flow.

Para habilitar el autoservicio de restablecimiento de contraseña para el flujo de usuario de registro o inicio de sesión:To enable self-service password reset for the sign-up or sign-in user flow:

  1. Inicie sesión en Azure Portal.Sign in to the Azure portal.
  2. Seleccione el icono Directorio y suscripción en la barra de herramientas del portal y, luego, elija el directorio que contiene el inquilino de 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. En Azure Portal, busque y seleccione Azure AD B2C.In the Azure portal, search for and select Azure AD B2C.
  4. Seleccione Flujos de usuario.Select User flows.
  5. Seleccione un flujo de usuario de registro o inicio de sesión (de tipo recomendado) que quiera personalizar.Select a sign-up or sign-in user flow (of type Recommended) that you want to customize.
  6. En el menú de la izquierda, en Configuración, seleccione Propiedades.Under Settings in the left menu, select Properties.
  7. En Complejidad de la contraseña, seleccione Autoservicio de restablecimiento de contraseña.Under Password complexity, select Self-service password reset.
  8. Seleccione Guardar.Select Save.
  9. En el menú de la izquierda, en Personalizar, seleccione Diseños de página.Under Customize in the left menu, select Page layouts.
  10. En Versión de diseño de página, elija 2.1.2 - Current (2.1.2: actual) o superior.In the Page Layout Version, choose 2.1.2 - Current or above.
  11. Seleccione Guardar.Select Save.

En las secciones siguientes se describe cómo agregar una experiencia de autoservicio de contraseña a una directiva personalizada.The following sections describe how to add a self-service password experience to a custom policy. El ejemplo se basa en los archivos de directivas incluidos en el paquete de inicio de directivas personalizadas.The sample is based on the policy files included in the custom policy starter pack.

Sugerencia

Puede encontrar un ejemplo completo de la directiva de registro o inicio de sesión con contrzseña en GitHub.You can find a complete sample of the "sign-up or sign-in with password reset" policy on GitHub.

Para indicar a la directiva que el usuario ha seleccionado el vínculo ¿Olvidó la contraseña? , defina una notificación booleana.To indicate to the policy that the user has selected the Forgot your password? link, define a boolean claim. Esta notificación se usará para dirigir el recorrido del usuario al perfil técnico de contraseña olvidada.This claim will be used to direct the user journey to the Forgot Password technical profile. Esta notificación también se puede emitir al token, de modo que la aplicación sabe que el usuario ha iniciado sesión mediante el flujo de contraseña olvidada.This claim can also be issued to the token so the application is aware that the user signed in via the Forgot Password flow.

Las notificaciones se declaran en el esquema de notificaciones.You declare your claims in the claims schema. Abra el archivo de extensiones de la directiva.Open the extensions file of your policy. Por ejemplo, SocialAndLocalAccounts/ TrustFrameworkExtensions.xml.For example, SocialAndLocalAccounts/TrustFrameworkExtensions.xml.

  1. Busque el elemento BuildingBlocks.Search for the BuildingBlocks element. Si el elemento no existe, agréguelo.If the element doesn't exist, add it.
  2. Busque el elemento ClaimsSchema.Locate the ClaimsSchema element. Si el elemento no existe, agréguelo.If the element doesn't exist, add it.
  3. Agregue las notificaciones siguientes al elemento 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> -->

Actualización de la versión de diseño de páginaUpgrade the page layout version

La versión de diseño de página 2.1.2 es necesaria para habilitar el flujo de autoservicio de restablecimiento de contraseña dentro del recorrido de registro o inicio de sesión.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. Busque el elemento BuildingBlocks.Search for the BuildingBlocks element. Si el elemento no existe, agréguelo.If the element doesn't exist, add it.
  2. Busque el elemento ContentDefinitions.Locate the ContentDefinitions element. Si el elemento no existe, agréguelo.If the element doesn't exist, add it.
  3. Modifique el elemento DataURI en el elemento ContentDefinition con el identificador api.signuporsignin, como se muestra a continuación.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> -->

Para iniciar la notificación isForgotPassword, se usa un perfil técnico de transformación de notificaciones.To initiate the isForgotPassword claim, a claims transformation technical profile is used. Más adelante se hará referencia a este perfil técnico.This technical profile will be referenced later. Cuando se invoca, establecerá el valor de la notificación isForgotPassword en true.When invoked, it will set the value of the isForgotPassword claim to true. Busque el elemento ClaimsProviders.Find the ClaimsProviders element. Si el elemento no existe, agréguelo.If the element doesn't exist, add it. Luego, agregue el siguiente proveedor de notificaciones: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> -->

El perfil técnico SelfAsserted-LocalAccountSignin-Email setting.forgotPasswordLinkOverride define el intercambio de notificaciones de restablecimiento de contraseña que se ejecuta en el recorrido del usuario.The SelfAsserted-LocalAccountSignin-Email technical profile setting.forgotPasswordLinkOverride definers the password reset claims exchange to be executed in your user journey.

Adición del subrecorrido de restablecimiento de contraseñaAdd the password reset sub journey

El recorrido ahora incluirá la funcionalidad para que el usuario inicie sesión, se registre y realice el restablecimiento de contraseña.Your journey will now include the capability for the user to sign in, sign up, and perform password reset. Para organizar mejor el recorrido del usuario, se puede usar un subrecorrido para administrar el flujo de restablecimiento de contraseña.To better organize the user journey, a sub journey can be used to handle the password reset flow.

El subrecorrido se llamará desde el recorrido del usuario y llevará a cabo los pasos específicos para proporcionar al usuario la experiencia de restablecimiento de contraseña.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. Use el subrecorrido de tipo Call para que una vez que se complete el subrecorrido, se devuelva el control al paso de orquestación que lo inició.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.

Busque el elemento SubJourneys.Find the SubJourneys element. Si el elemento no existe, agréguelo después del elemento User Journeys.If the element doesn't exist, add it after the User Journeys element. Luego, agregue el siguiente subrecorrido: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>-->

Preparación del recorrido del usuarioPrepare your user journey

Deberá conectar el vínculo ¿Olvidó la contraseña? al subrecorrido de contraseña olvidada.You'll need to connect the Forgot your password? link to the Forgot Password sub journey. Para ello, haga referencia al identificador de subrecorrido de contraseña olvidada dentro del elemento ClaimsProviderSelection del paso CombinedSignInAndSignUp.To do this, reference the Forgot Password sub journey Id within the ClaimsProviderSelection element of the CombinedSignInAndSignUp step.

Si no tiene su propio recorrido de usuario personalizado con un paso CombinedSignInAndSignUp, use el procedimiento siguiente para duplicar un recorrido de usuario de registro o inicio de sesión existente.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. De lo contrario, continúe con la sección siguiente.Otherwise, continue to the next section.

  1. Abra el archivo TrustFrameworkBase.xml del paquete de inicio.Open the TrustFrameworkBase.xml file from the starter pack.
  2. Busque y copie todo el contenido del elemento UserJourney que incluye Id="SignUpOrSignIn".Find and copy the entire contents of the UserJourney element that includes Id="SignUpOrSignIn".
  3. Abra el archivo TrustFrameworkExtensions.xml y busque el elemento UserJourneys.Open the TrustFrameworkExtensions.xml and find the UserJourneys element. Si el elemento no existe, agréguelo.If the element doesn't exist, add one.
  4. Cree un elemento secundario del elemento UserJourneys; para ello, pegue todo el contenido del elemento UserJourney que copió en el paso 2.Create a child element of the UserJourneys element by pasting the entire contents of the UserJourney element you copied in step 2.
  5. Cambie el identificador del recorrido del usuario.Rename the Id of the user journey. Por ejemplo, Id="CustomSignUpSignIn".For example, Id="CustomSignUpSignIn".

En el recorrido del usuario, puede representar el subrecorrido de contraseña olvidada como ClaimsProviderSelection.In your user journey, you can represent the Forgot Password sub journey as a ClaimsProviderSelection. Al agregar este elemento se conecta el vínculo ¿Olvidó la contraseña? al subrecorrido de contraseña olvidada.Adding this element connects the Forgot your password? link to the Forgot Password sub journey.

  1. En el recorrido del usuario, busque el elemento del paso de orquestación que incluye Type="CombinedSignInAndSignUp" o Type="ClaimsProviderSelection".In the user journey, find the orchestration step element that includes Type="CombinedSignInAndSignUp" or Type="ClaimsProviderSelection". Normalmente es el primer paso de orquestación.It's usually the first orchestration step. El elemento ClaimsProviderSelections contiene una lista de proveedores de identidades que puede usar un usuario para iniciar sesión.The ClaimsProviderSelections element contains a list of identity providers that a user can use to sign in. Agregue la línea siguiente:Add the following line:

    <ClaimsProviderSelection TargetClaimsExchangeId="ForgotPasswordExchange" />
    
  2. En el paso de orquestación siguiente, agregue un elemento ClaimsExchange.In the next orchestration step, add a ClaimsExchange element. Agregue la línea siguiente:Add the following line:

    <ClaimsExchange Id="ForgotPasswordExchange" TechnicalProfileReferenceId="ForgotPassword" />
    
  3. Agregue el siguiente paso de orquestación entre el paso actual y el paso siguiente.Add the following orchestration step between the current step, and the next step. El nuevo paso de orquestación que agrega comprueba si la notificación isForgotPassword existe.The new orchestration step you add, checks whether the isForgotPassword claim exists. Si la notificación existe, invoca el subrecorrido de restablecimiento de contraseña.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. Después de agregar el nuevo paso de orquestación, vuelva a enumerar los pasos de forma secuencial sin omitir los enteros de 1 a N.After you add the new orchestration step, renumber the steps sequentially without skipping any integers from 1 to N.

Establecimiento del recorrido de usuario que se va a ejecutarSet the user journey to be executed

Ahora que ha modificado o creado un recorrido de usuario, en la sección Usuario de confianza, especifique el recorrido que ejecutará Azure AD B2C para esta directiva personalizada.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. En el elemento RelyingParty, busque el elemento DefaultUserJourney.Within the RelyingParty element, find the DefaultUserJourney element. Actualice DefaultUserJourney ReferenceId para que coincida con el identificador del recorrido del usuario en el que ha agregado el elemento ClaimsProviderSelections.Update the DefaultUserJourney ReferenceId to match the ID of the user journey in which you added the ClaimsProviderSelections.

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

Indicación del flujo de contraseña olvidada a la aplicaciónIndicate the Forgot Password flow to your App

Es posible que la aplicación deba detectar si el usuario inició sesión mediante el flujo de usuario de contraseña olvidada.Your application might need to detect whether the user signed in via the Forgot Password user flow. La solicitud isForgotPassword contiene un valor booleano que lo indica, que se puede emitir en el token enviado a la aplicación.The isForgotPassword claim contains a boolean value that indicates this, which can be issued in the token sent to your application. Si es necesario, agregue isForgotPassword a las notificaciones de salida en la sección Usuario de confianza.If necessary, add isForgotPassword to the output claims in the Relying Party section. La aplicación puede comprobar la notificación isForgotPassword para determinar si el usuario restablece la contraseña.Your application can check the isForgotPassword claim to determine if the user resets their password.

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

Carga de la directiva personalizadaUpload the custom policy

  1. Inicie sesión en Azure Portal.Sign in to the Azure portal.
  2. Seleccione el icono Directorio y suscripción en la barra de herramientas del portal y, luego, elija el directorio que contiene el inquilino de 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. En Azure Portal, busque y seleccione Azure AD B2C.In the Azure portal, search for and select Azure AD B2C.
  4. En Directivas, seleccione Identity Experience Framework.Under Policies, select Identity Experience Framework.
  5. Seleccione Cargar directiva personalizada y, luego, cargue los dos archivos de directiva modificados en el orden siguiente:Select Upload Custom Policy, and then upload the two policy files that you changed in the following order:
    1. La directiva de extensión, por ejemplo TrustFrameworkExtensions.xml.The extension policy, for example TrustFrameworkExtensions.xml.
    2. La directiva de usuario de confianza, por ejemplo SignUpSignIn.xml.The relying party policy, for example SignUpSignIn.xml.

Prueba del flujo de restablecimiento de contraseñaTest the password reset flow

  1. Seleccione un flujo de usuario de registro o inicio de sesión (de tipo recomendado) que quiera probar.Select a sign-up or sign-in user flow (of type Recommended) that you want to test.
  2. Seleccione Ejecutar flujo de usuario.Select Run user flow.
  3. En Aplicación, seleccione la aplicación web denominada webapp1 que registró anteriormente.For Application, select the web application named webapp1 that you previously registered. La dirección URL de respuesta debe mostrar https://jwt.ms.The Reply URL should show https://jwt.ms.
  4. Seleccione Ejecutar flujo de usuario.Select Run user flow.
  5. En la página de registro o inicio de sesión, seleccione ¿Olvidó la contraseña?From the sign-up or sign-in page, select Forgot your password?.
  6. Compruebe la dirección de correo electrónico de la cuenta que creó anteriormente y, luego seleccione Continuar.Verify the email address of the account that you previously created, and then select Continue.
  7. Ahora tiene la oportunidad de cambiar la contraseña para el usuario.You now have the opportunity to change the password for the user. Cambie la contraseña y seleccione Continuar.Change the password and select Continue. El token se devuelve al https://jwt.ms y debe mostrarse.The token is returned to https://jwt.ms and should be displayed to you.
  8. Compruebe el valor de la notificación isForgotPassword del token devuelto.Check the return token's isForgotPassword claim value. Si existe y está establecido en true, indica que el usuario ha restablecido la contraseña.If exists and is set to true, this indicates the user has reset the password.

Directiva de restablecimiento de contraseña (heredada)Password reset policy (legacy)

Si la experiencia de autoservicio de restablecimiento de contraseña no está habilitada, al hacer clic en este vínculo no se desencadena automáticamente un flujo de usuario de restablecimiento de contraseña.If the self-service password reset experience is not enabled, clicking this link doesn't automatically trigger a password reset user flow. sino que se devuelve a la aplicación el código de error AADB2C90118.Instead, the error code AADB2C90118 is returned to your application. Para controlar este código de error, la aplicación debe reinicializar la biblioteca de autenticación para autenticar un flujo de usuario de restablecimiento de contraseña de 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.

En el diagrama siguiente:In the following diagram:

  1. Desde la aplicación, el usuario hace clic en Iniciar sesión.From the application, the user clicks on sign-in. La aplicación inicia una solicitud de autorización y lleva al usuario a Azure AD B2C para que finalice el proceso.The app initiates an authorization request, and takes the user to Azure AD B2C to finish signing in. La solicitud de autorización especifica el nombre de la directiva de registro o inicio de sesión, por ejemplo, B2C_1_signup_signin.The authorization request specifies the sign-up or sign-in policy name, such as B2C_1_signup_signin.
  2. El usuario selecciona el vínculo ¿Olvidó la contraseña?The user selects the Forgot your password? link. Azure AD B2C devuelve el código de error AADB2C90118 a la aplicación.Azure AD B2C returns the AADB2C90118 error code to the application.
  3. La aplicación controla el código de error e inicia una nueva solicitud de autorización.The application handles the error code and initiates a new authorization request. La solicitud de autorización especifica el nombre de la directiva de restablecimiento de contraseña, por ejemplo, B2C_1_pwd_reset.The authorization request specifies the password reset policy name, such as B2C_1_pwd_reset.

Flujo de usuario de restablecimiento de contraseña heredada

Para ver un ejemplo, eche un vistazo a un ejemplo sencillo de ASP.NET que muestra la vinculación de los flujos de usuario.To see an example, take a look at a simple ASP.NET sample, which demonstrates the linking of user flows.

Creación de un flujo de usuario de restablecimiento de contraseñaCreate a password reset user flow

Para permitir que los usuarios de la aplicación restablezcan la contraseña, se crea un flujo de usuario de restablecimiento de contraseña.To let users of your application reset their password, you create a password reset user flow.

  1. En el menú de información general del inquilino de Azure AD B2C, seleccione Flujos de usuario y Nuevo flujo de usuario.In the Azure AD B2C tenant overview menu, select User flows, and then select New user flow.
  2. En la página Crear un flujo de usuario, seleccione el flujo de usuario Restablecer contraseña.On the Create a user flow page, select the Password reset user flow.
  3. En Seleccione una versión, elija Recomendada y, luego, seleccione Crear.Under Select a version, select Recommended, and then select Create.
  4. Escriba un nombre para el flujo de usuario.Enter a Name for the user flow. Por ejemplo, passwordreset1.For example, passwordreset1.
  5. En Proveedores de identidades, habilite Reset password using email address (Restablecer contraseña mediante la dirección de correo electrónico).For Identity providers, enable Reset password using email address.
  6. En Notificaciones de la aplicación, seleccione Mostrar más y elija las notificaciones que quiere que se devuelvan en los tokens de autorización enviados de vuelta a la aplicación.Under Application claims, select Show more and choose the claims you want returned in the authorization tokens sent back to your application. Por ejemplo, seleccione Id. de objeto del usuario.For example, select User's Object ID.
  7. Seleccione Aceptar.Select OK.
  8. Seleccione Crear para agregar el flujo de usuario.Select Create to add the user flow. El prefijo B2C_1 se anexa automáticamente al nombre.A prefix of B2C_1 is automatically appended to the name.

Prueba del flujo de usuarioTest the user flow

  1. Seleccione el flujo de usuario que ha creado para abrir su página de información general y, luego, elija Ejecutar flujo de usuario.Select the user flow you created to open its overview page, and then select Run user flow.
  2. En Aplicación, seleccione la aplicación web denominada webapp1 que registró anteriormente.For Application, select the web application named webapp1 that you previously registered. La dirección URL de respuesta debe mostrar https://jwt.ms.The Reply URL should show https://jwt.ms.
  3. Haga clic en Ejecutar flujo de usuario, compruebe la dirección de correo electrónico de la cuenta que creó previamente y seleccione Continuar.Click Run user flow, verify the email address of the account that you previously created, and then select Continue.
  4. Ahora puede cambiar la contraseña del usuario.You can now change the password for the user. Cambie la contraseña y seleccione Continuar.Change the password and select Continue. El token se devuelve al https://jwt.ms y debe mostrarse.The token is returned to https://jwt.ms and should be displayed to you.

Crear una directiva de restablecimiento de contraseñaCreate a password reset policy

Las directivas personalizadas son un conjunto de archivos XML que se cargan en el inquilino de Azure AD B2C para definir recorridos de usuario.Custom policies are a set of XML files you upload to your Azure AD B2C tenant to define user journeys. Proporcionamos paquetes de inicio con varias directivas predefinidas, entre las que se incluyen: registro e inicio de sesión, restablecimiento de contraseña y directiva de edición de perfiles.We provide starter packs with several pre-built policies including: sign-up and sign-in, password reset, and profile editing policy. Para obtener información, consulte Introducción a las directivas personalizadas en Azure AD B2C.For more information, see Get started with custom policies in Azure AD B2C.

Pasos siguientesNext steps

Configure un restablecimiento de contraseña forzoso.Set up a force password reset.