Sequenza di chiamata API supplicante
In questo argomento viene fornita la sequenza di chiamata specifica per l'API supplicante.
Panoramica della sequenza di chiamate dell'API Supplicant
Quando il supplicante 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 riuscita restituisce un handle di sessione EAP_SESSION_HANDLE .
- Ogni pacchetto ricevuto dal supplicante viene elaborato da una chiamata a EapHostPeerProcessReceivedPacket. La supplicante chiama quindi la funzione corrispondente al codice 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 sono disponibili attributi EAP. La supplicante 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 supplicante 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 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 l'esito positivo o negativo, la supplicante chiama EapHostPeerEndSession. In caso di errore, è possibile tentare di ripetere l'autenticazione aprendo un'altra sessione con EAPHost e fornendo una nuova identità o provando nuovamente l'autenticazione con l'identità originale.
Interazione dell'utente con il flusso di chiamata api supplicante
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 necessario per abilitare l'input interattivo.
Il supplicant ottiene il contesto dell'interfaccia utente corrente chiamando EapHostPeerGetUIContext.
La supplicante invia quindi i dati del contesto dell'interfaccia utente al processo supplicante dell'interfaccia utente.
Nota
Il processo dell'interfaccia utente, che in genere raccoglie l'interfaccia utente o gestisce l'interfaccia utente interattiva, è separata dal processo di 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.
Se il supplicant vuole eseguire il rendering dell'interfaccia utente da solo, chiama la funzione EapHostPeerQueryInteractiveUIInputFields 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.
Se il 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 del 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.
Il processo dell'interfaccia utente restituisce i nuovi dati di contesto al supplicante, che chiama EapHostPeerSetUIContext per impostarlo.
Argomenti correlati