Cas d’utilisation
- prenez en charge des communications de service à service
- exécutez des tâches planifiées ou des tâches cron sur des serveurs qui doivent accéder à des ressources protégées ou à des API
- permettez à des appareils IoT de communiquer avec des services backend ou des API
- avez une couche d’API qui doit communiquer avec d’autres couches d’API sans intervention de l’utilisateur ou après l’expiration d’un jeton utilisateur
- avez une API privilégiée qui peut devoir être appelée avant qu’un utilisateur soit authentifié (c.-à-d. à partir d’une Action ou d’un script de base de données personnalisé dans votre locataire Auth0)
- utilisez une passerelle API pour gérer les services backend
- utilisez ou prenez en charge des applications non interactives ou d’autres outils ne nécessitant aucune interaction humaine, comme des démons ou des services backend
Ces services auront tout de même besoin d’un jeton d’accès M2M pour l’authentification.
Comment utiliser ce guide
- Dans Architecture, nous vous recommandons de configurer Auth0 de manière à prendre en charge votre cycle de vie du développement logiciel et votre infrastructure existante.
- Dans Créer un compte, nous fournissons des instructions pour créer votre instance d’API dans Auth0, ainsi qu’une application prenant en charge le flux d’authentification (ou grant) requis pour l’authentification machine à machine.
- Dans Authentification, nous vous expliquons le grant à utiliser pour l’authentification, ainsi que les et les permissions (ou scopes) que vous pouvez définir.
- Dans Image de marque, nous vous indiquons où trouver de l’information sur la façon de configurer les selon la façon dont vous prévoyez gérer les certificats.
- Dans Automatisations de déploiement, vous pouvez en apprendre davantage sur nos outils conçus pour faciliter le déploiement.
- Dans Assurance qualité, vous pouvez en apprendre davantage sur les tests unitaires et les vérifications de préparation offertes dans .
Architecture
Considérations
-
La façon dont vous répartissez ou regroupez vos API afin d’appeler des points de terminaison précis.
- Cela peut déterminer l’audience et d’autres claims dans les jetons d’accès.
-
Les consommateurs tiers de votre ressource peuvent demander un jeton d’accès pour chaque appel. Un nombre excessif d’appels pourrait avoir une incidence sur votre limite de débit.
- Vous pouvez utiliser une passerelle API pour limiter le nombre de jetons d’accès qu’un tiers peut demander. Pour en savoir plus sur les passerelles API et Auth0, consultez Configurer un fournisseur d’identité dans Access Gateway.
Créer un compte
Avant de commencer
Dans Auth0 Dashboard ou à l’aide de Auth0 Management API, créez :
- Une API pour représenter votre API
- Une application M2M pour utiliser le flux Client Credentials
- Le nom de votre locataire joue un rôle dans votre domaine Auth0. Avant d’en choisir un, consultez les caractéristiques du locataire.
- Les fonctionnalités Auth0 dont vous avez besoin pour votre cas d’utilisation. Certaines fonctionnalités sont offertes uniquement avec les forfaits Professional et Enterprise.
- Déterminez si vous devez prendre en charge plusieurs environnements, comme le développement, la préproduction et la production. Pour en savoir plus, consultez Configurer plusieurs environnements.
- Si votre cas d’utilisation comprend des applications tierces que vous souhaitez enregistrer dans un locataire, vous pouvez utiliser Dynamic Application Registration selon la spécification OIDC Client Registration.
Créer un locataire
Enregistrer une API
Vous pouvez toujours mettre à jour votre API dans Auth0 Dashboard ou en appelant le point de terminaison de la Management API Mettre à jour un serveur de ressources.
- Auth0 Dashboard
- Management API
Commencez par créer votre API dans Auth0 Dashboard.
- Suivez les instructions pour enregistrer votre API.
Associer une application
L’API d’Auth0 comporte plusieurs paramètres que vous devrez peut-être passer en revue avant de la configurer. Pour en savoir plus, consultez Paramètres de l’API.
- Auth0 Dashboard
- Management API
Si vous créez votre API dans Auth0 Dashboard, Auth0 génère automatiquement une application de test et l’associe à votre API.
- Accédez à Auth0 Dashboard > Applications.
-
Sélectionnez l’application de test M2M créée lorsque vous avez créé votre API.
Vous pourrez créer plus tard une autre application pour le développement ou la production en suivant les instructions de Register Machine-to-Machine Applications.
- Passez à la vue API, puis repérez l’API que vous souhaitez activer pour cette application.
- Activez le bouton bascule Authorize, puis sélectionnez le bouton fléché à droite pour développer la carte.
-
Sélectionnez Update.
Dans cette vue, vous pouvez utiliser la liste déroulante pour choisir les scopes à ajouter. Vous en apprendrez davantage sur les scopes lorsque nous aborderons les jetons d’accès dans la section Authentification.
Authentification
client_id et d’un client_secret), puis autorisée en un seul appel.
Pour authentifier des applications ou des services non interactifs, vous devez sélectionner une autorisation d’application, c’est-à-dire un flux d’authentification. Le flux d’identification du client ne nécessite aucune interaction humaine et convient le mieux aux applications M2M.
Avant de commencer
Dans Auth0 Dashboard ou Management API, vous allez :
- Configurer votre application pour utiliser le flux d’identification du client
- Mettre à jour les scopes de vos jetons d’accès M2M
- Consultez le flux d’identification du client pour l’authentification machine à machine. Il s’agit du flux de travail utilisé pour l’authentification et l’autorisation non interactives.
- Déterminez le niveau d’accès requis pour vos API. Cela vous aidera à déterminer quels scopes, ou autorisations, vous configurerez lorsque vous créerez votre API.
Configurer le flux Client Credentials
Jetons d’accès M2M
client_id et client_secret lors d’un appel au point de terminaison des jetons de l’Authentication API pour obtenir un jeton d’accès. Ce jeton d’accès permet d’accéder à votre API protégée.
Le profil, ou format, par défaut est le profil de jeton Auth0, qui est l’un des deux profils de jeton offerts. Vous pouvez choisir de le remplacer par le profil RFC 9068. Pour en savoir plus, consultez Profils de jeton d’accès. Pour vérifier que le jeton est valide, votre API vérifie les algorithmes de signature. L’ par défaut est RSA256, un algorithme à clé.
Auth0 prend en charge d’autres méthodes d’authentification d’application que la fourniture de l’ID client et du Secret client comme identifiants. Ces méthodes, y compris notre recommandation d’utiliser Private Key JWT pour les configurations M2M, sont offertes avec un forfait Enterprise. Pour en savoir plus, consultez Identifiants d’application.
Exemple
/oauth/token devrait ressembler à l’exemple ci-dessous :
La réponse devrait ressembler à l’exemple ci-dessous :
Expiration du jeton
Scopes
Pour ajouter des claims personnalisés à un jeton d’accès, vous pouvez utiliser le flux Machine-to-Machine d’Actions. Pour en savoir plus, consultez Machine to Machine Flow.
Image de marque
Domaines personnalisés
/authorize pour demander des jetons d’accès.
Mise en route M2M - domaines personnalisés
Dans Auth0 Dashboard, vous devez :
- Enregistrer et vérifier votre domaine avant de pouvoir l’utiliser avec vos services Auth0.
- Déterminer si vous souhaitez gérer votre propre certificat ou utiliser un certificat géré par Auth0. Pour en savoir plus sur les certificats, consultez Options de gestion des certificats.
- Vérifier que la version de TLS (SSL) et la suite de chiffrement que vous souhaitez utiliser pour les certificats autogérés sont prises en charge par Auth0. Pour en savoir plus, consultez Versions et suites de chiffrement TLS (SSL).
-
Pour configurer votre domaine personnalisé avec des certificats gérés par Auth0, suivez les instructions de Configurer des domaines personnalisés avec des certificats gérés par Auth0.
-
Si vous souhaitez gérer vos propres certificats, suivez les instructions de Configurer des domaines personnalisés avec des certificats autogérés.
Vous devez avoir un abonnement Enterprise pour gérer les certificats de votre domaine personnalisé. Pour en savoir plus, consultez Tarification d’Auth0 et Login.
-
Si vous souhaitez gérer vos propres certificats, suivez les instructions de Configurer des domaines personnalisés avec des certificats autogérés.
- Consultez la configuration de l’API avec des domaines personnalisés. Vous devrez peut-être ajuster les paramètres de votre API pour tenir compte d’un domaine personnalisé.
Automatisation du déploiement
Bonne pratique
Quelle que soit la façon dont vous configurez l’automatisation du déploiement, nous vous recommandons d’effectuer des tests unitaires sur votre code personnalisé et vos Actions avant le déploiement, puis d’exécuter également des tests d’intégration sur votre locataire après le déploiement.
Outil Deploy CLI
Actions Real-time Logs
console.log et les autres exceptions générées. Si vous utilisez Auth0 Actions ou une autre logique personnalisée, vous pouvez utiliser cette extension pour déboguer et résoudre les problèmes. Pour en savoir plus sur l’installation et la configuration, consultez Actions Real-time Logs.
Assurance qualité
- Comment vos API se comporteront-elles lorsqu’elles seront soumises à des charges de production imprévues ?
- Quel sera l’impact des applications tierces sur vos limites de débit ?
Tests unitaires
Tests simulés
Déploiement
