Sdílet prostřednictvím


Supplicant API Call Sequence

Toto téma obsahuje konkrétní posloupnost volání pro rozhraní API supplicant.

Přehled posloupnosti volání rozhraní API supplicant

Když supplicant obdrží paket protokolu EAP od poskytovatele, jako je přístupový bod, obvykle dojde k následujícímu toku volání rozhraní API supplicant.

  • Aplikace volá EapHostPeerBeginSession s konfiguračními daty EAPHost a uživatelskými daty. Úspěšné volání vrátí popisovač relace EAP_SESSION_HANDLE.
  • Každý paket přijatý supplicant je zpracován voláním EapHostPeerProcessReceivedPacket. Supplicant potom zavolá funkci odpovídající kódu akce vrácené funkcí.
  • Pokud je kód akce EapHostPeerResponseSend, pak supplicant zavolá EapHostPeerGetSendPacket získat odpověď, která se má odeslat ověřovacímu objektu.
  • Pokud je během relace vrácen kód akce supplicant EapHostPeerResponseRespond, označuje, že atributy EAP jsou k dispozici. Supplicant pak volá EapHostPeerGetResponseAttributes získat je. Tyto atributy obsahují doplňková data používaná během procesu ověřování. Jakmile supplicant dokončí zpracování atributů, volá EapHostPeerSetResponseAttributes, která aktualizuje data. Tato funkce vrátí kód akce, který určuje další akci supplicanta.
  • Pokud je kód akce EapHostPeerResponseInvokeUI supplicant vyvolá dialogové okno uživatelského rozhraní pro získání interaktivních dat od uživatele, jako jsou přihlašovací údaje nebo informace o identitě. Viz Interakce uživatelů s tokem volání rozhraní API supplicant níže.
  • Pokud je kód akce EapHostPeerResponseResult, znamená to, že výsledky ověřovací relace jsou k dispozici pro supplicant. Supplicant pak volá EapHostPeerGetResult získat výsledky. Bez ohledu na to, zda výsledky označují úspěch nebo selhání, supplicant volá EapHostPeerEndSession. V případě selhání se můžete pokusit znovu ověřit otevřením jiné relace s hostitelem EAPHost a poskytnutím nové identity nebo opětovným pokusem o ověření s původní identitou.

Interakce uživatelů s tokem volání rozhraní API supplicant

V některých případech musí supplicant získat informace od uživatele, aby pokračoval v procesu ověřování.

Následující seznam ukazuje posloupnost volání u procesu uživatelského rozhraní supplicant a EAPHost nezbytné k povolení interaktivního vstupu.

  1. Supplicant získá aktuální kontext uživatelského rozhraní voláním EapHostPeerGetUIContext.

  2. Supplicant pak odešle kontextová data uživatelského rozhraní do procesu supplicant ui.

    Poznámka

    Proces uživatelského rozhraní, který obvykle shromažďuje uživatelské rozhraní nebo zpracovává interaktivní uživatelské rozhraní, je oddělený od procesu supplicant. Oddělení těchto dvou procesů není požadavkem EAPHost, ale má to výhodu, že proces uživatelského rozhraní může pracovat s desktopem.

     

  3. Pokud supplicant chce vykreslit uživatelské rozhraní sám o sobě, zavolá EapHostPeerQueryInteractiveUIInputFields funkce získat vstupní pole pro interaktivní komponenty uživatelského rozhraní, které mají být vyvolány. Jinak se řídí tradičním modelem interaktivního uživatelského rozhraní vyvolání metody voláním EapHostPeerInvokeInteractiveUI

    Poznámka

    Pokud se vrátí EAP_E_EAPHOST_METHOD_OPERATION_NOT_SUPPORTED, musí supplicant postupovat podle tradičního modelu volání interaktivního uživatelského rozhraní metody voláním EapHostPeerInvokeInteractiveUI. Pokud dojde k chybě, EapHostPeerQueryInteractiveUIInputFields vrátí návratový kód jiný než NULL.

     

  4. Zda supplicant volá EapHostPeerQueryInteractiveUIInputFields nebo EaphostPeerInvokeInteractiveUI proces uživatelského rozhraní předává existující kontextová data a načte Eappcfg.dll. Pro shromáždění nových dat se vyvolá příslušné uživatelské rozhraní. Nová kontextová data uživatelského rozhraní, která mohou nyní obsahovat uživatelský vstup, se zkopírují a stará kontextová data se vydávají s voláním EapPeerFreeMemory.

  5. Proces uživatelského rozhraní vrátí nová kontextová data do supplicantu, který volá EapHostPeerSetUIContext nastavit.

posloupnost volání rozhraní API metod partnerského uzlu

posloupnost volání rozhraní API metody Authenticator

posloupnost volání EAPHost

supplicanty EAPHost