> ## Documentation Index
> Fetch the complete documentation index at: https://docs-dev-docs-event-stream-action-templates.mintlify.site/llms.txt
> Use this file to discover all available pages before exploring further.

# Modifier les mots de passe utilisateur

> Décrit les différentes manières de réinitialiser les mots de passe des utilisateurs pour vos applications Auth0.

export const AuthCodeGroup = ({children, dropdown}) => {
  const [processedChildren, setProcessedChildren] = useState(children);
  useEffect(() => {
    let unsubscribe = null;
    function init() {
      unsubscribe = window.autorun(() => {
        const processChildren = node => {
          if (typeof node === "string") {
            let processedNode = node;
            for (const [key, value] of window.rootStore.variableStore.values.entries()) {
              const escapedKey = key.replaceAll(/[.*+?^${}()|[\]\\]/g, (String.raw)`\$&`);
              processedNode = processedNode.replaceAll(new RegExp(escapedKey, "g"), value);
            }
            return processedNode;
          } else if (Array.isArray(node)) {
            return node.map(processChildren);
          } else if (node && node.props && node.props.children) {
            return {
              ...node,
              props: {
                ...node.props,
                children: processChildren(node.props.children)
              }
            };
          }
          return node;
        };
        setProcessedChildren(processChildren(children));
      });
    }
    if (window.rootStore) {
      init();
    } else {
      window.addEventListener("adu:storeReady", init);
    }
    return () => {
      window.removeEventListener("adu:storeReady", init);
      unsubscribe?.();
    };
  }, [children]);
  return <CodeGroup dropdown={dropdown}>{processedChildren}</CodeGroup>;
};

export const AuthCodeBlock = ({filename, icon, language, highlight, children}) => {
  const [displayText, setDisplayText] = useState(children);
  const [copyText, setCopyText] = useState(children);
  const wrapperRef = React.useRef(null);
  useEffect(() => {
    let unsubscribe = null;
    function init() {
      if (!window.autorun || !window.rootStore) {
        return;
      }
      unsubscribe = window.autorun(() => {
        let processedChildrenForDisplay = children;
        let processedChildrenForCopy = children;
        for (const [key, value] of window.rootStore.variableStore.values.entries()) {
          const escapedKey = key.replaceAll(/[.*+?^${}()|[\]\\]/g, (String.raw)`\$&`);
          let displayValue = value;
          if (key === "{yourClientSecret}" && value !== "{yourClientSecret}") {
            displayValue = value.substring(0, 3) + "*****MASKED*****";
          }
          processedChildrenForDisplay = processedChildrenForDisplay.replaceAll(new RegExp(escapedKey, "g"), displayValue);
          processedChildrenForCopy = processedChildrenForCopy.replaceAll(new RegExp(escapedKey, "g"), value);
        }
        setDisplayText(processedChildrenForDisplay);
        setCopyText(processedChildrenForCopy);
      });
    }
    if (window.rootStore) {
      init();
    } else {
      window.addEventListener("adu:storeReady", init);
    }
    return () => {
      window.removeEventListener("adu:storeReady", init);
      unsubscribe?.();
    };
  }, [children]);
  useEffect(() => {
    if (!wrapperRef.current) return;
    const originalWriteText = navigator.clipboard.writeText.bind(navigator.clipboard);
    let isOverriding = false;
    const handleClick = e => {
      const button = e.target.closest('[data-testid="copy-code-button"]');
      if (!button || !wrapperRef.current.contains(button)) return;
      isOverriding = true;
      navigator.clipboard.writeText = text => {
        if (isOverriding) {
          isOverriding = false;
          navigator.clipboard.writeText = originalWriteText;
          return originalWriteText(copyText);
        }
        return originalWriteText(text);
      };
      setTimeout(() => {
        if (isOverriding) {
          isOverriding = false;
          navigator.clipboard.writeText = originalWriteText;
        }
      }, 100);
    };
    const wrapper = wrapperRef.current;
    wrapper.addEventListener('click', handleClick, true);
    return () => {
      wrapper.removeEventListener('click', handleClick, true);
      if (navigator.clipboard.writeText !== originalWriteText) {
        navigator.clipboard.writeText = originalWriteText;
      }
    };
  }, [copyText]);
  return <div ref={wrapperRef}>
      <CodeBlock filename={filename} icon={icon} language={language} lines highlight={highlight}>
        {displayText}
      </CodeBlock>
    </div>;
};

<Card title="Overview">
  Principaux concepts

  * Déclenchez la réinitialisation des mots de passe à l’aide du Auth0 Dashboard ou de Management API.
</Card>

Cette rubrique décrit les différentes manières de réinitialiser le mot de passe d’un utilisateur dans votre base de données. Vous pouvez modifier les mots de passe des utilisateurs de vos [connexions aux bases de données](/docs/fr-ca/authenticate/database-connections) uniquement. Les utilisateurs qui se connectent avec des connexions via [réseau social](/docs/fr-ca/authenticate/identity-providers/social-identity-providers) ou d’[entreprise](/docs/fr-ca/authenticate/identity-providers/enterprise-identity-providers) doivent réinitialiser leurs mots de passe auprès du fournisseur d’identité (p. ex., Google ou Facebook), et les instructions suivantes ne fonctionnent que si l’adresse courriel de l’utilisateur est connue.

Il existe deux méthodes de base pour modifier le mot de passe d’un utilisateur :

* [Déclencher un flux interactif de réactivation de mot de passe](#trigger-an-interactive-password-reset-flow) qui envoie à l’utilisateur un lien par courriel. Le lien ouvre la page de réinitialisation du mot de passe Auth0 où l’utilisateur peut saisir un nouveau mot de passe.
* [Changer le mot de passe directement](#directly-set-the-new-password) à l’aide de Auth0 <Tooltip href="/docs/fr-ca/glossary?term=management-api" tip="Management API
  Un produit permettant aux clients d’effectuer des tâches administratives." cta="Voir le glossaire">Management API</Tooltip> ou du <Tooltip href="/docs/fr-ca/glossary?term=auth0-dashboard" tip="Auth0 Dashboard
  Principal produit d’Auth0 pour configurer vos services." cta="Voir le glossaire">Auth0 Dashboard</Tooltip>.

<Callout icon="file-lines" color="#0EA5E9" iconType="regular">
  La réinitialisation du mot de passe d’un utilisateur entraîne l’expiration de sa session.
</Callout>

<Card title="Vous ne trouvez pas ce que vous cherchez?">
  * Pour configurer le mot de passe personnalisé, lisez [Personnaliser la page de réinitialisation du mot de passe](/docs/fr-ca/customize/login-pages/classic-login/customize-password-reset-page).
  * Pour implémenter une action personnalisée après une modification réussie du mot de passe, lisez [Déclencheurs d’actions : après la réinitialisation du mot de passe](/docs/fr-ca/customize/actions/explore-triggers/password-reset-triggers/post-change-password-trigger).
  * Pour réinitialiser le mot de passe de votre compte utilisateur personnel Auth0, lisez [Réinitialiser les mots de passe du compte](/docs/fr-ca/troubleshoot/customer-support/reset-account-passwords).
</Card>

## Déclencher un flux interactif de réinitialisation du mot de passe

Il existe deux façons de déclencher un flux de réinitialisation de mot de passe interactif, en fonction de votre cas d’utilisation : par l’intermédiaire de la page de connexion universelle ou de l’Authentication API.

### Page de Universal Login (Connexion universelle)

Si votre application utilise la connexion universelle, l’utilisateur peut utiliser le gadget logiciel Lock sur l’écran de Connexion pour déclencher un courriel de réinitialisation du mot de passe. Avec la connexion universelle, l’utilisateur peut cliquer sur le lien **Don’t remember your password? (Vous avez oublié votre mot de passe?)** et saisir son adresse courriel. Cette opération déclenche une requête POST vers Auth0 qui déclenche le processus de réinitialisation du mot de passe. L’utilisateur [reçoit un courriel de réinitialisation du mot de passe](#password-reset-email).

### Authentication API

Si votre application utilise un flux de réinitialisation de mot de passe interactif via Authentication API, effectuez un appel `POST`. Dans le champ `email`, indiquez l’adresse courriel de l’utilisateur qui doit modifier son mot de passe. Si l’appel aboutit, l’utilisateur [reçoit un courriel de réinitialisation du mot de passe](#password-reset-email).

Si vous faites une requête à l’API à partir du navigateur, assurez-vous que l’URL d’origine est autorisée :

Allez dans [Auth0 Dashboard > Applications > Applications](https://manage.auth0.com/#/applications/\{yourClientId}/settings), et ajoutez l’URL à la liste **Allowed Origins (Origines autorisées)**.

Si votre connexion est une base de données personnalisée, vérifiez que l’utilisateur existe dans la base de données avant d’invoquer Authentication API pour `changePassword`.

<AuthCodeGroup>
  ```bash cURL theme={null}
  curl --request POST \
    --url 'https://{yourDomain}/dbconnections/change_password' \
    --header 'content-type: application/json' \
    --data '{"client_id": "{yourClientId}","email": "","connection": "Username-Password-Authentication"}'
  ```

  ```csharp C# theme={null}
  var client = new RestClient("https://{yourDomain}/dbconnections/change_password");
  var request = new RestRequest(Method.POST);
  request.AddHeader("content-type", "application/json");
  request.AddParameter("application/json", "{"client_id": "{yourClientId}","email": "","connection": "Username-Password-Authentication"}", ParameterType.RequestBody);
  IRestResponse response = client.Execute(request);
  ```

  ```go Go theme={null}
  package main

  import (
  	"fmt"
  	"strings"
  	"net/http"
  	"io/ioutil"
  )

  func main() {

  	url := "https://{yourDomain}/dbconnections/change_password"

  	payload := strings.NewReader("{"client_id": "{yourClientId}","email": "","connection": "Username-Password-Authentication"}")

  	req, _ := http.NewRequest("POST", url, payload)

  	req.Header.Add("content-type", "application/json")

  	res, _ := http.DefaultClient.Do(req)

  	defer res.Body.Close()
  	body, _ := ioutil.ReadAll(res.Body)

  	fmt.Println(res)
  	fmt.Println(string(body))

  }
  ```

  ```java Java theme={null}
  HttpResponse<String> response = Unirest.post("https://{yourDomain}/dbconnections/change_password")
    .header("content-type", "application/json")
    .body("{"client_id": "{yourClientId}","email": "","connection": "Username-Password-Authentication"}")
    .asString();
  ```

  ```javascript Node.JS theme={null}
  var axios = require("axios").default;

  var options = {
    method: 'POST',
    url: 'https://{yourDomain}/dbconnections/change_password',
    headers: {'content-type': 'application/json'},
    data: {
      client_id: '{yourClientId}',
      email: '',
      connection: 'Username-Password-Authentication'
    }
  };

  axios.request(options).then(function (response) {
    console.log(response.data);
  }).catch(function (error) {
    console.error(error);
  });
  ```

  ```objc Obj-C theme={null}
  #import <Foundation/Foundation.h>

  NSDictionary *headers = @{ @"content-type": @"application/json" };
  NSDictionary *parameters = @{ @"client_id": @"{yourClientId}",
                                @"email": @"",
                                @"connection": @"Username-Password-Authentication" };

  NSData *postData = [NSJSONSerialization dataWithJSONObject:parameters options:0 error:nil];

  NSMutableURLRequest *request = [NSMutableURLRequest requestWithURL:[NSURL URLWithString:@"https://{yourDomain}/dbconnections/change_password"]
                                                         cachePolicy:NSURLRequestUseProtocolCachePolicy
                                                     timeoutInterval:10.0];
  [request setHTTPMethod:@"POST"];
  [request setAllHTTPHeaderFields:headers];
  [request setHTTPBody:postData];

  NSURLSession *session = [NSURLSession sharedSession];
  NSURLSessionDataTask *dataTask = [session dataTaskWithRequest:request
                                              completionHandler:^(NSData *data, NSURLResponse *response, NSError *error) {
                                                  if (error) {
                                                      NSLog(@"%@", error);
                                                  } else {
                                                      NSHTTPURLResponse *httpResponse = (NSHTTPURLResponse *) response;
                                                      NSLog(@"%@", httpResponse);
                                                  }
                                              }];
  [dataTask resume];
  ```

  ```php PHP theme={null}
  $curl = curl_init();

  curl_setopt_array($curl, [
    CURLOPT_URL => "https://{yourDomain}/dbconnections/change_password",
    CURLOPT_RETURNTRANSFER => true,
    CURLOPT_ENCODING => "",
    CURLOPT_MAXREDIRS => 10,
    CURLOPT_TIMEOUT => 30,
    CURLOPT_HTTP_VERSION => CURL_HTTP_VERSION_1_1,
    CURLOPT_CUSTOMREQUEST => "POST",
    CURLOPT_POSTFIELDS => "{"client_id": "{yourClientId}","email": "","connection": "Username-Password-Authentication"}",
    CURLOPT_HTTPHEADER => [
      "content-type: application/json"
    ],
  ]);

  $response = curl_exec($curl);
  $err = curl_error($curl);

  curl_close($curl);

  if ($err) {
    echo "cURL Error #:" . $err;
  } else {
    echo $response;
  }
  ```

  ```python Python theme={null}
  import http.client

  conn = http.client.HTTPSConnection("")

  payload = "{"client_id": "{yourClientId}","email": "","connection": "Username-Password-Authentication"}"

  headers = { 'content-type': "application/json" }

  conn.request("POST", "/{yourDomain}/dbconnections/change_password", payload, headers)

  res = conn.getresponse()
  data = res.read()

  print(data.decode("utf-8"))
  ```

  ```ruby Ruby theme={null}
  require 'uri'
  require 'net/http'
  require 'openssl'

  url = URI("https://{yourDomain}/dbconnections/change_password")

  http = Net::HTTP.new(url.host, url.port)
  http.use_ssl = true
  http.verify_mode = OpenSSL::SSL::VERIFY_NONE

  request = Net::HTTP::Post.new(url)
  request["content-type"] = 'application/json'
  request.body = "{"client_id": "{yourClientId}","email": "","connection": "Username-Password-Authentication"}"

  response = http.request(request)
  puts response.read_body
  ```

  ```swift Swift theme={null}
  import Foundation

  let headers = ["content-type": "application/json"]
  let parameters = [
    "client_id": "{yourClientId}",
    "email": "",
    "connection": "Username-Password-Authentication"
  ] as [String : Any]

  let postData = JSONSerialization.data(withJSONObject: parameters, options: [])

  let request = NSMutableURLRequest(url: NSURL(string: "https://{yourDomain}/dbconnections/change_password")! as URL,
                                          cachePolicy: .useProtocolCachePolicy,
                                      timeoutInterval: 10.0)
  request.httpMethod = "POST"
  request.allHTTPHeaderFields = headers
  request.httpBody = postData as Data

  let session = URLSession.shared
  let dataTask = session.dataTask(with: request as URLRequest, completionHandler: { (data, response, error) -> Void in
    if (error != nil) {
      print(error)
    } else {
      let httpResponse = response as? HTTPURLResponse
      print(httpResponse)
    }
  })

  dataTask.resume()
  ```
</AuthCodeGroup>

### Courriel de réinitialisation du mot de passe

Quelle que soit la manière par laquelle le processus de réinitialisation du mot de passe a été déclenché, l’utilisateur reçoit un courriel contenant un lien pour réinitialiser son mot de passe.

<Frame>
  <img src="https://mintcdn.com/docs-dev-docs-event-stream-action-templates/XIL2NucFdH91gJS_/docs/images/fr-ca/cdy7uua7fh8z/5IBhcrCJ7XXI6OgQOnHMJa/33cdafbfe7a63a48cfaa2e58a12a2494/password-reset-email.png?fit=max&auto=format&n=XIL2NucFdH91gJS_&q=85&s=d60045a27b92f7c06aaeb3b7f4c78d49" alt="Password Reset Email" width="596" height="748" data-path="docs/images/fr-ca/cdy7uua7fh8z/5IBhcrCJ7XXI6OgQOnHMJa/33cdafbfe7a63a48cfaa2e58a12a2494/password-reset-email.png" />
</Frame>

En cliquant sur le lien, l’utilisateur est redirigé vers la [password reset page (page de réinitialisation de mot de passe)](/docs/fr-ca/customize/login-pages/classic-login/customize-password-reset-page).

Après avoir soumis le nouveau mot de passe, l’utilisateur reçoit la confirmation qu’il peut désormais se connecter avec ses nouveaux identifiantsé

Notes sur la réinitialisation des mots de passe :

* Le lien de réinitialisation du mot de passe contenu dans le courriel est valable pour une seule utilisation.
* Si l’utilisateur reçoit plusieurs courriels de réinitialisation du mot de passe, seul le lien vers le mot de passe figurant dans le courriel le plus récent est valide.
* Le champ **Durée de vie de l’URL** détermine la durée de validité du lien. Depuis Auth0 Dashboard, vous pouvez [customize the Change Password email (personnaliser le courriel de modification du mot de passe)](/docs/fr-ca/customize/email/email-templates) et [modify the link’s lifetime (modifier la durée de vie du lien)](/docs/fr-ca/api/authentication/reference#change-password).
* Vous pouvez étendre le flux de réinitialisation du mot de passe pour inclure un autre facteur avec Auth0 Actions. Pour en savoir plus, lisez [Flux de réinitialisation du mot de passe](/docs/fr-ca/customize/actions/explore-triggers/password-reset-triggers).

Avec l’expérience [Classic Login (Connexion classique)](/docs/fr-ca/authenticate/login/auth0-universal-login/universal-login-vs-classic-login/classic-experience), vous pouvez configurer une URL pour rediriger les utilisateurs après la réinitialisation du mot de passe. L’URL reçoit un indicateur de réussite et un message. Pour en savoir plus, consultez « Configuring the Redirect-To URL (Configuration de la redirection vers une URL) » dans [Customize Email Templates (Personnaliser les modèles de courriel)](/docs/fr-ca/customize/email/email-templates).

La page [Universal Login (Connexion universelle)](/docs/fr-ca/authenticate/login/auth0-universal-login/universal-login-vs-classic-login/universal-experience) redirige l’utilisateur vers le [default login route (chemin de connexion par défaut)](/docs/fr-ca/authenticate/login/auth0-universal-login/configure-default-login-routes) en cas de succès et traite les cas d’erreur dans le cadre du flux de connexion universelle. Cette expérience ignore la Redirect URL (URL de redirection) dans le modèle de courriel.

<Card title="Générer des tickets de réinitialisation de mots de passe">
  Management API fournit le point de terminaison [Créer un ticket de modification de mot de passe](/docs/fr-ca/api/management/v2#!/Tickets/post_password_change), ce qui génère une URL comme celle dans le courriel de réinitialisation de mot de passe. Vous pouvez utiliser l’URL générée lorsque la méthode de livraison par courriel n’est pas appropriée. Gardez en tête que dans le flux par défaut, la livraison par courriel vérifie l’identité de l’utilisateur. (Un imposteur n’aurait pas accès à la boîte courriel.) Si vous utilisez l’URL de ticket, votre application doit vérifier l’identité de l’utilisateur d’une autre manière.
</Card>

## Définir directement le nouveau mot de passe

Pour définir directement un nouveau mot de passe pour l’utilisateur sans envoyer de courriel de réinitialisation de mot de passe, utilisez [Management API](#use-the-management-api) ou [Auth0 Dashboard](#manually-set-users-passwords-using-the-auth0-dashboard).

<Callout icon="file-lines" color="#0EA5E9" iconType="regular">
  Les utilisateurs ne reçoivent pas de notification lorsque vous modifiez leur mot de passe.
</Callout>

### Utiliser Management API (API gestion)

Si vous souhaitez mettre en œuvre votre propre flux de réinitialisation de mot de passe, vous pouvez modifier directement le mot de passe d’un utilisateur à partir d’une requête de serveur vers Management API : effectuez un appel `PATCH` vers le point de terminaison [Update a User (Mettre à jour un utilisateur)](/docs/fr-ca/api/management/v2#!/Users/patch_users_by_id).

<AuthCodeGroup>
  ```bash cURL theme={null}
  curl --request PATCH \
    --url 'https://{yourDomain}/api/v2/users/%7BuserId%7D' \
    --header 'authorization: Bearer {yourMgmtApiAccessToken}' \
    --header 'content-type: application/json' \
    --data '{"password": "newPassword","connection": "connectionName"}'
  ```

  ```csharp C# theme={null}
  var client = new RestClient("https://{yourDomain}/api/v2/users/%7BuserId%7D");
  var request = new RestRequest(Method.PATCH);
  request.AddHeader("content-type", "application/json");
  request.AddHeader("authorization", "Bearer {yourMgmtApiAccessToken}");
  request.AddParameter("application/json", "{"password": "newPassword","connection": "connectionName"}", ParameterType.RequestBody);
  IRestResponse response = client.Execute(request);
  ```

  ```go Go theme={null}
  package main

  import (
  	"fmt"
  	"strings"
  	"net/http"
  	"io/ioutil"
  )

  func main() {

  	url := "https://{yourDomain}/api/v2/users/%7BuserId%7D"

  	payload := strings.NewReader("{"password": "newPassword","connection": "connectionName"}")

  	req, _ := http.NewRequest("PATCH", url, payload)

  	req.Header.Add("content-type", "application/json")
  	req.Header.Add("authorization", "Bearer {yourMgmtApiAccessToken}")

  	res, _ := http.DefaultClient.Do(req)

  	defer res.Body.Close()
  	body, _ := ioutil.ReadAll(res.Body)

  	fmt.Println(res)
  	fmt.Println(string(body))

  }
  ```

  ```java Java theme={null}
  HttpResponse<String> response = Unirest.patch("https://{yourDomain}/api/v2/users/%7BuserId%7D")
    .header("content-type", "application/json")
    .header("authorization", "Bearer {yourMgmtApiAccessToken}")
    .body("{"password": "newPassword","connection": "connectionName"}")
    .asString();
  ```

  ```javascript Node.JS theme={null}
  var axios = require("axios").default;

  var options = {
    method: 'PATCH',
    url: 'https://{yourDomain}/api/v2/users/%7BuserId%7D',
    headers: {
      'content-type': 'application/json',
      authorization: 'Bearer {yourMgmtApiAccessToken}'
    },
    data: {password: 'newPassword', connection: 'connectionName'}
  };

  axios.request(options).then(function (response) {
    console.log(response.data);
  }).catch(function (error) {
    console.error(error);
  });
  ```

  ```objc Obj-C theme={null}
  #import <Foundation/Foundation.h>

  NSDictionary *headers = @{ @"content-type": @"application/json",
                             @"authorization": @"Bearer {yourMgmtApiAccessToken}" };
  NSDictionary *parameters = @{ @"password": @"newPassword",
                                @"connection": @"connectionName" };

  NSData *postData = [NSJSONSerialization dataWithJSONObject:parameters options:0 error:nil];

  NSMutableURLRequest *request = [NSMutableURLRequest requestWithURL:[NSURL URLWithString:@"https://{yourDomain}/api/v2/users/%7BuserId%7D"]
                                                         cachePolicy:NSURLRequestUseProtocolCachePolicy
                                                     timeoutInterval:10.0];
  [request setHTTPMethod:@"PATCH"];
  [request setAllHTTPHeaderFields:headers];
  [request setHTTPBody:postData];

  NSURLSession *session = [NSURLSession sharedSession];
  NSURLSessionDataTask *dataTask = [session dataTaskWithRequest:request
                                              completionHandler:^(NSData *data, NSURLResponse *response, NSError *error) {
                                                  if (error) {
                                                      NSLog(@"%@", error);
                                                  } else {
                                                      NSHTTPURLResponse *httpResponse = (NSHTTPURLResponse *) response;
                                                      NSLog(@"%@", httpResponse);
                                                  }
                                              }];
  [dataTask resume];
  ```

  ```php PHP theme={null}
  $curl = curl_init();

  curl_setopt_array($curl, [
    CURLOPT_URL => "https://{yourDomain}/api/v2/users/%7BuserId%7D",
    CURLOPT_RETURNTRANSFER => true,
    CURLOPT_ENCODING => "",
    CURLOPT_MAXREDIRS => 10,
    CURLOPT_TIMEOUT => 30,
    CURLOPT_HTTP_VERSION => CURL_HTTP_VERSION_1_1,
    CURLOPT_CUSTOMREQUEST => "PATCH",
    CURLOPT_POSTFIELDS => "{"password": "newPassword","connection": "connectionName"}",
    CURLOPT_HTTPHEADER => [
      "authorization: Bearer {yourMgmtApiAccessToken}",
      "content-type: application/json"
    ],
  ]);

  $response = curl_exec($curl);
  $err = curl_error($curl);

  curl_close($curl);

  if ($err) {
    echo "cURL Error #:" . $err;
  } else {
    echo $response;
  }
  ```

  ```python Python theme={null}
  import http.client

  conn = http.client.HTTPSConnection("")

  payload = "{"password": "newPassword","connection": "connectionName"}"

  headers = {
      'content-type': "application/json",
      'authorization': "Bearer {yourMgmtApiAccessToken}"
      }

  conn.request("PATCH", "/{yourDomain}/api/v2/users/%7BuserId%7D", payload, headers)

  res = conn.getresponse()
  data = res.read()

  print(data.decode("utf-8"))
  ```

  ```ruby Ruby theme={null}
  require 'uri'
  require 'net/http'
  require 'openssl'

  url = URI("https://{yourDomain}/api/v2/users/%7BuserId%7D")

  http = Net::HTTP.new(url.host, url.port)
  http.use_ssl = true
  http.verify_mode = OpenSSL::SSL::VERIFY_NONE

  request = Net::HTTP::Patch.new(url)
  request["content-type"] = 'application/json'
  request["authorization"] = 'Bearer {yourMgmtApiAccessToken}'
  request.body = "{"password": "newPassword","connection": "connectionName"}"

  response = http.request(request)
  puts response.read_body
  ```

  ```swift Swift theme={null}
  import Foundation

  let headers = [
    "content-type": "application/json",
    "authorization": "Bearer {yourMgmtApiAccessToken}"
  ]
  let parameters = [
    "password": "newPassword",
    "connection": "connectionName"
  ] as [String : Any]

  let postData = JSONSerialization.data(withJSONObject: parameters, options: [])

  let request = NSMutableURLRequest(url: NSURL(string: "https://{yourDomain}/api/v2/users/%7BuserId%7D")! as URL,
                                          cachePolicy: .useProtocolCachePolicy,
                                      timeoutInterval: 10.0)
  request.httpMethod = "PATCH"
  request.allHTTPHeaderFields = headers
  request.httpBody = postData as Data

  let session = URLSession.shared
  let dataTask = session.dataTask(with: request as URLRequest, completionHandler: { (data, response, error) -> Void in
    if (error != nil) {
      print(error)
    } else {
      let httpResponse = response as? HTTPURLResponse
      print(httpResponse)
    }
  })

  dataTask.resume()
  ```
</AuthCodeGroup>

### Définir manuellement les mots de passe des utilisateurs à l’aide d’Auth0 Dashboard

Toute personne disposant de privilèges administratifs sur votre locataire Auth0 peut modifier manuellement le mot de passe d’un utilisateur en utilisant [Auth0 Dashboard > User Management (Gestion des utilisateurs) > Users (Utilisateurs)](https://manage.auth0.com/#/users).

1. Sélectionnez le nom de l’utilisateur dont vous souhaitez modifier le mot de passe.

2. Localisez la **Danger Zone (Zone de danger)** au bas de la page.

3. Dans la zone rouge **Change Password (Modifier le mot de passe)**, sélectionnez **Change (Modifier)**.

   <Frame>
     <img src="https://mintcdn.com/docs-dev-docs-event-stream-action-templates/LQcZeclMuPp8PthF/docs/images/fr-ca/cdy7uua7fh8z/5mrEG3UtlZW47AnTikwIGv/ebd5f8d0ef081be6b54d519870fbf391/2025-02-25_11-06-36.png?fit=max&auto=format&n=LQcZeclMuPp8PthF&q=85&s=a75355bef774b6cc8da83313558ab302" alt="Dashboard > User Management > Users." data-og-width="898" width="898" data-og-height="349" height="349" data-path="docs/images/fr-ca/cdy7uua7fh8z/5mrEG3UtlZW47AnTikwIGv/ebd5f8d0ef081be6b54d519870fbf391/2025-02-25_11-06-36.png" data-optimize="true" data-opv="3" srcset="https://mintcdn.com/docs-dev-docs-event-stream-action-templates/LQcZeclMuPp8PthF/docs/images/fr-ca/cdy7uua7fh8z/5mrEG3UtlZW47AnTikwIGv/ebd5f8d0ef081be6b54d519870fbf391/2025-02-25_11-06-36.png?w=280&fit=max&auto=format&n=LQcZeclMuPp8PthF&q=85&s=9ccb0a22f402bfad8493d69a7c56d80a 280w, https://mintcdn.com/docs-dev-docs-event-stream-action-templates/LQcZeclMuPp8PthF/docs/images/fr-ca/cdy7uua7fh8z/5mrEG3UtlZW47AnTikwIGv/ebd5f8d0ef081be6b54d519870fbf391/2025-02-25_11-06-36.png?w=560&fit=max&auto=format&n=LQcZeclMuPp8PthF&q=85&s=a7e34bbba1a611027b6332cbf2b7f6c2 560w, https://mintcdn.com/docs-dev-docs-event-stream-action-templates/LQcZeclMuPp8PthF/docs/images/fr-ca/cdy7uua7fh8z/5mrEG3UtlZW47AnTikwIGv/ebd5f8d0ef081be6b54d519870fbf391/2025-02-25_11-06-36.png?w=840&fit=max&auto=format&n=LQcZeclMuPp8PthF&q=85&s=c1dd2756f3ce34c54f0f32bf8d8e0365 840w, https://mintcdn.com/docs-dev-docs-event-stream-action-templates/LQcZeclMuPp8PthF/docs/images/fr-ca/cdy7uua7fh8z/5mrEG3UtlZW47AnTikwIGv/ebd5f8d0ef081be6b54d519870fbf391/2025-02-25_11-06-36.png?w=1100&fit=max&auto=format&n=LQcZeclMuPp8PthF&q=85&s=5144e92cfc87d54ceb50ff1c4e95129b 1100w, https://mintcdn.com/docs-dev-docs-event-stream-action-templates/LQcZeclMuPp8PthF/docs/images/fr-ca/cdy7uua7fh8z/5mrEG3UtlZW47AnTikwIGv/ebd5f8d0ef081be6b54d519870fbf391/2025-02-25_11-06-36.png?w=1650&fit=max&auto=format&n=LQcZeclMuPp8PthF&q=85&s=4690fcfed28b5ecf97c6bb038b68968a 1650w, https://mintcdn.com/docs-dev-docs-event-stream-action-templates/LQcZeclMuPp8PthF/docs/images/fr-ca/cdy7uua7fh8z/5mrEG3UtlZW47AnTikwIGv/ebd5f8d0ef081be6b54d519870fbf391/2025-02-25_11-06-36.png?w=2500&fit=max&auto=format&n=LQcZeclMuPp8PthF&q=85&s=ab745d200902935160aaebd775e9c5cd 2500w" />
   </Frame>

4. Saisissez le nouveau mot de passe et sélectionnez **Save (Enregistrer)**.
