> ## Documentation Index
> Fetch the complete documentation index at: https://auth0-actions-triggers-prototype.mintlify.site/llms.txt
> Use this file to discover all available pages before exploring further.

# Développement personnalisé avec les Organizations

> Apprendre à utiliser les actions et les trousses SDK avec les organisations Auth0.

Vous pouvez étendre les capacités d’Auth0 à l’aide des métadonnées des [organizations](/docs/fr-ca/manage-users/organizations/organizations-overview) et des actions, ou vous pouvez utiliser nos API et trousses SDK pour créer des tableaux de bord de gestion des organizations pour vos utilisateurs.

<Card title="La disponibilité varie selon le plan Auth0">
  Votre plan Auth0 ou votre accord personnalisé ont un impact sur la disponibilité de cette fonctionnalité. Pour en savoir plus, lisez [Tarification](https://auth0.com/pricing).
</Card>

## Extensibilité

Les organisations prennent en charge nos points d’extension, ce qui vous permet de définir des propriétés dans les métadonnées de l’organisation et d’exposer ces données à des [Actions](/docs/fr-ca/customize/actions). Par exemple, vous pouvez exécuter une logique personnalisée dans les règles pour certains clients ou applications en fonction de leur plan d’abonnement en stockant ces informations dans les métadonnées de l’organisation.

### Objet Actions event (événement d’actions)

L’objet d’événement d’actions stocke des informations contextuelles sur la transaction d’authentification en cours, telles que l’adresse IP, l’application ou la localisation de l’utilisateur.

Si vous changez le contenu du jeton au sein d’une action avec l’objet `event`, vos modifications seront disponibles sous forme de jetons une fois que toutes les actions auront été exécutées.

## Trousses SDK

Pour permettre aux membres de gérer eux-mêmes leur organisation, vous pouvez leur attribuer des rôles et utiliser notre API et nos trousses SDK pour créer des tableaux de bord dans vos produits. Les administrateurs peuvent configurer l’authentification unique (<Tooltip href="/docs/fr-ca/glossary?term=single-sign-on" tip="Authentification unique (SSO)
Service qui, après qu’un utilisateur se soit connecté à une application, le connecte automatiquement à d’autres applications." cta="Voir le glossaire">SSO</Tooltip>), inviter des utilisateurs dans des organisations, affecter des membres à des organisations, attribuer des rôles à des membres, etc.

Vous trouverez ci-dessous des exemples de tâches que vous pourriez vouloir effectuer avec des organisations utilisant les trousses SDK.

<Callout icon="file-lines" color="#0EA5E9" iconType="regular">
  L’exemple ci-après renvoie à la demande `org_id` disponible par défaut dans les jetons d’accès et d’ID. Cependant, vous pouvez configurer votre locataire pour permettre l’utilisation de noms d’organisation dans la Authentication API. Cela a pour résultat des jetons contenant à la fois les demandes `org_id`  et `org_name`. Si elle existe, validez la demande `org_name` en plus de `org_id` pour vous assurer que les valeurs reçues correspondent à une entité de confiance.

  En général, utiliser des ID d’organisation est une méthode préférable pour la validation des jetons. Cependant, les noms d’organisation peuvent être utilisés s’ils sont plus appropriés pour votre cas d’utilisation. Pour comprendre les implications potentielles d’utilisation de noms d’organisation pour valider des jetons, voir [Utiliser des noms d’organisation dans la Authentication API](/docs/fr-ca/manage-users/organizations/configure-organizations/use-org-name-authentication-api).
</Callout>

### Je veux que les utilisateurs se connectent à une organisation spécifique

Lors de la définition d’un nouveau client, transmettez l’ID de l’organisation dans un paramètre d’organisation. Ensuite, lors du rappel, assurez-vous que l’organisation renvoyée dans le jeton d’ID est la même que celle qui a été envoyée dans la requête `/authorize` en validant la demande `org_id` de la même manière que les autres demandes comme `exp` et `nonce`.

Pour en savoir plus, lisez :

* [Ajouter une connexion à l’aide du flux de code d’autorisation](/docs/fr-ca/get-started/authentication-and-authorization-flow/authorization-code-flow/add-login-auth-code-flow)
* [Appeler votre API à l’aide du flux de code d’autorisation](/docs/fr-ca/get-started/authentication-and-authorization-flow/authorization-code-flow/call-your-api-using-the-authorization-code-flow)
* [Ajouter une connexion à l’aide du flux de code d’autorisation avec une clé de preuve pour l’échange de code (PKCE)](/docs/fr-ca/get-started/authentication-and-authorization-flow/authorization-code-flow-with-pkce/add-login-using-the-authorization-code-flow-with-pkce)
* [Appeler votre API à l’aide du flux de code d’autorisation avec une clé de preuve pour l’échange de code (PKCE)](/docs/fr-ca/get-started/authentication-and-authorization-flow/authorization-code-flow-with-pkce/call-your-api-using-the-authorization-code-flow-with-pkce)
* [Ajouter la connexion en utilisant le flux implicite avec Form Post](/docs/fr-ca/get-started/authentication-and-authorization-flow/implicit-flow-with-form-post/add-login-using-the-implicit-flow-with-form-post)
* [Appeler votre API à l’aide du flux hybride](/docs/fr-ca/get-started/authentication-and-authorization-flow/hybrid-flow/call-api-hybrid-flow)
* [Personnaliser le délai d’inactivité de session en fonction de l’organisation](/docs/fr-ca/manage-users/sessions/manage-sessions-actions)

### Dans mon application, je souhaite obtenir l’organisation à laquelle l’utilisateur authentifié s’est connecté

Si l’utilisateur a été authentifié à l’aide d’une organisation, l’ID de l’organisation apparaîtra dans la demande `org_id` du jeton d’ID. En utilisant la trousse SDK Auth0 pour les applications à page unique (SPA), il est possible de le récupérer de la manière suivante :

`const { org_id } = await client.getIdTokenClaims();`

### À partir de mon API, je veux obtenir l’organisation avec laquelle le jeton d’accès a été émis

Si l’utilisateur a été authentifié à l’aide d’une organisation et qu’une <Tooltip data-tooltip-id="react-containers-DefinitionTooltip-1" tip="">audience</Tooltip> a été spécifié, le jeton d’accès sera un <Tooltip href="/docs/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> et contiendra la demande `org_id` avec l’ID de l’organisation à laquelle l’utilisateur s’est connecté.

Elle peut être validée en même temps que les autres demandes dans le système dorsal, comme dans l’exemple suivant pour Ruby :

```ruby lines theme={null}
class JsonWebToken
  def self.verify(token)
    decoded = JWT.decode(token, nil,
               true, # Verify the signature of this token
               algorithms: 'RS256',
               iss: 'https://YOUR_DOMAIN/',
               verify_iss: true,
               aud: Rails.application.secrets.auth0_api_audience,
               verify_aud: true) do |header|
      jwks_hash[header['kid']]
    end

    // Retrieve the organization ID value from the decoded token
    org = decoded[0]['org_id']
  end
end
```

<Callout icon="file-lines" color="#0EA5E9" iconType="regular">
  **Trouvez votre domaine Auth0**

  Si votre domaine Auth0 est le nom de votre locataire, votre sous-domaine régional (sauf si votre locataire se trouve aux États-Unis et a été créé avant juin 2020), est `.auth0.com`. Par exemple, si votre nom de locataire est `travel0`, votre nom de domaine Auth0 sera `travel0.us.auth0.com`. (Si votre locataire est aux États-Unis et qu’il a été créé avant juin 2020, votre nom de domaine Auth0 sera `https://travel0.auth0.com`.)

  Si vous utilisez des domaines personnalisés, votre domaine est le nom de votre domaine personnalisé.
</Callout>

## En savoir plus

* [Comprendre le fonctionnement des organisations Auth0](/docs/fr-ca/manage-users/organizations/organizations-overview)
* [Créez de votre première Organization](/docs/fr-ca/manage-users/organizations/create-first-organization)
* [Travailler avec des jetons et Organizations](/docs/fr-ca/manage-users/organizations/using-tokens)
* [Configurer les Organizations](/docs/fr-ca/manage-users/organizations/configure-organizations)
* [Auth0 Actions](/docs/fr-ca/customize/actions)
