> ## Documentation Index
> Fetch the complete documentation index at: https://auth0-docs-event-stream-action-templates.mintlify.site/llms.txt
> Use this file to discover all available pages before exploring further.

# Intégrer avec Azure Management API

> Utilisation d’Auth0 en tant que serveur OAuth 2.0 pour authentifier les utilisateurs souhaitant accéder à une API gérée par le service Azure Management API

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

Le service [Azure Management API](https://azure.microsoft.com/en-us/services/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 audiences approuvées. Auth0 facilite l’autorisation des utilisateurs de votre API (à l’aide des normes <Tooltip href="/docs/fr-ca/glossary?term=oath2" tip="OAuth 2.0
Cadre d’applications d’autorisation qui définit les protocoles d’autorisation et les flux de production." cta="Voir le glossaire">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 <Tooltip href="/docs/fr-ca/glossary?term=management-api" tip="Management API
Un produit permettant aux clients d’effectuer des tâches administratives." cta="Voir le glossaire">Management API</Tooltip>.

## Configurer Auth0

### Créer une API

Vous devez créer une API dans Auth0 pour représenter l’API gérée par Azure Management API. Pour en savoir plus, lisez [Enregistrer des API](/docs/fr-ca/get-started/auth0-overview/set-up-apis).

1. Naviguez vers [Auth0 Dashboard > Applications > API](https://manage.auth0.com/#/apis), et sélectionnez **Créer une API**.

2. Établissez les paramètres suivants :

   | Champ                       | Valeur             |
   | --------------------------- | ------------------ |
   | **Nom**                     | `Basic Calculator` |
   | **Identifiant**             | `basic-calculator` |
   | **Algorithme de signature** | `RS256`            |

3. Sélectionnez **Créer**.

### Créer une application Web ordinaire

Vous devrez créer une application Web ordinaire (RWA) dans Auth0 pour communiquer avec le serveur d’autorisation OAuth 2.0 dans Azure :

1. Naviguez vers [Auth0 Dashboard > Applications > Applications](https://manage.auth0.com/#/applications), et sélectionnez le bouton **Créer une application**.
2. Saisissez un **Nom** pour votre application et sélectionnez **Applications Web ordinaires**pour le type d’application.

### Créer et activer une connexion

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

1. Allez à [Auth0 Dashboard > Authentification > Base de données](https://manage.auth0.com/#/connections/database) et sélectionnez **Créer une connexion DB**.
2. Saisissez un **Nom** pour votre connexion. Nous vous suggérons de choisir un nom qui reflète la source des utilisateurs (par exemple `Facebook` pour une connexion qui contient des utilisateurs utilisant leurs informations d’identification Facebook ou `site-sign-ups` pour une connexion de base de données où les utilisateurs s’inscrivent sur votre site).
3. Sélectionnez **Créer**.
4. Accédez à la page **Paramètres** de votre connexion.
5. Passez à la vue **Applications**, où vous verrez une liste de toutes les applications de votre locataire.
6. Basculez l’application que vous avez créée précédemment pour l’activer pour la connexion.

### Créez un utilisateur

<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 à une base de données personnalisée](/docs/fr-ca/connections/database/mysql).
</Callout>

Vous devez avoir au moins un utilisateur sur votre connexion pour tester l’authentification et l’autorisation. Si vous ne disposez pas d’un ensemble d’utilisateurs pour la connexion, vous pouvez en créer un manuellement :

1. Naviguez vers [Auth0 Dashboard > Gestion des utilisateurs > Utilisateurs](https://manage.auth0.com/#/users), et sélectionnez **Créer un utilisateur**.
2. Saisissez un **Courriel** et un **Mot de passe**, et sélectionnez la connexion créée à l’étape 3 dans le champ **Connexion**.
3. Sélectionnez **Créer**.

## Configurer Azure

### Créer le service Azure API Management

Vous devrez créer une instance de service API Management dans Azure pour gérer votre API :

1. Dans la barre de navigation, sélectionnez **Créer une ressource**.

2. Une fois redirigé, sélectionnez **Web** >  **Gestion de l’API**.

3. Fournissez les variables de configuration suivantes :

   \| Paramètre | Description |
   \| --- | --- |
   \| **Name** | Le nom de votre service (qui sera également utilisé pour créer l’URL dont vous avez besoin pour accéder au service) |
   \| **Subscription** | Le plan d’abonnement Entra que vous utiliserez avec le service |
   \| **Resource Group**\_ | La collection de [ressources](https://docs.microsoft.com/en-us/azure/azure-resource-manager/resource-group-portal) partageant 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 pour le groupe si vous en créez un nouveau) |
   \| **Location** | Choisissez l’emplacement qui dessert votre instance d’API |
   \| **Organization name** | The name of your organisation |
   \| **Administrator email** | L’adresse courriel de la personne qui administrera cette instance |
   \| **Pricing tier** | Le niveau de tarification que vous souhaitez, qui détermine le nombre d’appels que vous pouvez faire à votre API, ainsi que la quantité maximale de transfert de données autorisée. Vous devez opter pour le [plan Developer](https://azure.microsoft.com/en-us/pricing/details/api-management/) ou un plan supérieur; le plan Consumption n’offre pas suffisamment de fonctionnalités pour que cette intégration fonctionne. |

4. Sélectionnez **Créer** pour commencer la fourniture de votre service (cette opération peut prendre jusqu’à 15 minutes).

### Importer l’exemple d’API

Pour ce tutoriel, nous importerons et utiliserons l’API de Basic Calculator fournie par Microsoft. Pour des instructions détaillées, voir [Importer et publier votre première API](https://docs.microsoft.com/en-us/azure/api-management/import-and-publish#go-to-your-api-management-instance) de Microsoft.

Lorsque vous avez terminé, sélectionnez **Créer** pour importer votre API. Vous serez redirigé vers la page de résumé de votre API lorsqu’elle sera entièrement importé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. Trouvez la zone **OAuth 2.0 + OpenID Connect** de votre instance de service API Management près de la barre de navigation. Sélectionnez **OAuth 2.0**, puis sélectionnez **Ajouter**.

2. Accédez à l’écran de configuration **Ajouter un service OAuth2** et sélectionnez le type de subvention de code d’autorisation.

3. Établissez les paramètres suivants :

   \| Paramètre | Description |
   \| --- | --- |
   \| **Nom d’affichage** | Saisissez un nom descriptif pour votre serveur d’autorisation, tel que `Auth0`. |
   \| **Identifiant** | Ce champ devrait se remplir automatiquement en fonction du nom d’affichage que vous avez fourni. |
   \| **Description** | Saisissez une description de votre serveur d’autorisation, par exemple `Auth0 API Authentication`. |
   \| **URL de la page d’inscription client** | Saisissez `https://placeholder.contoso.com` comme espace réservé. |
   \| **Types de consentement de code d’autorisation** | Sélectionnez `Authorization code`. |
   \| **URL de point de terminaison d’autorisation** | Reportez-vous à [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}`. |
   \| **Authorization request method**(Méthode de requête d’autorisation) | La valeur par défaut est `GET`. |
   \| **URL du point de terminaison du jeton** | Reportez-vous à [Point de terminaison de découverte OIDC](https://\{yourDomain}/.well-known/openid-configuration) de votre locataire. |
   \| **Méthodes d’authentification de votre client** | Choisir `Basic`. |
   \| **Méthode d’envoi d’un jeton d’accès** | Choisir `Authorization header`. |
   \| **Permission par défaut** | Spécifiez une permission <dfn>scope</dfn> par défaut , si requis. |

4. Dans la section **Client Credentials (Identifiants du client)**, saisissez l’ID client des applications Auth0 dans le champ **Client ID (ID client)** et le secret du client dans le champ **Client secret (Secret du client)**.

5. Passez à la vue **URI de redirection** et copiez la valeur de l’URI dans le champ **Octroi de flux de code d’autorisation**.

6. 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 afin d’utiliser Auth0 pour l’autorisation de l’utilisateur :

1. Dans la section **API** de la navigation, sélectionnez **API**.
2. Sélectionnez l’API de Basic Calculator et passez à la vue **Conception**.
3. Passez à la vue **Paramètres** .
4. Naviguez jusqu’à la section **Sécurité** et sélectionnez **OAuth 2.0**sous **Autorisation de l’utilisateur**.
5. Sélectionnez le serveur que vous avez configuré à l’étape précédente dans le champ **Serveur d’autorisation**.
6. Cliquez sur **Enregistrer**.

## Définir l’URL de rappel autorisée dans Auth0

Une fois votre API Azure fournie et configurée pour utiliser Auth0 pour l’autorisation des utilisateurs, vous devrez mettre à jour votre application Auth0.

1. Naviguez jusqu’à [Auth0 Dashboard > Applications > Applications](https://manage.auth0.com/#/applications).
2. Sélectionnez votre application et passez à la vue **Paramètres**.
3. Saisissez l’URI de redirectionque vous avez copié précédemment dans le champ **URL de rappel autorisées**.
4. Cliquez sur **Enregistrer**.

## Tester l’intégration

Dans le portail Azure, ouvrez votre instance du service API Management.

1. Sélectionnez **Console du développeur** pour lancer le côté développeur de vos API.
2. Allez sur **API** > **Basic Calculator**. Vous accédez à la page où vous pouvez effectuer un appel `GET` qui vous permet d’ajouter deux nombres entiers.
3. Sélectionnez **Essayer**. Ceci ouvre la page où vous pouvez fournir les paramètres de votre appel.
4. Naviguez jusqu’à la section **Autorisation** et sélectionnez **Code d’autorisation** (à côté du champ **Auth0**).
5. Une fenêtre contextuelle apparaîtra avec le gadget logiciel 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 informations d’identification de l’utilisateur Auth0 que vous avez créé à l’étape 4 et connectez-vous.
6. 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.
7. Naviguez vers le bas et sélectionnez **Envoyer**. Si la demande aboutit, vous verrez un message contenant la réponse `HTTP 200` au 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 un appel à partir de la console de développement. La console de développement tente d’obtenir un jeton d’accès au nom de l’utilisateur pour l’inclure dans la demande d’API. Tous les jetons d’accès seront transmis à l’API via l’en-tête `Authorization`.

Si vous souhaitez valider le jeton d’accès inclus dans chaque demande, vous pouvez le faire en utilisant la politique [Validation JWT](https://docs.microsoft.com/en-us/azure/api-management/api-management-access-restriction-policies#ValidateJWT). Veuillez consulter la documentation de Microsoft sur [la définition d’une politique de Management API](https://docs.microsoft.com/en-us/azure/api-management/set-edit-policies).
