Tolerante interfaces met externe processen met behulp van Azure AD B2C
In dit artikel vindt u richtlijnen voor het plannen en implementeren van de RESTful-API's om uw toepassing toleranter te maken voor API-fouten.
Zorg voor de juiste API-plaatsing
Gebruik IEF-beleid (Identity Experience Framework) om een extern systeem aan te roepen met behulp van een RESTful API-technisch profiel. De IEF-runtimeomgeving heeft geen controle over externe systemen. Dit is een potentieel storingspunt.
Externe systemen beheren met behulp van API's
Terwijl u een interface aanroept voor toegang tot bepaalde gegevens, controleert u of de gegevens de verificatiebeslissing bepalen. Beoordeel of de informatie essentieel is voor de functionaliteit van de toepassing. Bijvoorbeeld een e-commerce versus een secundaire functionaliteit, zoals een administratie. Als de informatie niet nodig is voor verificatie, kunt u overwegen de aanroep naar de toepassingslogica te verplaatsen.
Als de gegevens voor verificatie relatief statisch en klein zijn en niet moeten worden ge externaliseerd, plaatst u deze in de map.
Verwijder, indien mogelijk, API-aanroepen uit het vooraf geverifieerde pad. Als u dat niet kunt, schakelt u beveiliging in voor Denial of Service-aanvallen (DoS) en DDoS-aanvallen (Distributed Denial of Service) voor API's. Aanvallers kunnen de aanmeldingspagina laden en proberen uw API te overspoelen met DoS-aanvallen om uw toepassing uit te schakelen. Gebruik bijvoorbeeld volledig geautomatiseerde openbare turingtest om computers en mensen apart (CAPTCHA) te vertellen in uw aanmeldings- en registratiestroom.
Gebruik API-connectors van registratiegebruikersstromen om te integreren met web-API's na federatie met een id-provider, tijdens de registratie of voordat u de gebruiker maakt. Omdat gebruikersstromen worden getest, hoeft u geen functionaliteit, prestaties of schaaltests op gebruikersstroomniveau uit te voeren. Test uw toepassingen voor functionaliteit, prestaties en schaal.
Technische profielen van Azure AD B2C RESTful API bieden geen cachinggedrag. In plaats daarvan implementeert RESTful API-profiel een logica voor opnieuw proberen en een time-out die is ingebouwd in het beleid.
Voor API's die gegevens moeten schrijven, gebruikt u een taak om deze acties te laten uitvoeren door een achtergrondmedewerker. Gebruik services zoals Azure-wachtrijen. Door deze procedure wordt de API efficiƫnt geretourneerd en worden de prestaties van de beleidsuitvoering verhoogd.
API-fouten
Omdat de API's zich buiten het Azure AD B2C-systeem bevinden, schakelt u foutafhandeling in het technische profiel in. Zorg ervoor dat gebruikers op de hoogte zijn en dat de toepassing probleemloos kan omgaan met fouten.
API-fouten verwerken
Omdat API's om verschillende redenen mislukken, maakt u uw toepassing tolerant. Retourneer een HTTP 4XX-foutbericht als de API de aanvraag niet kan voltooien. Probeer in het Azure AD B2C-beleid de onbeschikbaarheid van de API af te handelen en mogelijk een verminderde ervaring te genereren.
Tijdelijke fouten probleemloos afhandelen. Gebruik het RESTful API-profiel om foutberichten voor verschillende circuitonderbrekers te configureren.
Continue integratie en continue levering (CICD) bewaken en gebruiken. Draai de API-toegangsreferenties, zoals wachtwoorden en certificaten die worden gebruikt door de technische profielengine.
Best practices voor API Management
Wanneer u de REST API's implementeert en het RESTful-technische profiel configureert, gebruikt u de volgende aanbevolen procedures om veelvoorkomende fouten te voorkomen.
API Management
API Management (APIM) publiceert, beheert en analyseert API's. APIM verwerkt verificatie voor beveiligde toegang tot back-endservices en microservices. Gebruik een API-gateway om API-implementaties, caching en taakverdeling te schalen.
We raden u aan om het juiste token op te halen, in plaats van meerdere keren aan te roepen voor elke API en een Azure APIM-API te beveiligen.