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.
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.