Share via


Elastiska gränssnitt med externa processer

I den här artikeln ger vi dig vägledning om hur du planerar för och implementerar RESTful-API:er i användarresan och gör ditt program mer motståndskraftigt mot API-fel.

Image shows interfaces with external process components

Se till att API:erna placeras korrekt

Med IEF-principer (IEF) kan du anropa ett externt system med hjälp av en teknisk PROFIL för RESTful API. Externa system styrs inte av IEF-körningsmiljön och är en potentiell felpunkt.

Så här hanterar du externa system med HJÄLP av API:er

  • När du anropar ett gränssnitt för att komma åt vissa data kontrollerar du om data kommer att driva autentiseringsbeslutet. Utvärdera om informationen är nödvändig för programmets kärnfunktioner. Till exempel en e-handel jämfört med en sekundär funktion, till exempel en administration. Om informationen inte behövs för autentisering och endast krävs för sekundära scenarier kan du överväga att flytta anropet till programlogik.

  • Om de data som krävs för autentisering är relativt statiska och små och inte har någon annan affärsorsak att externaliseras från katalogen kan du överväga att ha dem i katalogen.

  • Ta bort API-anrop från den förautentiserade sökvägen när det är möjligt. Om du inte kan det måste du placera strikta skydd för DoS-attacker (Denial of Service) och DDoS-attacker (Distributed Denial of Service) framför dina API:er. Angripare kan läsa in inloggningssidan och försöka översvämma ditt API med DoS-attacker och inaktivera ditt program. Om du till exempel använder CAPTCHA i inloggningen kan registreringsflödet vara till hjälp.

  • Använd API-anslutningsappar för det inbyggda registreringsanvändarflödet där det är möjligt för att integrera med webb-API:er antingen Efter federering med en identitetsprovider under registreringen eller innan du skapar användaren. Eftersom användarflödena redan har testats i stor utsträckning är det troligt att du inte behöver utföra funktions-, prestanda- eller skalningstester på användarflödesnivå. Du måste fortfarande testa dina program för funktioner, prestanda och skalning.

  • Tekniska profiler för Azure AD B2C RESTful API ger inget cachelagringsbeteende. I stället implementerar RESTful API-profilen en logik för återförsök och en tidsgräns som är inbyggd i principen.

  • För API:er som behöver skriva data köar du en uppgift så att sådana uppgifter körs av en bakgrundsarbetare. Tjänster som Azure-köer kan användas. Den här metoden gör att API:et returneras effektivt och ökar prestanda för principkörning.

API-felhantering

Eftersom API:erna finns utanför Azure AD B2C-systemet måste du ha rätt felhantering i den tekniska profilen. Kontrollera att slutanvändaren är korrekt informerad och att programmet kan hantera fel på ett korrekt sätt.

Hantera API-fel på ett korrekt sätt

  • Ett API kan misslyckas av olika skäl, vilket gör ditt program motståndskraftigt mot sådana fel. Returnera ett HTTP 4XX-felmeddelande om API:et inte kan slutföra begäran. I Azure AD B2C-principen försöker du hantera API:ets otillgänglighet på ett smidigt sätt och kanske återge en reducerad upplevelse.

  • Hantera tillfälliga fel på ett korrekt sätt. Med RESTful API-profilen kan du konfigurera felmeddelanden för olika kretsbrytare.

  • Övervaka och använda kontinuerlig integrering/kontinuerlig leverans (CICD) proaktivt, rotera autentiseringsuppgifterna för API-åtkomst, till exempel lösenord och certifikat som används av den tekniska profilmotorn.

API-hantering – metodtips

När du distribuerar REST-API:erna och konfigurerar den tekniska RESTful-profilen kan du genom att följa rekommenderade metodtips hjälpa dig att inte göra vanliga misstag och saker som förbises.

Hantera API:er

  • API Management (APIM) publicerar, hanterar och analyserar dina API:er. APIM hanterar även autentisering för att ge säker åtkomst till serverdelstjänster och mikrotjänster. Använd en API-gateway för att skala ut API-distributioner, cachelagring och belastningsutjämning.

  • Rekommendationen är att hämta rätt token i början av användarresan i stället för att anropa flera gånger för varje API och skydda ett Azure APIM-API.

Nästa steg