Développement personnalisé avec les Organizations

Vous pouvez étendre les capacités d’Auth0 à l’aide des métadonnées des organizations 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.

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.

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. 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 (SSO), 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.

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 :

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 audience a été spécifié, le jeton d’accès sera un JWT 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 :

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

Was this helpful?

/

En savoir plus