Udostępnij za pośrednictwem


Sekwencja wywołań interfejsu API Supplicant

Ten temat zawiera konkretną sekwencję wywołań dla interfejsu API obsługi.

Omówienie Supplicant API Call Sequence (Sekwencja wywołań interfejsu API Supplicant)

Gdy supplicant odbiera pakiet EAP od dostawcy, takiego jak punkt dostępu, zwykle występuje następujący przepływ wywołania interfejsu API obsługi.

  • Aplikacja wywołuje EapHostPeerBeginSession z danymi konfiguracji EAPHost i danymi użytkownika. Pomyślne wywołanie zwraca dojście do sesji EAP_SESSION_HANDLE.
  • Każdy pakiet odbierany przez supplicant jest przetwarzany przez wywołanie EapHostPeerProcessReceivedPacket. Następnie supplicant wywołuje funkcję odpowiadającą kodowi akcji zwróconego przez funkcję.
  • Jeśli kod akcji jest EapHostPeerResponseSend, to supplicant wywołuje EapHostPeerGetSendPacket uzyskać odpowiedź, która ma zostać wysłana do wystawcy uwierzytelniania.
  • Jeśli podczas sesji kod akcji zwrócony do supplicant jest EapHostPeerResponseRespond, wskazuje, że atrybuty protokołu EAP są dostępne. Następnie supplicant wywołuje EapHostPeerGetResponseAttributes, aby je uzyskać. Te atrybuty zawierają dane uzupełniające używane podczas procesu uwierzytelniania. Po zakończeniu przetwarzania atrybutów wywołuje EapHostPeerSetResponseAttributes, które aktualizują dane. Ta funkcja zwraca kod akcji, który określa następną akcję supplicant.
  • Jeśli kod akcji jest EapHostPeerResponseInvokeUI supplicant zgłasza okno dialogowe interfejsu użytkownika w celu uzyskania interaktywnych danych od użytkownika, takich jak poświadczenia lub informacje o tożsamości. Zobacz Interakcja użytkownika z przepływem wywołań interfejsu API Supplicant poniżej.
  • Jeśli kod akcji jest EapHostPeerResponseResult, wskazuje, że wyniki sesji uwierzytelniania są dostępne dla przesyłania. Następnie supplicant wywołuje EapHostPeerGetResult w celu uzyskania wyników. Niezależnie od tego, czy wyniki wskazują powodzenie lub niepowodzenie, supplicant wywołuje EapHostPeerEndSession. W przypadku niepowodzenia można ponowić próbę uwierzytelnienia, otwierając inną sesję z hostem EAPHost i podając nową tożsamość lub ponownie próbując uwierzytelnić oryginalną tożsamość.

Interakcja użytkownika z przepływem wywołań interfejsu API Supplicant

W niektórych przypadkach supplicant musi uzyskać informacje od użytkownika, aby kontynuować proces uwierzytelniania.

Poniższa lista przedstawia sekwencję wywołań w procesie obsługi i interfejsu użytkownika EAPHost niezbędnych do włączenia interakcyjnych danych wejściowych.

  1. Supplicant uzyskuje bieżący kontekst interfejsu użytkownika przez wywołanie EapHostPeerGetUIContext.

  2. Następnie supplicant wysyła dane kontekstu interfejsu użytkownika do procesu interfejsu użytkownika.

    Nuta

    Proces interfejsu użytkownika, który zwykle zbiera interfejs użytkownika lub obsługuje interaktywny interfejs użytkownika, jest oddzielony od procesu obsługi. Oddzielenie tych dwóch procesów nie jest wymaganiem funkcji EAPHost, ale ma to zaletę umożliwienia procesowi interfejsu użytkownika interakcji z pulpitem.

     

  3. Jeśli supplicant chce renderować interfejs użytkownika samodzielnie, wywołuje EapHostPeerQueryInteractiveUIInputFields funkcji w celu uzyskania pól wejściowych dla interaktywnych składników interfejsu użytkownika, które mają zostać podniesione. W przeciwnym razie jest zgodny z tradycyjnym modelem wywoływania interaktywnego interfejsu użytkownika metody przez wywołanie EapHostPeerInvokeInteractiveUI

    Nuta

    Jeśli EAP_E_EAPHOST_METHOD_OPERATION_NOT_SUPPORTED zostanie zwrócona, supplicant musi postępować zgodnie z tradycyjnym modelem wywoływania interaktywnego interfejsu użytkownika metody wywoływania przez wywołanie EapHostPeerInvokeInteractiveUI. Jeśli wystąpi błąd, EapHostPeerQueryInteractiveUIInputFields zwróci kod powrotny inny niż null.

     

  4. Czy supplicant wywołuje EapHostPeerQueryInteractiveUIInputFields lub EaphostPeerInvokeInteractiveUI proces interfejsu użytkownika przekazuje istniejące dane kontekstu i ładuje Eappcfg.dll. W celu zebrania nowych danych zostanie zgłoszony odpowiedni interfejs użytkownika. Nowe dane kontekstowe interfejsu użytkownika, które mogą teraz zawierać dane wejściowe użytkownika, są kopiowane, a stare dane kontekstu są zwalniane z wywołaniem EapPeerFreeMemory.

  5. Proces interfejsu użytkownika zwraca nowe dane kontekstu do supplicant, który wywołuje EapHostPeerSetUIContext, aby je ustawić.

sekwencja wywołań interfejsu API metody równorzędnej

sekwencji wywoła ń interfejsu API metody Authenticator

sekwencji wywołań EAPHost

Supplicants EAPHost