Share via


Interfacce resilienti con processi esterni

In questo articolo vengono fornite indicazioni su come pianificare e implementare le API RESTful nel percorso utente e rendere l'applicazione più resiliente agli errori dell'API.

Image shows interfaces with external process components

Assicurarsi di posizionare correttamente le API

I criteri IEF (Identity Experience Framework) consentono di chiamare un sistema esterno usando un profilo tecnico dell'API RESTful. I sistemi esterni non sono controllati dall'ambiente di runtime IEF e rappresentano un potenziale punto di errore.

Come gestire i sistemi esterni usando le API

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

  • Se i dati necessari per l'autenticazione sono relativamente statici e di piccole dimensioni e non hanno altri motivi aziendali per essere esternizzati dalla directory, è consigliabile usarli nella directory.

  • Rimuovere le chiamate API dal percorso pre-autenticato quando possibile. In caso contrario, è necessario applicare protezioni rigorose per attacchi Denial of Service (DoS) e Distributed Denial of Service (DDoS) davanti alle API. Gli utenti malintenzionati possono caricare la pagina di accesso e tentare di inondare l'API con attacchi DoS e disabilitare l'applicazione. Ad esempio, usando CAPTCHA nell'accesso, il flusso di iscrizione può essere utile.

  • Usare i connettori API del flusso utente di iscrizione predefinito, laddove possibile, 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 sono già ampiamente testati, è probabile che non sia necessario eseguire test funzionali, prestazioni o test di scalabilità a livello di flusso utente. È comunque necessario testare le applicazioni per funzionalità, prestazioni e scalabilità.

  • I profili tecnici dell'API RESTful di Azure AD B2C non forniscono alcun 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 richiedono la scrittura di dati, accodare un'attività per eseguire tali attività da un ruolo di lavoro in background. È possibile usare servizi come le code di Azure. Questa procedura renderà l'API in modo efficiente e aumenterà le prestazioni di esecuzione dei criteri.

Gestione degli errori dell'API

Poiché le API risiedono all'esterno del sistema Azure AD B2C, è necessario disporre di una corretta gestione degli errori all'interno del profilo tecnico. Assicurarsi che l'utente finale sia informato in modo appropriato e che l'applicazione possa gestire correttamente l'errore.

Come gestire correttamente gli errori dell'API

  • Un'API potrebbe non riuscire per diversi motivi, rendere l'applicazione resiliente a tali errori. Restituisce 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 normalmente l'indisponibilità dell'API e ad esempio eseguire il rendering di un'esperienza ridotta.

  • Gestire correttamente gli errori temporanei. Il profilo DELL'API RESTful consente di configurare i messaggi di errore per vari interruttore.

  • Monitorare e usare in modo proattivo l'integrazione continua/recapito continuo (CICD), ruotare le credenziali di accesso all'API, ad esempio password e certificati usati dal motore del profilo tecnico.

Gestione API - Procedure consigliate

Mentre si distribuiscono le API REST e si configura il profilo tecnico RESTful, seguendo le procedure consigliate è possibile evitare errori comuni e aspetti trascurati.

Come gestire le API

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

  • È consigliabile ottenere il token corretto all'inizio del percorso utente anziché chiamare più volte per ogni API e proteggere un'API di Gestione API di Azure.

Passaggi successivi