> ## Documentation Index
> Fetch the complete documentation index at: https://translations.mintlify.site/llms.txt
> Use this file to discover all available pages before exploring further.

> Utiliser Auth0 comme serveur OAuth 2.0 pour authentifier les utilisateurs souhaitant accéder à une API gérée par le service Azure API Management

# Intégrer Azure API Management

<Card title="Avant de commencer">
  Vous aurez besoin d’un compte Microsoft ayant accès au [portail Azure](https://azure.microsoft.com/en-us).
</Card>

Le service [Azure API Management](https://azure.microsoft.com/en-us/products/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 <Tooltip tip="OAuth 2.0 : Cadre d’autorisation qui définit les protocoles et les flux de travail d’autorisation." cta="Voir le glossaire" href="/fr-CA/docs/glossary?term=OAuth+2.0">OAuth 2.0</Tooltip>).

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.

<div id="configure-auth0">
  ## Configurer Auth0
</div>

<div id="create-an-api">
  ### Créer une API
</div>

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](/fr-CA/docs/get-started/auth0-overview/set-up-apis).

1. Accédez à [Auth0 Dashboard > Applications > APIs](https://manage.auth0.com/#/apis), puis sélectionnez **Create API**.
2. Définissez les paramètres suivants :

   | Champ                       | Valeur             |
   | --------------------------- | ------------------ |
   | **Nom**                     | `Basic Calculator` |
   | **Identifiant**             | `basic-calculator` |
   | **Algorithme de signature** | `RS256`            |
3. Sélectionnez **Create**.

<div id="create-a-regular-web-application">
  ### Créer une application Web standard
</div>

Vous devez créer une application Web standard (RWA) dans Auth0 pour communiquer avec le <Tooltip tip="Serveur d’autorisation : serveur centralisé qui contribue à définir les limites de l’accès d’un utilisateur. Par exemple, votre serveur d’autorisation peut contrôler les données, les tâches et les fonctionnalités offertes à un utilisateur." cta="Voir le glossaire" href="/fr-CA/docs/glossary?term=authorization+server">serveur d’autorisation</Tooltip> OAuth 2.0 dans Azure :

1. Accédez à [Auth0 Dashboard > Applications > Applications](https://manage.auth0.com/#/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.

<div id="create-and-enable-a-connection">
  ### Créer et activer une connexion
</div>

Vous devrez créer une connexion dans Auth0 et l’activer pour votre application :

1. Accédez à [Auth0 Dashboard > Authentication > Database](https://manage.auth0.com/#/connections/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.

<div id="create-a-user">
  ### Créer un utilisateur
</div>

<Callout icon="file-lines" color="#0EA5E9" iconType="regular">
  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](/fr-CA/docs/authenticate/database-connections/custom-db).
</Callout>

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](https://manage.auth0.com/#/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**.

<div id="configure-azure">
  ## Configurer Azure
</div>

<div id="create-azure-api-management-service">
  ### Créer le service Azure API Management
</div>

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ètre                        | Description                                                                                                                                                                                                                                                                                                                                                                                              |
   | -------------------------------- | -------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- |
   | **Nom**                          | Le nom de votre service (qui sera également utilisé pour créer l’URL dont vous aurez besoin pour accéder au service)                                                                                                                                                                                                                                                                                     |
   | **Abonnement**                   | L’abonnement Azure que vous utiliserez avec ce service                                                                                                                                                                                                                                                                                                                                                   |
   | **Groupe de ressources**         | L’ensemble des [ressources](https://learn.microsoft.com/en-us/azure/azure-resource-manager/management/manage-resources-portal) 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)                                                       |
   | **Emplacement**                  | Choisissez l’emplacement où sera hébergée votre instance d’API                                                                                                                                                                                                                                                                                                                                           |
   | **Nom de l’organisation**        | Le nom de votre organisation                                                                                                                                                                                                                                                                                                                                                                             |
   | **Courriel de l’administrateur** | L’adresse courriel de la personne qui administrera cette instance                                                                                                                                                                                                                                                                                                                                        |
   | **Niveau tarifaire**             | Le 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](https://azure.microsoft.com/en-us/pricing/details/api-management/) 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).

<div id="import-the-sample-api">
  ### Importer l’API d’exemple
</div>

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](https://docs.microsoft.com/en-us/azure/api-management/import-and-publish#go-to-your-api-management-instance) 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.

<div id="configure-an-oauth-20-authorization-server">
  ### Configurer un serveur d’autorisation OAuth 2.0
</div>

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ètre                                            | Description                                                                                                                                                                                                                                       |
   | ---------------------------------------------------- | ------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- |
   | **Nom d’affichage**                                  | Entrez un nom descriptif pour votre serveur d’autorisation, par exemple `Auth0`.                                                                                                                                                                  |
   | **Id**                                               | Ce champ devrait se remplir automatiquement selon le nom d’affichage fourni.                                                                                                                                                                      |
   | **Description**                                      | Entrez une description pour votre serveur d’autorisation, par exemple `Auth0 API Authentication`.                                                                                                                                                 |
   | **URL de la page d’enregistrement de l’application** | Entrez `https://placeholder.contoso.com` comme valeur de remplacement.                                                                                                                                                                            |
   | **Types d’octroi par code d’autorisation**           | Sélectionnez `Authorization code`.                                                                                                                                                                                                                |
   | **URL du point de terminaison d’autorisation**       | Reportez-vous au [point de terminaison de découverte OIDC](https://\{yourDomain}/.well-known/openid-configuration) de votre locataire et ajoutez le paramètre `audience`. Par exemple : `https://{yourDomain}/authorize?audience={API_AUDIENCE}`. |
   | **Méthode de requête d’autorisation**                | La valeur par défaut est `GET`.                                                                                                                                                                                                                   |
   | **URL du point de terminaison de jeton**             | Reportez-vous au [point de terminaison de découverte OIDC](https://\{yourDomain}/.well-known/openid-configuration) de votre locataire.                                                                                                            |
   | **Méthodes d’authentification de l’application**     | Sélectionnez `Basic`.                                                                                                                                                                                                                             |
   | **Méthode d’envoi du jeton d’accès**                 | Sélectionnez `Authorization header`.                                                                                                                                                                                                              |
   | **Scope par défaut**                                 | Spécifiez un [scope](/fr-CA/docs/glossary?term=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**.

<div id="configure-azure-api-to-use-auth0">
  ### Configurer l’API Azure pour utiliser Auth0
</div>

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**.

<div id="set-the-allowed-callback-url-in-auth0">
  ## Définissez l’URL de rappel autorisée dans Auth0
</div>

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](https://manage.auth0.com/#/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**.

<div id="test-the-integration">
  ## Tester l’intégration
</div>

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.

<div id="configure-a-jwt-validation-policy-for-access-tokens">
  ### Configurer une stratégie de validation JWT pour les jetons d’accès
</div>

À 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 <Tooltip tip="Jeton d’accès : information d’autorisation, sous la forme d’une chaîne opaque ou d’un JWT, utilisée pour accéder à une API." cta="Voir le glossaire" href="/fr-CA/docs/glossary?term=Access+Token">Jeton d’accès</Tooltip> 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](https://learn.microsoft.com/en-us/azure/api-management/validate-jwt-policy). Consultez la documentation de Microsoft sur la [configuration d’une stratégie dans API Management](https://learn.microsoft.com/en-us/azure/api-management/set-edit-policies?tabs=form).
