Passer au contenu principal

Avant de commencer

Vous aurez besoin d’un compte Microsoft ayant accès au portail Azure.
Le service Azure API Management vous permet de créer de nouvelles API ou d’importer des définitions d’API existantes et de les publier pour qu’elles soient utilisées par les publics autorisés. Auth0 simplifie l’autorisation des utilisateurs de votre API (à l’aide des normes ). Dans ce tutoriel, vous apprendrez à utiliser Auth0 pour authentifier et autoriser les utilisateurs lorsqu’ils accèdent à une API de calculatrice de base gérée par Azure API Management.

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. Pour en savoir plus, consultez Enregistrer des API.
  1. Accédez à Auth0 Dashboard > Applications > APIs, puis sélectionnez Create API.
  2. Définissez les paramètres suivants :
    ChampValeur
    NomBasic Calculator
    Identifiantbasic-calculator
    Algorithme de signatureRS256
  3. Sélectionnez Create.

Créer une application Web standard

Vous devez créer une application Web standard (RWA) dans Auth0 pour communiquer avec le OAuth 2.0 dans Azure :
  1. Accédez à Auth0 Dashboard > Applications > Applications, puis sélectionnez le bouton Create Application.
  2. Saisissez un nom pour votre application, puis sélectionnez Regular Web Applications comme type d’application.

Créer et activer une connexion

Vous devrez créer une connexion dans Auth0 et l’activer pour votre application :
  1. Accédez à Auth0 Dashboard > Authentication > Database, puis sélectionnez Create DB Connection.
  2. Entrez un nom pour votre connexion. Nous vous suggérons de choisir un nom qui reflète la provenance des utilisateurs (par exemple, Facebook pour une connexion contenant des utilisateurs qui se connectent avec leurs identifiants Facebook, ou site-sign-ups pour une connexion de base de données où les utilisateurs s’inscrivent sur votre site).
  3. Sélectionnez Create.
  4. Accédez à la page Settings de votre connexion.
  5. Passez à la vue Applications, où vous verrez la liste de toutes les applications de votre locataire.
  6. Activez l’application que vous avez créée précédemment pour cette connexion.

Créer un utilisateur

Si vous avez déjà un ensemble d’utilisateurs, vous pouvez les importer ou créer une connexion de base de données personnalisée.
Vous devez avoir au moins un utilisateur dans votre connexion pour tester l’authentification et l’autorisation. Si vous n’avez pas déjà un ensemble d’utilisateurs pour cette connexion, vous pouvez en créer un manuellement :
  1. Accédez à Auth0 Dashboard > User Management > Users, puis sélectionnez Create User.
  2. Entrez une valeur pour Email et Password, puis sélectionnez la connexion que vous avez créée à l’étape 3 dans le champ Connexion.
  3. Sélectionnez Create.

Configurer Azure

Créer le service Azure API Management

Vous devez créer une instance du service API Management dans Azure pour gérer votre API :
  1. Dans la barre de navigation, sélectionnez Create a resource.
  2. Une fois redirigé, sélectionnez Web > API Management.
  3. Fournissez les paramètres de configuration suivants :
    ParamètreDescription
    NomLe nom de votre service (qui sera également utilisé pour créer l’URL dont vous aurez besoin pour accéder au service)
    AbonnementL’abonnement Azure que vous utiliserez avec ce service
    Groupe de ressourcesL’ensemble des ressources qui partagent un cycle de vie, des autorisations et des politiques. Vous pouvez utiliser un groupe de ressources existant ou en créer un nouveau (vous devrez fournir un nom au groupe si vous en créez un nouveau)
    EmplacementChoisissez l’emplacement où sera hébergée votre instance d’API
    Nom de l’organisationLe nom de votre organisation
    Courriel de l’administrateurL’adresse courriel de la personne qui administrera cette instance
    Niveau tarifaireLe niveau tarifaire souhaité, qui détermine le nombre d’appels que vous pouvez faire à votre API, ainsi que le volume maximal de transfert de données autorisé. Vous devez choisir le plan Developer ou un niveau supérieur; le plan Consumption n’offre pas suffisamment de fonctionnalités pour que cette intégration fonctionne.
  4. Sélectionnez Create pour commencer le provisionnement de votre service (cela peut prendre jusqu’à 15 minutes).

Importer l’API d’exemple

Dans ce tutoriel, vous importerez et utiliserez l’API Basic Calculator fournie par Microsoft. Pour obtenir des instructions détaillées, consultez Import and Publish Your First API de Microsoft. Une fois l’opération terminée, sélectionnez Create pour importer votre API. Vous serez redirigé vers la page récapitulative de votre API lorsque l’importation sera terminée.

Configurer un serveur d’autorisation OAuth 2.0

Pour utiliser Auth0 afin de sécuriser votre API Azure, vous devez enregistrer Auth0 en tant que serveur d’autorisation OAuth 2.0 :
  1. 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 Add.
  2. Accédez à l’écran de configuration Add OAuth2 service, puis sélectionnez le type d’octroi Authorization Code.
  3. Définissez les paramètres suivants :
    ParamètreDescription
    Nom d’affichageEntrez un nom descriptif pour votre serveur d’autorisation, par exemple Auth0.
    IdCe champ devrait se remplir automatiquement selon le nom d’affichage fourni.
    DescriptionEntrez une description pour votre serveur d’autorisation, par exemple Auth0 API Authentication.
    URL de la page d’enregistrement de l’applicationEntrez https://placeholder.contoso.com comme valeur de remplacement.
    Types d’octroi par code d’autorisationSélectionnez Authorization code.
    URL du point de terminaison d’autorisationReportez-vous au point de terminaison de découverte OIDC de votre locataire et ajoutez le paramètre audience. Par exemple : https://{yourDomain}/authorize?audience={API_AUDIENCE}.
    Méthode de requête d’autorisationLa valeur par défaut est GET.
    URL du point de terminaison de jetonReportez-vous au point de terminaison de découverte OIDC de votre locataire.
    Méthodes d’authentification de l’applicationSélectionnez Basic.
    Méthode d’envoi du jeton d’accèsSélectionnez Authorization header.
    Scope par défautSpécifiez un scope par défaut, au besoin.
  4. Dans la section Client Credentials, entrez l’ID client de votre application Auth0 dans le champ Client ID et le secret client dans le champ Client secret.
  5. Passez à la vue Redirect URI, puis copiez la valeur de l’URI dans le champ Authorization code flow grant.
  6. Sélectionnez Create.

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 utiliser Auth0 pour l’autorisation des utilisateurs :
  1. Dans la section APIs du menu de navigation, sélectionnez APIs.
  2. Sélectionnez l’API Basic Calculator, puis accédez à la vue Design.
  3. Passez à la vue Settings.
  4. Accédez à la section Security, puis sélectionnez OAuth 2.0 sous User Authorization.
  5. Sélectionnez le serveur que vous avez configuré à l’étape précédente dans le champ Authorization Server.
  6. Cliquez sur Save.

Définissez l’URL de rappel autorisée dans Auth0

Une fois votre API Azure provisionnée et configurée pour utiliser Auth0 afin d’autoriser les utilisateurs, vous devrez mettre à jour votre application Auth0 :
  1. Accédez à Auth0 Dashboard > Applications > Applications.
  2. Sélectionnez votre application, puis passez à la vue Settings.
  3. Entrez l’URI de redirection que vous avez copiée précédemment dans le champ Allowed Callback URLs.
  4. Cliquez sur Save.

Tester l’intégration

Dans le portail Azure, ouvrez votre instance d’API Management.
  1. Sélectionnez Developer Console pour ouvrir l’interface de vos API destinée aux développeurs.
  2. Accédez à APIs > Basic Calculator. La page qui s’ouvre vous permet d’effectuer un appel GET pour additionner deux entiers.
  3. Sélectionnez Try It. La page où vous pouvez fournir les paramètres de votre appel s’affiche.
  4. Accédez à la section Authorization, puis sélectionnez Authorization Code (à côté du champ Auth0).
  5. Une fenêtre contextuelle s’affiche 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). Saisissez les identifiants de l’utilisateur Auth0 que vous avez créé à l’étape 4, puis connectez-vous.
  6. Si la connexion réussit, un message s’affiche avec la date d’expiration du jeton d’accès que vous pouvez utiliser pour appeler votre API.
  7. Accédez au bas de la page, puis sélectionnez Send. Si la requête réussit, un message contenant la réponse HTTP 200 s’affiche au bas de la page.

Configurer une stratégie 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 à partir de la console de développement. La console de développement tente 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 par l’en-tête Authorization. Si vous souhaitez valider le jeton d’accès inclus dans chaque requête, vous pouvez le faire à l’aide de la stratégie Validate JWT. Consultez la documentation de Microsoft sur la configuration d’une stratégie dans API Management.