En tant que développeur d’API, vous devez :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.
- Déterminer les informations auxquelles vous souhaitez que les applications puissent accéder au nom d’un utilisateur.
- Définir ces niveaux d’accès en tant que champs d’application personnalisés. (Pour savoir ce que sont les permissions, lisez Permissions.)
- Identifier ces permissions pour que les applications appelantes puissent les utiliser.
Façons d’utiliser permissions des API
- Dans le cas d’une API où l’application appelante est une application tierce ou externe, c’est cette dernière qui demandera à l’utilisateur l’autorisation d’accéder aux permissions demandées. L’utilisateur pourra ensuite accepter ou refuser la demande
- Dans le cas où l’application appelante est une application de première partie ou une application enregistrée sous le même domaine Auth0 que l’API qu’elle appelle, le consentement de l’utilisateur n’est pas demandé par défaut. Cependant, vous pouvez le configurer pour qu’il soit exigé.
- Dans une API où l’application appelante est un service d’arrière-plan, qu’il s’agisse d’une tierce partie ou d’une première partie, et où il n’y a pas d’utilisateur, le consentement de l’utilisateur n’est jamais demandé.
Exemple : Une API appelée par une application tierce
read:balance dans sa demande, un accès pour effectuer des transferts de fonds en incluant la permission transfer:funds dans sa demande, ou un accès pour lire le solde de l’utilisateur et transférer des fonds en incluant à la fois les permissions read:balance et transfer:funds dans sa demande.
Désormais, lorsque l’application appellera votre API, elle inclura un jeton qui vérifiera que l’utilisateur a fourni l’autorisation d’accéder à son contenu et indiquera également les permissions que l’utilisateur a approuvés. Votre API doit respecter les permissions approuvées et ne communiquer à l’application appelante que les informations autorisées par l’utilisateur.
Exemple : Une API appelée par une application première partie
organizer (organisateur) et un rôle participant. Les utilisateurs ayant le rôle ‘organizer (organisateur) doivent créer et mettre à jour des événements, tandis que les utilisateurs ayant le rôle participant doivent visualiser les événements et s’y inscrire. Pour cela, vous créez quatre permissions pour votre API : une qui autorise l’accès à la création d’événements (create:events), une qui autorise l’accès à la mise à jour d’événements (update:events), une qui autorise l’accès à la lecture seule d’événements (view:events) et une qui autorise l’accès à l’enregistrement d’événements (register:events). Votre API et votre application d’événement sont toutes deux enregistrées auprès d’Auth0, et l’option Allow Skipping User Consent (Autoriser l’omission de l’étape du consentement de l’utilisateur) pour les applications de première partie est activée pour votre API. Vous avez installé Authorization Extension, configuré un rôle organizer (organisateur), créé les permissions create:events et update:events, et les avez attribuées à l’utilisateur A. Vous avez également configuré un rôle participant, créé les permissions view:events et register:events, et les avez attribuées à l’utilisateur B.
L’utilisateur A s’authentifie auprès de l’application appelante, qui demande les permissions nécessaires, mais comme il s’agit d’une application de première partie, le consentement de l’utilisateur n’est pas demandé. L’application peut demander n’importe quelle combinaison des permissions create:events, update:events, view:events et register:events, mais l’utilisateur A est reconnu comme ayant le rôle d’organisateur et ne se voit donc accorder que les permissions create:events et update:events.
Désormais, lorsque l’application appellera votre API, elle inclura un jeton qui vérifiera qu’elle a l’autorisation d’accéder uniquement aux permissions associées au rôle de l’utilisateur authentifié.
Exemple : Une API appelée par un service back-end
read:images) et une qui autorise l’accès en suppression à vos données d’imagerie (delete:images). Votre API et votre service automatisé sont enregistrés auprès d’Auth0, et vous avez autorisé le service automatisé à demander des jetons pour votre API.
Le service automatisé appelant demandera les permissions nécessaires, mais comme il n’y a pas d’utilisateur, le consentement ne sera pas demandé. Le service peut demander un accès en lecture à vos données d’imagerie en incluant la permission read:images dans sa demande, un accès en suppression en incluant la permission delete:images dans sa demande, ou un accès à la fois en lecture et en suppression en incluant les permissions read:images et delete:images dans sa demande.
Désormais, lorsque le service automatisé appellera votre API, il inclura un jeton qui vérifiera qu’il dispose de l’autorisation pour les permissions demandées.