> ## Documentation Index
> Fetch the complete documentation index at: https://auth0.generaltranslation.app/llms.txt
> Use this file to discover all available pages before exploring further.

# Flux de mot de passe du propriétaire de ressource avec OIDC

> Découvrez comment le pipeline conforme à l’OIDC affecte le flux de mot de passe du propriétaire de la ressource.

export const AuthCodeBlock = ({filename, icon, language, highlight, children}) => {
  const [processedChildren, setProcessedChildren] = useState(children);
  useEffect(() => {
    let unsubscribe = null;
    function init() {
      unsubscribe = window.autorun(() => {
        let processedChildren = children;
        for (const [key, value] of window.rootStore.variableStore.values.entries()) {
          processedChildren = processedChildren.replace(new RegExp(key, "g"), value);
        }
        setProcessedChildren(processedChildren);
      });
    }
    if (window.rootStore) {
      init();
    } else {
      window.addEventListener("adu:storeReady", init);
    }
    return () => {
      window.removeEventListener("adu:storeReady", init);
      unsubscribe?.();
    };
  }, [children]);
  return <CodeBlock filename={filename} icon={icon} language={language} lines highlight={highlight}>
      {processedChildren}
    </CodeBlock>;
};

Le [Flux de mot de passe du propriétaire de ressource](/docs/fr-CA/fr-ca/get-started/authentication-and-authorization-flow/resource-owner-password-flow) (parfois appelé consentement de mot de passe du propriétaire de la ressource ou ROPG) est utilisé par des applications hautement fiables pour fournir une authentification active. Contrairement au code d’autorisation et aux consentements implicites, ce mécanisme d’authentification ne redirige pas les utilisateurs vers Auth0. Il authentifie les utilisateurs avec une seule demande, en échangeant leurs informations d’identification de mot de passe contre un jeton.

Le pipeline conforme à l’OIDC affecte le flux de mot de passe du propriétaire de ressource dans les domaines suivants :

* Demande d’authentification
* Réponse d’authentification
* Structure des jetons d’ID
* Structure des jetons d’accès

<div id="authentication-request">
  ## Demande d’authentification
</div>

<div id="legacy">
  ### Hérité
</div>

```lines theme={null}
POST /oauth/ro HTTP 1.1
Content-Type: application/json
{
  "grant_type": "password",
  "client_id": "123",
  "username": "alice",
  "password": "A3ddj3w",
  "connection": "my-database-connection",
  "scope": "openid email favorite_color offline_access",
  "device": "my-device-name"
}
```

Le paramètre `device` n’est nécessaire que si vous demandez un jeton d’actualisation en transmettant la permission `offline_access`.

<div id="oidc-conformant">
  ### Conformité OIDC
</div>

```lines theme={null}
POST /oauth/token HTTP 1.1
Content-Type: application/x-www-form-urlencoded
grant_type=http%3A%2F%2Fauth0.com%2Foauth%2Fgrant-type%2Fpassword-realm&client_id=123&username=alice&password=A3ddj3w&realm=my-database-connection&scope=openid+email+offline_access&audience=https%3A%2F%2Fapi.example.com
```

* Le point de terminaison pour exécuter les échanges d’informations d’identification est `/oauth/token`.
* Le type de consentement propre à Auth0 est utilisé pour authentifier les utilisateurs à partir d’une connexion spécifique (`realm`). Le consentement de mot de passe OIDC standard est également pris en charge, mais il n’accepte pas les paramètres spécifiques à Auth0 tels que `realm`.
* `favorite_color` n’est plus une permission valide.
* Le paramètre `device` est retiré.
* Le paramètre `audience` est facultatif.

<div id="authentication-response">
  ## Réponse d’authentification
</div>

<div id="legacy">
  ### Hérité
</div>

```lines theme={null}
HTTP/1.1 200 OK
Content-Type: application/json
Cache-Control: no-store
Pragma: no-cache
{
    "access_token": "SlAV32hkKG",
    "token_type": "Bearer",
    "refresh_token": "8xLOxBtZp8",
    "expires_in": 3600,
    "id_token": "eyJ..."
}
```

* Le jeton d’accès renvoyé n’est valide que pour appeler le point de terminaison [`/userinfo`](/docs/fr-CA/fr-ca/api/authentication#get-user-info).
* Un jeton d’actualisation sera renvoyé uniquement si un paramètre `device` a été transmis et que la permission `offline_access` a été demandée.

<div id="oidc-conformant">
  ### Conformité OIDC
</div>

```lines theme={null}
HTTP/1.1 200 OK
Content-Type: application/json
Cache-Control: no-store
Pragma: no-cache
{
    "access_token": "eyJ...",
    "token_type": "Bearer",
    "refresh_token": "8xLOxBtZp8",
    "expires_in": 3600,
    "id_token": "eyJ..."
}
```

* Le jeton d’accès renvoyé est valide pour appeler le point de terminaison `/userinfo` (à condition que l’API spécifiée par le paramètre `audience` utilise `RS256` en tant qu’[algorithme de signature](/docs/fr-CA/fr-ca/get-started/applications/signing-algorithms)) et éventuellement le serveur de ressources spécifié par le paramètre `audience`.
* Le jeton d’ID sera signé de force à l’aide de `RS256` si une application publique le demande. Pour en savoir plus, lisez [Applications confidentielles et publiques](/docs/fr-CA/fr-ca/get-started/applications/confidential-and-public-applications).
* Un jeton d’actualisation sera renvoyé uniquement si la permission `offline_access` a été accordée.

<div id="id-token-structure">
  ## Structure de jeton d’ID
</div>

<div id="legacy">
  ### Hérité
</div>

export const codeExample1 = `{
    "sub": "auth0|alice",
    "iss": "https://{yourDomain}/",
    "aud": "123",
    "exp": 1482809609,
    "iat": 1482773609,
    "email": "alice@example.com",
    "email_verified": true,
    "favorite_color": "blue"
}`;

<AuthCodeBlock children={codeExample1} language="json" />

<div id="oidc-conformant">
  ### Conformité OIDC
</div>

export const codeExample2 = `{
    "sub": "auth0|alice",
    "iss": "https://{yourDomain}/",
    "aud": "123",
    "exp": 1482809609,
    "iat": 1482773609,
    "email": "alice@example.com",
    "email_verified": true,
    "https://app.example.com/favorite_color": "blue"
}`;

<AuthCodeBlock children={codeExample2} language="json" />

* Le jeton d’ID sera signé de force à l’aide de `RS256` si une application publique le demande.
* La demande `favorite_color` doit être spécifiée dans un espace de noms et ajoutée par le biais d’une règle. Pour en savoir plus, veuillez consulter [Créer des demandes personnalisées avec espace de noms](/docs/fr-CA/fr-ca/secure/tokens/json-web-tokens/create-custom-claims).

<div id="access-token-structure-optional">
  ## Structure des jetons d’accès (facultatif)
</div>

<div id="legacy">
  ### Hérité
</div>

```json lines theme={null}
SlAV32hkKG
```

Le jeton d’accès renvoyé est opaque et n’est valide que pour appeler le point de terminaison `/userinfo`.

<div id="oidc-conformant">
  ### Conformité OIDC
</div>

export const codeExample3 = `{
    "sub": "auth0|alice",
    "iss": "https://{yourDomain}/",
    "aud": [
        "https://api.example.com",
        "https://{yourDomain}/userinfo"
    ],
    "azp": "123",
    "exp": 1482816809,
    "iat": 1482809609,
    "scope": "openid email"
}`;

<AuthCodeBlock children={codeExample3} language="json" />

* Le jeton d’accès renvoyé est un <Tooltip href="/docs/fr-CA/fr-ca/glossary?term=json-web-token" tip="Jeton Web JSON (JWT)
  Format standard de jeton d’ID (et souvent de jeton d’accès) utilisé pour représenter en toute sécurité des demandes entre deux parties." cta="Voir le glossaire">JWT</Tooltip> valide pour appeler le point de terminaison `/userinfo` (à condition que l’API spécifiée par le paramètre `audience` utilise `RS256` en tant qu’algorithme de signature) et éventuellement le serveur de ressources spécifié par le paramètre `audience`.
* Notez qu’un jeton d’accès opaque peut toujours être renvoyé si `/userinfo` est la seule <Tooltip data-tooltip-id="react-containers-DefinitionTooltip-1" tip="">audience</Tooltip> spécifiée.

<div id="standard-password-grant-requests">
  ## Demandes d’attribution de mot de passe standard
</div>

Le consentement de domaine de mot de passe Auth0 n’est pas défini en standard par OIDC, mais il est suggéré comme alternative au point de terminaison du propriétaire de la ressource héritée, car il prend en charge le paramètre `realm` spécifique à Auth0. Le [flux OIDC standard est également pris en charge](/docs/fr-CA/fr-ca/get-started/authentication-and-authorization-flow/resource-owner-password-flow) lors de l’utilisation de l’authentification OIDC.

<div id="learn-more">
  ## En savoir plus
</div>

* [Jetons d’ accès avec OpenID Connect (OIDC)](/docs/fr-CA/fr-ca/authenticate/login/oidc-conformant-authentication/oidc-adoption-access-tokens)
* [API externes avec OIDC](/docs/fr-CA/fr-ca/authenticate/login/oidc-conformant-authentication/oidc-adoption-apis)
* [Flux de code d’autorisation avec OIDC](/docs/fr-CA/fr-ca/authenticate/login/oidc-conformant-authentication/oidc-adoption-auth-code-flow)
* [Flux des identifiants client avec OIDC](/docs/fr-CA/fr-ca/authenticate/login/oidc-conformant-authentication/oidc-adoption-client-credentials-flow)
* [Flux implicite avec OIDC](/docs/fr-CA/fr-ca/authenticate/login/oidc-conformant-authentication/oidc-adoption-implicit-flow)
* [Jetons d’actualisation avec OIDC](/docs/fr-CA/fr-ca/authenticate/login/oidc-conformant-authentication/oidc-adoption-refresh-tokens)
