Restablezca la contraseña de un usuario, representada por un objeto de método de autenticación de contraseña . Esto solo lo puede hacer un administrador con los permisos adecuados y no se puede realizar en la propia cuenta de un usuario.
Para restablecer la contraseña de un usuario en Azure AD B2C, use la operación Actualizar API de usuario y actualice el objeto passwordProfile>forceChangePasswordNextSignIn .
Este flujo escribe la nueva contraseña en Microsoft Entra ID y la inserta en Active Directory local si se configura mediante escritura diferida de contraseñas. El administrador puede proporcionar una nueva contraseña o hacer que el sistema genere una. Se le pide al usuario que cambie su contraseña en su siguiente inicio de sesión.
Este restablecimiento es una operación de larga duración y devuelve un encabezado Location con un vínculo donde el autor de la llamada puede comprobar periódicamente el estado de la operación de restablecimiento.
Elija el permiso o los permisos marcados como con privilegios mínimos para esta API. Use un permiso o permisos con privilegios superiores solo si la aplicación lo requiere. Para obtener más información sobre los permisos delegados y de aplicación, consulte Tipos de permisos. Para obtener más información sobre estos permisos, consulte la referencia de permisos.
Tipo de permiso
Permisos con privilegios mínimos
Permisos con privilegios más altos
Delegado (cuenta profesional o educativa)
UserAuthenticationMethod.ReadWrite.All
No disponible.
Delegado (cuenta personal de Microsoft)
No admitida.
No admitida.
Aplicación
No admitida.
No admitida.
Importante
En escenarios delegados con cuentas profesionales o educativas, al usuario que ha iniciado sesión se le debe asignar un rol de Microsoft Entra compatible o un rol personalizado con un permiso de rol admitido. Se admiten los siguientes roles con privilegios mínimos para esta operación.
Administrador de autenticación
Administrador de autenticación con privilegios
Los administradores con roles de administrador de usuarios, administrador del departamento de soporte técnico o administrador de contraseñas también pueden restablecer contraseñas para usuarios que no son administradores y un conjunto limitado de roles de administrador, tal como se define en Quién puede restablecer contraseñas.
Solicitud HTTP
El identificador del método de autenticación de {passwordMethods-id}contraseña, al que hace referencia , siempre 28c10230-6103-485e-b985-444c60001490es .
POST /users/{id | userPrincipalName}/authentication/methods/{passwordMethods-id}/resetPassword
En el cuerpo de la solicitud, proporcione un objeto JSON con los siguientes parámetros.
Parámetro
Tipo
Descripción
newPassword
Cadena
Nueva contraseña. Necesario para los inquilinos con escenarios de contraseña híbrida. Si se omite para una contraseña de solo nube, el sistema devuelve una contraseña generada por el sistema. Se trata de una cadena Unicode sin ninguna otra codificación. Se valida con el sistema de contraseñas prohibidas del inquilino antes de la aceptación y debe cumplir los requisitos de contraseñas locales o en la nube del inquilino.
Respuesta
Si el autor de la llamada proporcionó una contraseña en el cuerpo de la solicitud, este método devuelve un 202 Accepted código de respuesta y ningún cuerpo de respuesta. La respuesta también puede incluir un encabezado Location con una dirección URL para comprobar el estado de la operación de restablecimiento.
Si el autor de la llamada usó la opción de contraseña generada por el sistema, este método devuelve un 202 Accepted código de respuesta y un objeto passwordResetResponse en el cuerpo de la respuesta que contiene una contraseña generada por Microsoft. La respuesta también puede incluir un encabezado Location con una dirección URL para comprobar el estado de la operación de restablecimiento.
Encabezados de respuesta
Nombre
Descripción
Ubicación
Dirección URL a la que llamar para comprobar el estado de la operación. Obligatorio.
Reintentar después
Duración en segundos. Opcional.
Ejemplos
Ejemplo 1: Contraseña enviada por el usuario
En el ejemplo siguiente se muestra cómo llamar a esta API cuando el autor de la llamada envía una contraseña.
POST https://graph.microsoft.com/v1.0/users/6ea91a8d-e32e-41a1-b7bd-d2d185eed0e0/authentication/methods/28c10230-6103-485e-b985-444c60001490/resetPassword
Content-type: application/json
{
"newPassword": "Cuyo5459"
}
// Code snippets are only available for the latest version. Current version is 5.x
// Dependencies
using Microsoft.Graph.Users.Item.Authentication.Methods.Item.ResetPassword;
var requestBody = new ResetPasswordPostRequestBody
{
NewPassword = "Cuyo5459",
};
// To initialize your graphClient, see https://learn.microsoft.com/en-us/graph/sdks/create-client?from=snippets&tabs=csharp
var result = await graphClient.Users["{user-id}"].Authentication.Methods["{authenticationMethod-id}"].ResetPassword.PostAsync(requestBody);
// Code snippets are only available for the latest major version. Current major version is $v1.*
// Dependencies
import (
"context"
msgraphsdk "github.com/microsoftgraph/msgraph-sdk-go"
graphusers "github.com/microsoftgraph/msgraph-sdk-go/users"
//other-imports
)
requestBody := graphusers.NewResetPasswordPostRequestBody()
newPassword := "Cuyo5459"
requestBody.SetNewPassword(&newPassword)
// To initialize your graphClient, see https://learn.microsoft.com/en-us/graph/sdks/create-client?from=snippets&tabs=go
resetPassword, err := graphClient.Users().ByUserId("user-id").Authentication().Methods().ByAuthenticationMethodId("authenticationMethod-id").ResetPassword().Post(context.Background(), requestBody, nil)
// Code snippets are only available for the latest version. Current version is 6.x
GraphServiceClient graphClient = new GraphServiceClient(requestAdapter);
com.microsoft.graph.users.item.authentication.methods.item.resetpassword.ResetPasswordPostRequestBody resetPasswordPostRequestBody = new com.microsoft.graph.users.item.authentication.methods.item.resetpassword.ResetPasswordPostRequestBody();
resetPasswordPostRequestBody.setNewPassword("Cuyo5459");
var result = graphClient.users().byUserId("{user-id}").authentication().methods().byAuthenticationMethodId("{authenticationMethod-id}").resetPassword().post(resetPasswordPostRequestBody);
<?php
use Microsoft\Graph\GraphServiceClient;
use Microsoft\Graph\Generated\Users\Item\Authentication\Methods\Item\ResetPassword\ResetPasswordPostRequestBody;
$graphServiceClient = new GraphServiceClient($tokenRequestContext, $scopes);
$requestBody = new ResetPasswordPostRequestBody();
$requestBody->setNewPassword('Cuyo5459');
$result = $graphServiceClient->users()->byUserId('user-id')->authentication()->methods()->byAuthenticationMethodId('authenticationMethod-id')->resetPassword()->post($requestBody)->wait();
# Code snippets are only available for the latest version. Current version is 1.x
from msgraph import GraphServiceClient
from msgraph.generated.users.item.authentication.methods.item.reset_password.reset_password_post_request_body import ResetPasswordPostRequestBody
# To initialize your graph_client, see https://learn.microsoft.com/en-us/graph/sdks/create-client?from=snippets&tabs=python
request_body = ResetPasswordPostRequestBody(
new_password = "Cuyo5459",
)
result = await graph_client.users.by_user_id('user-id').authentication.methods.by_authentication_method_id('authenticationMethod-id').reset_password.post(request_body)
POST https://graph.microsoft.com/v1.0/users/6ea91a8d-e32e-41a1-b7bd-d2d185eed0e0/authentication/methods/28c10230-6103-485e-b985-444c60001490/resetPassword
{
}
// Code snippets are only available for the latest version. Current version is 5.x
// Dependencies
using Microsoft.Graph.Users.Item.Authentication.Methods.Item.ResetPassword;
var requestBody = new ResetPasswordPostRequestBody
{
};
// To initialize your graphClient, see https://learn.microsoft.com/en-us/graph/sdks/create-client?from=snippets&tabs=csharp
var result = await graphClient.Users["{user-id}"].Authentication.Methods["{authenticationMethod-id}"].ResetPassword.PostAsync(requestBody);
// Code snippets are only available for the latest major version. Current major version is $v1.*
// Dependencies
import (
"context"
msgraphsdk "github.com/microsoftgraph/msgraph-sdk-go"
graphusers "github.com/microsoftgraph/msgraph-sdk-go/users"
//other-imports
)
requestBody := graphusers.NewResetPasswordPostRequestBody()
// To initialize your graphClient, see https://learn.microsoft.com/en-us/graph/sdks/create-client?from=snippets&tabs=go
resetPassword, err := graphClient.Users().ByUserId("user-id").Authentication().Methods().ByAuthenticationMethodId("authenticationMethod-id").ResetPassword().Post(context.Background(), requestBody, nil)
// Code snippets are only available for the latest version. Current version is 6.x
GraphServiceClient graphClient = new GraphServiceClient(requestAdapter);
com.microsoft.graph.users.item.authentication.methods.item.resetpassword.ResetPasswordPostRequestBody resetPasswordPostRequestBody = new com.microsoft.graph.users.item.authentication.methods.item.resetpassword.ResetPasswordPostRequestBody();
var result = graphClient.users().byUserId("{user-id}").authentication().methods().byAuthenticationMethodId("{authenticationMethod-id}").resetPassword().post(resetPasswordPostRequestBody);
<?php
use Microsoft\Graph\GraphServiceClient;
use Microsoft\Graph\Generated\Users\Item\Authentication\Methods\Item\ResetPassword\ResetPasswordPostRequestBody;
$graphServiceClient = new GraphServiceClient($tokenRequestContext, $scopes);
$requestBody = new ResetPasswordPostRequestBody();
$result = $graphServiceClient->users()->byUserId('user-id')->authentication()->methods()->byAuthenticationMethodId('authenticationMethod-id')->resetPassword()->post($requestBody)->wait();
# Code snippets are only available for the latest version. Current version is 1.x
from msgraph import GraphServiceClient
from msgraph.generated.users.item.authentication.methods.item.reset_password.reset_password_post_request_body import ResetPasswordPostRequestBody
# To initialize your graph_client, see https://learn.microsoft.com/en-us/graph/sdks/create-client?from=snippets&tabs=python
request_body = ResetPasswordPostRequestBody(
)
result = await graph_client.users.by_user_id('user-id').authentication.methods.by_authentication_method_id('authenticationMethod-id').reset_password.post(request_body)
En el ejemplo siguiente se muestra la respuesta. Puede usar el identificador en el encabezado Ubicación para comprobar el estado de la operación a través de la API de operación de ejecución prolongada.
Nota: Se puede acortar el objeto de respuesta que se muestra aquí para mejorar la legibilidad.