Avant de commencer
Vous aurez besoin d’un compte Microsoft ayant accès à l’Azure Portal.
Configurer Auth0
Créer une API
Vous devez créer une API dans Auth0 pour représenter l’API gérée par Azure API Management Service. Pour en savoir plus, consultez Register APIs.- Accédez à Auth0 Dashboard > Applications > APIs, puis sélectionnez Create API.
-
Définissez les paramètres suivants :
- Sélectionnez Create.
Créer une Regular Web Application
Vous devrez créer une Regular Web Application (RWA) dans Auth0 afin de communiquer avec le OAuth 2.0 dans Azure :- Accédez à Auth0 Dashboard > Applications > Applications, puis sélectionnez le bouton Create Application.
- Saisissez un Name pour votre application, puis sélectionnez Regular Web Applications comme type d’application.
Créer et activer une connexion
Vous devez créer une connexion dans Auth0 et l’activer pour votre application :- Accédez à Auth0 Dashboard > Authentication > Database, puis sélectionnez Create DB Connection.
- Saisissez un Name pour votre connexion. Nous vous suggérons de choisir un nom qui reflète la source des utilisateurs (par exemple,
Facebookpour une connexion contenant des utilisateurs qui se connectent avec leurs identifiants Facebook, ousite-sign-upspour une connexion de base de données où les utilisateurs s’inscrivent sur votre site). - Sélectionnez Create.
- Accédez à la page Settings de votre connexion.
- Passez à la vue Applications, où vous verrez la liste de toutes les applications de votre tenant.
- Activez la bascule de l’application que vous avez créée précédemment pour l’associer à la connexion.
Créer un utilisateur
Si vous avez déjà un ensemble d’utilisateurs, vous pouvez les importer ou créer une custom database connection.
- Accédez à Auth0 Dashboard > User Management > Users, puis sélectionnez Create User.
- Entrez une Email et un Password, puis sélectionnez la connexion que vous avez créée à l’étape 3 dans le champ Connection.
- Sélectionnez Create.
Configurer Azure
Créer Azure API Management Service
Vous devrez créer une instance d’API Management Service dans Azure pour gérer votre API :- Dans la barre de navigation, sélectionnez Create a resource.
- Une fois redirigé, sélectionnez Web > API Management.
-
Fournissez les paramètres de configuration suivants :
- Sélectionnez Create pour lancer le provisionnement de votre service (cela peut prendre jusqu’à 15 minutes).
Importer l’API d’exemple
Pour ce tutoriel, nous allons importer et utiliser l’API Basic Calculator fournie par Microsoft. Pour des instructions détaillées, consultez Importer et publier votre première API de Microsoft. Une fois terminé, sélectionnez Create pour importer votre API. Vous serez redirigé vers la page Summary de votre API une fois l’importation terminée.Configurer un serveur d’autorisation OAuth 2.0
Pour utiliser Auth0 pour sécuriser votre API Azure, vous devez enregistrer Auth0 comme serveur d’autorisation OAuth 2.0 :- Repérez la section OAuth 2.0 + OpenID Connect de votre instance du service API Management près de la barre de navigation. Sélectionnez OAuth 2.0, puis Ajouter.
- Accédez à l’écran de configuration Ajouter un service OAuth2, puis sélectionnez le type d’octroi Authorization Code.
-
Définissez les paramètres suivants :
- Dans la section Client Credentials, entrez l’ID client de vos applications Auth0 dans le champ Client ID et le secret client dans le champ Client secret.
- Passez à la vue Redirect URI, puis copiez la valeur de l’URI dans le champ Authorization code flow grant.
- Sélectionnez Créer.
Configurer l’API Azure pour utiliser Auth0
Après avoir créé votre serveur d’autorisation OAuth 2.0 dans Azure, vous devrez mettre à jour votre API Azure pour qu’elle utilise Auth0 pour l’autorisation des utilisateurs :- Dans la section APIs du menu de navigation, sélectionnez APIs.
- Sélectionnez l’API Basic Calculator, puis ouvrez la vue Design.
- Passez à la vue Settings.
- Accédez à la section Sécurité, puis sélectionnez OAuth 2.0 sous User Authorization.
- Pour le champ Authorization Server, sélectionnez le serveur que vous avez configuré à l’étape précédente.
- Cliquez sur Save.
Définir l’Allowed Callback URL dans Auth0
Une fois votre API Azure provisionnée et configurée pour utiliser Auth0 pour l’autorisation des utilisateurs, vous devrez mettre à jour votre application Auth0 :- Accédez à Auth0 Dashboard > Applications > Applications.
- Sélectionnez votre application, puis passez à la vue Settings.
- Saisissez la Redirect URI que vous avez copiée précédemment dans le champ Allowed Callback URLs.
- Cliquez sur Save.
Testez l’intégration
Dans Azure Portal, ouvrez votre instance d’API Management Service.- Sélectionnez console de développement pour lancer l’interface destinée aux développeurs de vos API.
- Accédez à APIs > Basic Calculator. Cette action ouvre la page où vous pouvez effectuer une requête
GETqui vous permet d’additionner deux nombres entiers. - Sélectionnez Try It. La page où vous pourrez entrer les paramètres de votre requête s’affichera.
- Accédez à la section Authorization, puis sélectionnez Authorization Code (à côté du champ Auth0).
- Une fenêtre contextuelle s’affichera avec le widget de connexion Auth0 (si ce n’est pas le cas, assurez-vous que les bloqueurs de fenêtres contextuelles sont désactivés dans votre navigateur). Entrez les identifiants de l’utilisateur Auth0 que vous avez créé à l’étape 4, puis connectez-vous.
- Si vous avez réussi à vous connecter, un message s’affichera avec la date d’expiration du jeton d’accès que vous pouvez utiliser pour appeler votre API.
- Accédez au bas de la page, puis sélectionnez Send. Si la requête réussit, vous verrez un message contenant la réponse
HTTP 200au bas de la page.
Configurer une politique de validation JWT pour les jetons d’accès
À l’étape précédente, l’utilisateur est invité à se connecter lorsqu’il tente d’effectuer une requête depuis la console de développement. La console de développement essaie d’obtenir un au nom de l’utilisateur afin de l’inclure dans la requête d’API. Tous les jetons d’accès sont transmis à l’API dans l’en-têteAuthorization.
Si vous souhaitez valider le jeton d’accès inclus dans chaque requête, vous pouvez le faire à l’aide de la politique Validate JWT. Consultez la documentation de Microsoft sur la configuration d’une politique dans API Management.