Condividi tramite


Sequenza di chiamate API supplicant

In questo argomento viene fornita la sequenza di chiamata specifica per l'API supplicant.

Panoramica della sequenza di chiamate api supplicant

Quando il supplicant riceve un pacchetto EAP da un provider, ad esempio un punto di accesso, si verifica in genere il flusso di chiamata API supplicante seguente.

  • L'applicazione chiama EapHostPeerBeginSession con dati di configurazione EAPHost e dati utente. Una chiamata con esito positivo restituisce un handle di sessione EAP_SESSION_HANDLE.
  • Ogni pacchetto ricevuto dal supplicant viene elaborato da una chiamata a EapHostPeerProcessReceivedPacket. Il supplicant chiama quindi la funzione corrispondente al codice di azione restituito dalla funzione .
  • Se il codice azione è EapHostPeerResponseSend, la supplicante chiama EapHostPeerGetSendPacket per ottenere la risposta da inviare all'autenticatore.
  • Se durante la sessione, il codice azione restituito al supplicant è EapHostPeerResponseRespond, indica che gli attributi EAP sono disponibili. Il supplicant chiama quindi EapHostPeerGetResponseAttributes per ottenerli. Questi attributi contengono dati supplementari usati durante il processo di autenticazione. Al termine dell'elaborazione degli attributi, la supplicant chiama EapHostPeerSetResponseAttributes che aggiorna i dati. Questa funzione restituisce un codice azione che determina l'azione successiva della supplicante.
  • Se il codice azione è EapHostPeerResponseInvokeUI il supplicant genera una finestra di dialogo dell'interfaccia utente per ottenere dati interattivi dall'utente, ad esempio credenziali o informazioni sull'identità. Vedere User Interaction with the Supplicant API Call Flow (Interazione dell'utente con il flusso di chiamata api supplicante) di seguito.
  • Se il codice azione è EapHostPeerResponseResult, indica che i risultati della sessione di autenticazione sono disponibili per il supplicante. Il supplicant chiama quindi EapHostPeerGetResult per ottenere i risultati. Indipendentemente dal fatto che i risultati indichino esito positivo o negativo, le chiamate suppliche EapHostPeerEndSession. In caso di errore, è possibile tentare di ripetere l'autenticazione aprendo un'altra sessione con EAPHost e fornendo una nuova identità o tentando nuovamente l'autenticazione con l'identità originale.

Interazione dell'utente con il flusso di chiamata dell'API Supplicant

In alcuni casi, il supplicante deve ottenere informazioni dall'utente per continuare il processo di autenticazione.

L'elenco seguente illustra la sequenza di chiamate nel processo supplicante e dell'interfaccia utente EAPHost necessaria per abilitare l'input interattivo.

  1. Il supplicant ottiene il contesto dell'interfaccia utente corrente chiamando EapHostPeerGetUIContext.

  2. La supplicante invia quindi i dati del contesto dell'interfaccia utente al processo di interfaccia utente supplicante.

    Nota

    Il processo dell'interfaccia utente, che in genere raccoglie l'interfaccia utente o gestisce l'interfaccia utente interattiva, è separato dal processo supplicante. La separazione dei due processi non è un requisito di EAPHost, ma in questo modo ha il vantaggio di consentire al processo dell'interfaccia utente di interagire con il desktop.

     

  3. Se il supplicant vuole eseguire il rendering dell'interfaccia utente da solo, chiama il EapHostPeerQueryInteractiveUIInputFields funzione per ottenere i campi di input per i componenti interattivi dell'interfaccia utente da sollevare. In caso contrario, segue il modello tradizionale di richiamo dell'interfaccia utente interattiva del metodo chiamando EapHostPeerInvokeInteractiveUI

    Nota

    Se viene restituito EAP_E_EAPHOST_METHOD_OPERATION_NOT_SUPPORTED, il supplicante deve seguire il modello tradizionale di richiamo dell'interfaccia utente interattiva del metodo chiamando EapHostPeerInvokeInteractiveUI. Se si verifica un errore, EapHostPeerQueryInteractiveUIInputFields restituirà un codice restituito diverso da NULL.

     

  4. Se la supplicante chiama EapHostPeerQueryInteractiveUIInputFields o EaphostPeerInvokeInteractiveUI il processo dell'interfaccia utente passa i dati di contesto esistenti e carica Eappcfg.dll. Viene generata l'interfaccia utente appropriata per raccogliere i nuovi dati. I nuovi dati di contesto dell'interfaccia utente, che ora possono contenere l'input dell'utente, vengono copiati e i dati di contesto precedenti vengono rilasciati con una chiamata a EapPeerFreeMemory.

  5. Il processo dell'interfaccia utente restituisce i nuovi dati di contesto al supplicante, che chiama EapHostPeerSetUIContext per impostarlo.

sequenza di chiamata api del metodo peer

sequenza di chiamate dell'API del metodo Authenticator

sequenza di chiamata EAPHost

supplicanti EAPHost