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 :
Ajouter une connexion à l’aide du flux de code d’autorisation
Ajouter la connexion en utilisant le flux implicite avec Form Post
Personnaliser le délai d’inactivité de session en fonction de l’organisation
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?