Prise en charge des API dans Azure Static Web Apps avec Azure App Service

Azure App Service est une plateforme managée pour l’hébergement d’applications web qui exécutent du code sur des serveurs. Azure App Service prend en charge de nombreux runtimes et frameworks, notamment Node.js, ASP.NET Core, PHP, Java et Python.

Lorsque vous liez votre application web Azure App Service à votre application web statique, toutes les demandes adressées à votre application web statique avec un itinéraire qui commence /api par sont proxiées vers le même itinéraire dans l’application Azure App Service.

Par défaut, lorsqu’une application App Service est liée à une application web statique, l’application App Service accepte uniquement les demandes qui sont proxiées via l’application web statique liée. Une application Azure App Service ne peut être liée qu’à une seule application web statique à la fois.

Tous les plans d’hébergement Azure App Service sont disponibles pour une utilisation avec Azure Static Web Apps.

Les options d’API pour Static Web Apps incluent les services Azure suivants :

Pour plus d’informations, consultez la Vue d’ensemble des API.

Remarque

L’intégration à Azure App Service nécessite le plan Static Web Apps Standard.

L’intégration back-end n’est pas prise en charge dans les environnements de demande de tirage statique Web Apps.

Prérequis

Pour lier un App Service à votre application web statique, vous devez disposer d’une ressource App Service existante et d’une application web statique.

Ressource Description
Azure App Service Si vous n’en avez pas encore, suivez les étapes décrites dans le guide Créer une application web dans Azure .
Application web statique existante Si vous n’en avez pas encore, suivez les étapes du guide de prise en main pour créer une application web statique No Framework.

Exemple

Considérez une instance Azure App Service existante qui expose un point de terminaison via l’emplacement suivant.

https://my-web-app.azurewebsites.net/api/getProducts

Une fois la liaison établie, vous pouvez accéder à ce même point de terminaison via le chemin d’accès api à partir de votre application web statique, comme indiqué dans cet exemple d’URL.

https://red-sea-123.azurestaticapps.net/api/getProducts

Les deux URL pointent vers le même point de terminaison d’API. Le point de terminaison de l’App Service doit avoir le /api préfixe, car Static Web Apps correspond aux demandes adressées à /api la ressource liée et proxies le chemin d’accès entier à la ressource liée.

Pour lier une application web en tant que back-end d’API pour une application web statique, procédez comme suit :

  1. Dans le portail Azure, accédez à l’application web statique.

  2. Dans le menu de navigation, sélectionnez API.

  3. Recherchez l’environnement auquel vous souhaitez lier l’instance Gestion des API. Sélectionnez Lien.

  4. Dans Type de ressource back-end, sélectionnez Application web.

  5. Dans Abonnement, sélectionnez l’abonnement contenant l’application Azure App Service que vous souhaitez lier.

  6. Dans Nom de la ressource, sélectionnez l’application Azure App Service.

  7. Sélectionnez Lien.

Lorsque le processus de liaison est terminé, les demandes d’itinéraires commençant par /api sont proxiées vers l’application App Service liée.

Gérer l’accès à Azure App Service

Votre application App Service est configurée avec un fournisseur d’identité nommé Azure Static Web Apps (Linked) qui autorise uniquement le trafic qui est proxié via l’application web statique. Pour rendre votre application App Service accessible à d’autres applications, mettez à jour sa configuration d’authentification pour ajouter un autre fournisseur d’identité ou modifier les paramètres de sécurité afin d’autoriser l’accès non authentifié.

Pour dissocier une application web à partir d’une application web statique, procédez comme suit :

  1. Dans le portail Azure, accédez à l’application web statique.

  2. Dans le menu de navigation, sélectionnez API.

  3. Recherchez l’environnement que vous souhaitez dissocier et sélectionnez le nom de l’application web.

  4. Sélectionnez Dissocier.

Lorsque le processus de dissociation est terminé, les demandes d’itinéraires commençant /api par sont proxiées vers votre application App Service.

Remarque

Pour éviter d’exposer accidentellement votre application App Service au trafic anonyme, le fournisseur d’identité créé par le processus de liaison n’est pas automatiquement supprimé. Vous pouvez supprimer le fournisseur d’identité nommé Azure Static Web Apps (lié) des paramètres d’authentification de l’application App Service.

Supprimer l’authentification de la ressource App Service

Pour permettre à votre ressource App Service de recevoir le trafic anonyme, procédez comme suit pour supprimer le fournisseur d’identité :

  1. Dans le Portail Azure, accédez à la ressource App Service.

  2. Sélectionnez Authentification dans le menu de navigation.

  3. Dans la liste des fournisseurs d’identité, supprimez le fournisseur d’identité lié à la ressource Static Web Apps.

  4. Sélectionnez Supprimer l’authentification pour supprimer l’authentification et autoriser le trafic anonyme vers votre ressource App Service.

Votre ressource App Service est désormais en mesure de recevoir le trafic anonyme.

Étapes suivantes