Condividi tramite


Interfacce resilienti con processi esterni tramite Azure AD B2C

In questo articolo sono disponibili indicazioni su come pianificare e implementare le API RESTful per rendere l'applicazione più resiliente agli errori dell'API.

Assicurarsi che la posizione dell'API sia corretta

Usare i criteri IEF (Identity Experience Framework) per chiamare un sistema esterno usando un profilo tecnico dell'API RESTful. L'ambiente di runtime IEF non controlla i sistemi esterni, ovvero un potenziale punto di errore.

Gestire sistemi esterni usando le API

Durante la chiamata a un'interfaccia per accedere a determinati dati, verificare che i dati determinano la decisione di autenticazione. Valutare se le informazioni sono essenziali per la funzionalità dell'applicazione. Ad esempio, un e-commerce rispetto a una funzionalità secondaria, ad esempio un'amministrazione. Se le informazioni non sono necessarie per l'autenticazione, è consigliabile spostare la chiamata alla logica dell'applicazione.

Se i dati per l'autenticazione sono relativamente statici e di piccole dimensioni e non devono essere esternalizzati, inserirli nella directory.

Quando possibile, rimuovere le chiamate API dal percorso preautenticato. In caso contrario, abilitare le protezioni per gli attacchi Denial of Service (DoS) e Distributed Denial of Service (DDoS) per le API. Gli utenti malintenzionati possono caricare la pagina di accesso e provare a inondare l'API con attacchi DoS per disabilitare l'applicazione. Ad esempio, usare test di turing pubblico completamente automatizzato per indicare ai computer e agli esseri umani (CAPTCHA) nel flusso di accesso e iscrizione.

Usare i connettori API dei flussi utente di iscrizione per l'integrazione con le API Web dopo la federazione con un provider di identità, durante l'iscrizione o prima di creare l'utente. Poiché i flussi utente vengono testati, non è necessario eseguire test funzionali, prestazioni o test di scalabilità a livello di flusso utente. Testare le applicazioni per funzionalità, prestazioni e scalabilità.

I profili tecnici dell'API RESTful di Azure AD B2C non forniscono un comportamento di memorizzazione nella cache. Il profilo dell'API RESTful implementa invece una logica di ripetizione dei tentativi e un timeout integrato nei criteri.

Per le API che devono scrivere dati, usare un'attività per eseguire queste azioni da un ruolo di lavoro in background. Usare servizi come le code di Azure. Questa procedura rende l'API restituita in modo efficiente e aumenta le prestazioni di esecuzione dei criteri.

Errori dell'API

Poiché le API si trovano all'esterno del sistema Azure AD B2C, abilitare la gestione degli errori nel profilo tecnico. Assicurarsi che gli utenti siano informati e che l'applicazione possa gestire correttamente l'errore.

Gestire gli errori dell'API

Poiché le API hanno esito negativo per vari motivi, rendere resiliente l'applicazione. Restituire un messaggio di errore HTTP 4XX se l'API non è in grado di completare la richiesta. Nei criteri di Azure AD B2C provare a gestire l'indisponibilità dell'API e ad esempio eseguire il rendering di un'esperienza ridotta.

Gestire gli errori temporanei in modo corretto. Usare il profilo DELL'API RESTful per configurare i messaggi di errore per vari interruttore.

Monitorare e usare l'integrazione continua e il recapito continuo (CICD). Ruotare le credenziali di accesso all'API, ad esempio password e certificati usati dal motore del profilo tecnico.

Procedure consigliate per la gestione API

Durante la distribuzione delle API REST e la configurazione del profilo tecnico RESTful, usare le procedure consigliate seguenti per evitare errori comuni.

Gestione API

Gestione API (GESTIONE API) pubblica, gestisce e analizza le API. Gestione API gestisce l'autenticazione per l'accesso sicuro ai servizi back-end e ai microservizi. Usare un gateway API per la scalabilità delle distribuzioni di API, la memorizzazione nella cache e il bilanciamento del carico.

È consigliabile ottenere il token corretto, anziché chiamare più volte per ogni API e proteggere un'API di Gestione API di Azure.

Passaggi successivi