Interfaces résilientes avec processus externes
Dans cet article, nous vous proposons des conseils sur la façon de planifier et d’implémenter les API RESTful dans le parcours utilisateur et de rendre votre application plus résiliente vis-à-vis des défaillances de l’API.
Garantir le positionnement correct des API
Les stratégies Identity Experience Framework (IEF) vous permettent d’appeler un système externe à l’aide d’un profil technique de l’API RESTful. Les systèmes externes ne sont pas contrôlés par l’environnement du runtime IEF et constituent un possible point de défaillance.
Gestion des systèmes externes à l’aide d’API
Lorsque vous appelez une interface pour accéder à certaines données, vérifiez si les données vont motiver la décision d’authentification. Évaluez si les informations sont essentielles pour les fonctionnalités principales de l’application. Par exemple, un e-commerce par rapport à une fonctionnalité secondaire comme une administration. Si les informations ne sont pas nécessaires à l’authentification et ne sont requises que pour les scénarios secondaires, envisagez de déplacer l’appel vers la logique d’application.
Si les données nécessaires pour l’authentification sont relativement statiques et peu volumineuses et qu’elles n’ont aucune autre raison commerciale d’être externalisées du répertoire, envisagez de les faire figurer dans le répertoire.
Si possible, supprimez les appels d’API du chemin d’accès préauthentifié. Si vous ne le pouvez pas, vous devez mettre en place des protections strictes contre les attaques par déni de service (DoS) et par déni de service distribué (DDoS) devant vos API. Les attaquants peuvent charger la page de connexion, tenter de saturer votre API avec des attaques DoS et la désactiver. Par exemple, l’utilisation de CAPTCHA dans votre flux de connexion ou d’inscription peut vous aider.
Utilisez les connecteurs d’API du flux d’utilisateurs intégré à l’inscription chaque fois que cela est possible pour intégrer les API web, soit après la fédération avec un fournisseur d’identité pendant l’inscription, soit avant la création de l’utilisateur. Comme les flux d’utilisateurs sont déjà largement testés, il est probable que vous n’ayez pas à effectuer de tests fonctionnels, de performance ou d’échelle au niveau des flux d’utilisateurs. Vous devez toujours tester vos applications sur le plan des fonctionnalités, des performances et de la mise à l’échelle.
Les profils techniques de l’API RESTful Azure AD B2C ne fournissent aucun comportement de mise en cache. Au lieu de cela, le profil d’API RESTful implémente une logique de nouvelle tentative et un délai d’expiration intégré à la stratégie.
Pour les API qui ont besoin d’écrire des données, mettez en file d’attente une tâche pour que ces tâches soient exécutées par un Worker en arrière-plan. Vous pouvez utiliser des services tels que Files d’attente Azure. Cette pratique va retourner l’API efficacement, ce qui augmentera les performances d’exécution de la stratégie.
Gestion des erreurs d’API
Comme les API se trouvent en dehors du système Azure AD B2C, il est nécessaire de disposer d’une gestion des erreurs appropriée au sein du profil technique. Assurez-vous que l’utilisateur final est informé de manière appropriée et que l’application peut traiter les échecs correctement.
Gestion efficace des erreurs d’API
Une API pouvant échouer pour diverses raisons, faites en sorte que votre application soit résiliente face à de tels échecs. Renvoyez un message d’erreur HTTP 4XX si l’API ne parvient pas à terminer la requête. Dans la stratégie d’Azure AD B2C, essayez de gérer correctement l’indisponibilité de l’API et peut-être de rendre une expérience réduite.
Gérez correctement les erreurs temporaires. Le profil d’API RESTful vous permet de configurer des messages d’erreur pour différents disjoncteurs.
Surveillez et utilisez de manière proactive l’intégration continue et la livraison continue (CI/CD) et alternez les informations d’identification d’accès à l’API, telles que les mots de passe et les certificats utilisés par le moteur de profil technique.
Gestion des API – meilleures pratiques
Pendant que vous déployez les API REST et que vous configurez le profil technique RESTful, le respect des meilleures pratiques recommandées vous aidera à ne pas commettre d’erreurs courantes et à ne pas négliger certains aspects.
Gestion des API
Gestion des API (APIM) publie, gère et analyse vos API. APIM gère également l’authentification pour fournir un accès sécurisé aux services principaux et aux microservices. Utilisez une passerelle API pour effectuer un scale-out des déploiements d’API, de la mise en cache et de l’équilibrage de charge.
Il est recommandé d’obtenir le bon jeton au début du parcours utilisateur au lieu d’appeler plusieurs fois pour chaque API et de sécuriser une API Azure APIM.