Elastiska gränssnitt med externa processer med Hjälp av Azure AD B2C
I den här artikeln hittar du vägledning om hur du planerar för och implementerar RESTful-API:er för att göra ditt program mer motståndskraftigt mot API-fel.
Se till att API-placeringen är korrekt
Använd IEF-principer (IEF) för att anropa ett externt system med hjälp av en teknisk PROFIL för RESTful API. IEF-körningsmiljön styr inte externa system, vilket är en potentiell felpunkt.
Hantera externa system med hjälp av API:er
När du anropar ett gränssnitt för att komma åt vissa data bekräftar du att data styr autentiseringsbeslutet. Utvärdera om informationen är nödvändig för programmets funktioner. 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 kan du överväga att flytta anropet till programlogik.
Om data för autentisering är relativt statiska och små och inte bör externaliseras placerar du 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 aktiverar du skydd för DoS-attacker (Denial of Service) och DDoS-attacker (Distributed Denial of Service) för API:er. Angripare kan läsa in inloggningssidan och försöka översvämma ditt API med DoS-attacker för att inaktivera ditt program. Använd till exempel Fullständigt automatiserat offentligt Turing-test för att skilja datorer och människor från varandra (CAPTCHA) i inloggnings- och registreringsflödet.
Använd API-anslutningsappar för registreringsanvändarflöden för att integrera med webb-API:er efter federering med en identitetsprovider, under registreringen eller innan du skapar användaren. Eftersom användarflöden testas behöver du inte utföra funktions-, prestanda- eller skalningstester på användarflödesnivå. 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 använder du en uppgift för att utföra dessa åtgärder av en bakgrundsarbetare. Använd tjänster som Azure-köer. Den här metoden gör att API:et returneras effektivt och ökar prestanda för principkörning.
API-fel
Eftersom API:erna finns utanför Azure AD B2C-systemet aktiverar du felhantering i den tekniska profilen. Se till att användarna är informerade och att programmet kan hantera fel på ett korrekt sätt.
Hantera API-fel
Eftersom API:er misslyckas av olika skäl gör du programmet motståndskraftigt. Returnera ett HTTP 4XX-felmeddelande om API:et inte kan slutföra begäran. I Azure AD B2C-principen försöker du hantera otillgängligheten för API:et och kanske återge en reducerad upplevelse.
Hantera tillfälliga fel på ett korrekt sätt. Använd RESTful API-profilen för att konfigurera felmeddelanden för olika kretsbrytare.
Övervaka och använda kontinuerlig integrering och kontinuerlig leverans (CICD). Rotera autentiseringsuppgifterna för API-åtkomst, till exempel lösenord och certifikat som används av den tekniska profilmotorn.
Metodtips för API-hantering
När du distribuerar REST-API:erna och konfigurerar den tekniska RESTful-profilen använder du följande metodtips för att undvika vanliga fel.
API Management
API Management (APIM) publicerar, hanterar och analyserar API:er. APIM hanterar autentisering för 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.
Vår rekommendation är att hämta rätt token i stället för att anropa flera gånger för varje API och skydda ett Azure APIM-API.