Panoramica delle estensioni di autenticazione personalizzate

Questo articolo offre una panoramica tecnica generale delle estensioni di autenticazione personalizzate per Microsoft Entra ID. Le estensioni di autenticazione personalizzate consentono di personalizzare l'esperienza di autenticazione di Microsoft Entra integrandoli con sistemi esterni.

Il diagramma seguente illustra il flusso di accesso integrato con un'estensione di autenticazione personalizzata.

Diagramma che mostra un token aumentato con attestazioni provenienti da un'origine esterna.

  1. Un utente tenta di accedere a un'app e viene reindirizzato alla pagina di accesso di Microsoft Entra.
  2. Una volta completato un determinato passaggio nell'autenticazione, viene attivato un listener di eventi.
  3. L'estensione di autenticazione personalizzata invia una richiesta HTTP all'endpoint dell'API REST. La richiesta contiene informazioni sull'evento, il profilo utente, i dati della sessione e altre informazioni di contesto.
  4. L'API REST esegue un flusso di lavoro personalizzato.
  5. L'API REST restituisce una risposta HTTP all'ID Microsoft Entra.
  6. L'estensione di autenticazione personalizzata Microsoft Entra elabora la risposta e personalizza l'autenticazione in base al tipo di evento e al payload della risposta HTTP.
  7. Un token viene restituito all'app.

Endpoint DELL'API REST dell'estensione di autenticazione personalizzata

Quando viene generato un evento, Microsoft Entra ID chiama un endpoint DELL'API REST di cui si è proprietari. La richiesta all'API REST contiene informazioni sull'evento, il profilo utente, i dati della richiesta di autenticazione e altre informazioni di contesto.

È possibile usare qualsiasi linguaggio di programmazione, framework e ambiente di hosting per creare e ospitare l'API REST delle estensioni di autenticazione personalizzate. Per un modo rapido per iniziare, usare una funzione di Azure C#. Funzioni di Azure consente di eseguire il codice in un ambiente serverless senza dover prima creare una macchina virtuale (VM) o pubblicare un'applicazione Web.

L'API REST deve gestire:

  • Convalida dei token per la protezione delle chiamate API REST.
  • Regola business
  • Convalida in ingresso e in uscita degli schemi di richiesta e risposta HTTP.
  • Controllo e registrazione.
  • Disponibilità, prestazioni e controlli di sicurezza.

Per gli sviluppatori che eseguono l'API REST in Funzioni di Azure, è consigliabile usare la libreria NuGet Microsoft.Azure.WebJobs.Extensions.AuthenticationEvents, che consente l'implementazione della convalida dei token usando le funzionalità di autenticazione predefinite di Microsoft Azure. Fornisce un modello di dati per diversi tipi di evento, avvia l'elaborazione di richieste e risposte in ingresso e in uscita, in modo da poter concentrarsi maggiormente sulla logica di business.

Proteggere l'API REST

Per garantire che le comunicazioni tra l'estensione di autenticazione personalizzata e l'API REST siano protette in modo appropriato, è necessario applicare più controlli di sicurezza.

  1. Quando l'estensione di autenticazione personalizzata chiama l'API REST, invia un'intestazione HTTP Authorization con un token di connessione rilasciato da Microsoft Entra ID.
  2. Il token di connessione contiene un'attestazione appid o azp . Verificare che la rispettiva attestazione contenga il 99045fe1-7639-4a75-9d4a-577b6ca3810f valore. Questo valore garantisce che l'ID Microsoft Entra sia quello che chiama l'API REST.
    1. Per le applicazioni V1 , convalidare l'attestazione appid .
    2. Per le applicazioni V2 , convalidare l'attestazione azp .
  3. L'attestazione del gruppo di destinatari del token aud di connessione contiene l'ID della registrazione dell'applicazione associata. L'endpoint dell'API REST deve verificare che il token di connessione venga emesso per quel gruppo di destinatari specifico.
  4. L'attestazione dell'autorità emittente del token iss di connessione contiene l'URL dell'autorità di certificazione Microsoft Entra. A seconda della configurazione del tenant, l'URL dell'autorità di certificazione sarà uno dei seguenti:
    • Forza lavoro: https://login.microsoftonline.com/{tenantId}/v2.0.
    • Cliente: https://{domainName}.ciamlogin.com/{tenantId}/v2.0.

Provider di attestazioni personalizzato

Un provider di attestazioni personalizzato è un tipo di estensione di autenticazione personalizzata che chiama un'API REST per recuperare le attestazioni da sistemi esterni. Un provider di attestazioni personalizzato esegue il mapping delle attestazioni da sistemi esterni in token e può essere assegnato a una o più applicazioni nella directory.

Altre informazioni sui provider di attestazioni personalizzati.

Inizio e invio di eventi della raccolta di attributi

Gli eventi di avvio e invio della raccolta di attributi possono essere usati con estensioni di autenticazione personalizzate per aggiungere logica prima e dopo che gli attributi vengono raccolti da un utente. Ad esempio, è possibile aggiungere un flusso di lavoro per convalidare gli attributi immessi da un utente durante l'iscrizione. L'evento OnAttributeCollectionStart si verifica all'inizio del passaggio della raccolta di attributi prima del rendering della pagina della raccolta di attributi. Consente di aggiungere azioni come il precompilato dei valori e la visualizzazione di un errore di blocco. L'evento OnAttributeCollectionSubmit viene attivato dopo che l'utente immette e invia attributi, consentendo di aggiungere azioni come la convalida delle voci o la modifica degli attributi.

Nota

Gli eventi di avvio e invio della raccolta di attributi sono attualmente disponibili solo per i flussi utente in Microsoft Entra per ID esterno nei tenant esterni. Per informazioni dettagliate, vedere Aggiungere una logica di business personalizzata.

Vedi anche