.NET en action : la passerelle
De nos jours, nombre de systèmes sont basés sur les APIs, et notamment les microservices, qui permettent un découpage optimal des traitements. Pour autant, la multiplication des points d’entrée rend également plus difficile la sécurisation d’un système, chacun représentant une vulnérabilité potentielle.
Pour parer à ce problème, il n’est pas rare de mettre en place une passerelle, chargée de faire le lien entre un système interne et les appelants externes.
En combinant .NET et Azure, il est plus facile que jamais de mettre en place ce type d’architecture.
Nous allons ici en explorer les 3 points cruciaux :
- L’authentification
- La passerelle
- Les APIs de traitement

Authentification
En amont de toute communication, il est nécessaire de sécuriser la passerelle via un système d’authentification.
Dans ce but, Azure met à disposition Microsoft Entra ID (anciennement Azure AD), basé sur OAuth2, facilitant grandement la gestion de l’authentification.
Clients
Dans Entra ID, il est possible de créer un client, possédant notamment un identifiant (client ID) et un mot de passe (client secret).
L’appelant, comme l’API appelée, se verront chacun attribuer un client qui leur permettra de s’identifier.
Il suffira ensuite de paramétrer, dans Azure, les permissions des clients.
L’on pourra ainsi autoriser le client de l’appelant à requêter le client de l’API.
Identification
L’API Entra ID nous permet de récupérer un token JWT, en fournissant les informations suivantes :
- Client ID
- Client secret
- Scope (client ID de l’API cible)
Ce token, contenant les données d’identification de l’appelant, sera à transmettre à l’API cible.
Il lui permettra d’identifier l’appelant, et donc de refuser automatiquement toute requête provenant d’une source non autorisée.
Passerelle
Une fois la requête acceptée par la passerelle, elle peut être transmise aux APIs internes en toute sécurité.
Un choix s’offre alors quant au type de routage à développer, pour répondre au mieux aux besoins.
Routage générique
Dans le cas le plus simple, où la passerelle n’est là que pour centraliser la communication vers l’extérieur dans un but de sécurité, un routage générique est suffisant.
Via un paramétrage en base ou en configuration de l’application, l’on liste les correspondances entre URL entrante et URL sortante.
La passerelle n’aura alors plus qu’à vérifier si l’URL appelée est configurée en tant que route entrante, et à appeler l’URL sortante correspondante le cas échéant.
Routage spécifique
Pour des besoins plus complexes, la passerelle peut effectuer un pré-traitement de la requête avant de la transmettre.
L’on pense notamment au cas de route spécifique par client, dont le traitement serait commun.
Il suffit d’implémenter une traduction des requêtes spécifiques, en fonction de la route, vers une requête générique qui sera transmise à l’API de traitement.
De manière similaire, il est également envisageable de prévoir une consolidation des données, afin d’assurer un traitement optimal.
En cas de traduction et/ou de consolidation, la réponse de l’API de traitement devra également être traitée avant d’être transmise à l’appelant.
Traitement
Une fois la requête validée par la passerelle, elle est transmise aux APIs de traitement, chacune spécialisée dans un domaine.
Dans le cas d’un système naissant, chaque API s’occupe de tous les traitements.
Au contraire, si la passerelle s’inscrit dans la refonte de l’existant, particulièrement dans le cas d’un écosystème ancien/complexe, ces APIs peuvent être amenées, durant leurs traitements, à interroger d’autres systèmes internes.
Une fois un traitement terminé, l’API répond à la passerelle, qui s’occupe de faire le lien avec l’appelant.
ACSEO est une agence digitale qui vous accompagne dans le développement de vos projets avec la technologie .NET, grâce à une équipe d’experts en interne maîtrisant les solutions web et applicatives sur mesure. Spécialistes du développement .NET, nous concevons des plateformes performantes, évolutives et sécurisées, adaptées à vos besoins. Contactez-nous pour donner vie à votre projet avec une expertise technique de pointe !