Tolerante interfaces met externe processen

In dit artikel bieden we u advies voor het plannen en implementeren van de RESTful-API's in het gebruikerstraject en het toleranter maken van uw toepassing voor API-fouten.

Image shows interfaces with external process components

Voor de juiste plaatsing van de API's zorgen

Met IEF-beleid (Identity Experience Framework) kunt u een extern systeem aanroepen met behulp van een technisch profiel voor een RESTful-API. Externe systemen worden niet beheerd door de IEF-runtimeomgeving en zijn een potentieel storingspunt.

Externe systemen beheren met behulp van API's

  • Bij het aanroepen van een interface voor toegang tot bepaalde gegevens, moet u controleren of de gegevens de verificatiebeslissing gaan bepalen. Beoordeel of de gegevens essentieel zijn voor de kernfunctionaliteit van de toepassing. Bijvoorbeeld een e-commerce versus een secundaire functionaliteit, zoals een administratie. Als de gegevens niet nodig zijn voor verificatie en alleen vereist is voor secundaire scenario's, kunt u overwegen de aanroep te verplaatsen naar de toepassingslogica.

  • Als de gegevens die nodig zijn voor verificatie relatief statisch en klein zijn en geen andere zakelijke reden hebben om te worden geëxternaliseerd van de directory, kunt u overwegen deze in de directory te plaatsen.

  • Verwijder waar mogelijk API-aanroepen uit het vooraf geverifieerde pad. Als dat niet mogelijk is, moet u strikte beveiliging voor denial-of-service-aanvallen (DoS) en distributed-denial-of-service-aanvallen (DDoS) plaatsen vóór uw API's. Aanvallers kunnen de aanmeldingspagina laden en proberen uw API te overspoelen met DoS-aanvallen en uw toepassing uit te schakelen. Het gebruik van CAPTCHA in uw aanmelding kan de registratiestroom helpen bijvoorbeeld.

  • Gebruik API-connectors van de ingebouwde gebruikersstroom voor registratie waar mogelijk om te integreren met web-API's na federatie met een id-provider tijdens de registratie of voordat de gebruiker wordt maakt. Omdat de gebruikersstromen al uitgebreid zijn getest, is het waarschijnlijk dat u geen functionele, prestatie- of schaaltests op gebruikersstroomniveau hoeft uit te voeren. U moet uw toepassingen nog wel testen op functionaliteit, prestaties en schaal.

  • Technische profielen van Azure AD B2C RESTful API bieden geen cachinggedrag. In plaats daarvan implementeert een RESTful-API-profiel logica voor opnieuw proberen en een time-out die is ingebouwd in het beleid.

  • Voor API's die gegevens moeten schrijven, moet u een taak in de wachtrij plaatsen om dergelijke taken te laten uitvoeren door een achtergrondtaak. Services zoals Azure-wachtrijen kunnen worden gebruikt. Met deze procedure wordt de API efficiënt geretourneerd en worden de prestaties van de beleidsuitvoering verbeterd.

API-foutafhandeling

Omdat de API's zich buiten het Azure AD B2C-systeem bevinden, is het nodig om de juiste foutafhandeling te hebben binnen het technische profiel. Zorg dat de eindgebruiker op juiste wijze wordt geïnformeerd en dat de toepassing probleemloos kan afhandelen.

API-fouten probleemloos afhandelen

  • Een API-aanroep kan om verschillende redenen mislukken, dus maak uw toepassing tolerant voor dergelijke fouten. 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 probleemloos af te handelen en mogelijk een verminderde ervaring te bieden.

  • Tijdelijke fouten probleemloos afhandelen. Met het RESTful API-profiel kunt u foutberichten configureren voor verschillende circuitonderbrekers.

  • Bewaak en gebruik continue integratie/continue levering (CICD) proactief en roteer de aanmeldingsgegevens voor API-toegang, zoals wachtwoorden en certificaten die worden gebruikt door de engine voor technische profielen.

API-beheer - best practices

Terwijl u de REST API's implementeert en het RESTful technische profiel configureert, helpt het volgen van de aanbevolen best practices voorkomen dat u veelvoorkomende fouten maakt en dingen over het hoofd ziet.

API's beheren

  • API Management (APIM) publiceert, beheert en analyseert uw API's. APIM handels ook verificatie af om beveiligde toegang te bieden tot back-endservices en microservices. Gebruik een API-gateway om API-implementaties, caching en taakverdeling te schalen.

  • Het wordt aanbevolen om het juiste token op te halen aan het begin van het gebruikerstraject in plaats van meerdere keren aan te roepen voor elke API en een Azure APIM-API te beveiligen.

Volgende stappen