다음을 통해 공유


지원되는 API 호출 시퀀스

이 항목에서는 지원 API에 대한 특정 호출 시퀀스를 제공합니다.

지원되는 API 호출 시퀀스 개요

지원자가 액세스 지점과 같은 공급자로부터 EAP 패킷을 받으면 일반적으로 다음과 같은 지원 API 호출 흐름이 발생합니다.

  • 애플리케이션은 EAPHost 구성 데이터 및 사용자 데이터를 사용하여 EapHostPeerBeginSession 을 호출합니다. 호출이 성공하면 EAP_SESSION_HANDLE 세션 핸들이 반환됩니다.
  • 지원자가 받은 각 패킷은 EapHostPeerProcessReceivedPacket 호출로 처리됩니다. 그런 다음, 지원자는 함수에서 반환된 작업 코드에 해당하는 함수를 호출합니다.
  • 작업 코드가 EapHostPeerResponseSend인 경우 지원자는 EapHostPeerGetSendPacket 을 호출하여 인증자에게 보낼 응답을 가져옵니다.
  • 세션 중에 지원자에게 반환된 작업 코드가 EapHostPeerResponseRespond이면 EAP 특성을 사용할 수 있음을 나타냅니다. 그런 다음, 지원자는 EapHostPeerGetResponseAttributes 를 호출하여 가져옵니다. 이러한 특성에는 인증 프로세스 중에 사용되는 추가 데이터가 포함됩니다. 지원자가 특성 처리를 완료한 후 데이터를 업데이트하는 EapHostPeerSetResponseAttributes 를 호출합니다. 이 함수는 지원자의 다음 작업을 결정하는 작업 코드를 반환합니다.
  • 작업 코드가 EapHostPeerResponseInvokeUI 인 경우 지원자는 사용자 인터페이스 대화 상자를 발생시켜 자격 증명 또는 ID 정보와 같은 사용자로부터 대화형 데이터를 가져옵니다. 아래의 Supplicant API 호출 흐름과의 사용자 상호 작용을 참조하세요.
  • 작업 코드가 EapHostPeerResponseResult인 경우 인증 세션의 결과를 지원자가 사용할 수 있음을 나타냅니다. 그런 다음, 지원자는 EapHostPeerGetResult 를 호출하여 결과를 얻습니다. 결과가 성공 또는 실패를 나타내는지 여부에 관계없이 지원자는 EapHostPeerEndSession을 호출합니다. 오류가 발생하는 경우 EAPHost를 사용하여 다른 세션을 열고 새 ID를 제공하거나 원래 ID로 인증을 다시 시도하여 다시 인증을 시도할 수 있습니다.

Supplicant API 호출 흐름과의 사용자 상호 작용

경우에 따라 인증 프로세스를 계속하려면 지원자가 사용자로부터 정보를 가져와야 합니다.

다음 목록에서는 대화형 입력을 사용하도록 설정하는 데 필요한 지원자 및 EAPHost UI 프로세스에 대한 호출 시퀀스를 보여 줍니다.

  1. 지원자는 EapHostPeerGetUIContext를 호출하여 현재 사용자 인터페이스 컨텍스트를 가져옵니다.

  2. 그런 다음, 지원자는 UI 컨텍스트 데이터를 지원 UI 프로세스로 보냅니다.

    참고

    일반적으로 UI를 수집하거나 대화형 UI를 처리하는 UI 프로세스는 지원 프로세스와 별개입니다. 두 프로세스를 분리하는 것은 EAPHost의 요구 사항은 아니지만 이렇게 하면 UI 프로세스가 데스크톱과 상호 작용할 수 있다는 이점이 있습니다.

     

  3. 지원자가 UI를 단독으로 렌더링하려는 경우 EapHostPeerQueryInteractiveUIInputFields 함수를 호출하여 대화형 UI 구성 요소를 발생시킬 입력 필드를 가져옵니다. 그렇지 않으면 EapHostPeerInvokeInteractiveUI를 호출하여 메서드 대화형 UI를 호출하는 기존 모델을 따릅니다.

    참고

    EAP_E_EAPHOST_METHOD_OPERATION_NOT_SUPPORTED 반환되는 경우 지원자는 EapHostPeerInvokeInteractiveUI를 호출하여 메서드 대화형 UI를 호출하는 기존 모델을 따라야 합니다. 오류가 있는 경우 EapHostPeerQueryInteractiveUIInputFieldsNULL 이외의 반환 코드를 반환합니다.

     

  4. 지원자가 EapHostPeerQueryInteractiveUIInputFields 또는 EaphostPeerInvokeInteractiveUI 를 호출하는지 여부에 관계없이 UI 프로세스는 기존 컨텍스트 데이터를 전달하고 Eappcfg.dll 로드합니다. 새 데이터를 수집하기 위해 적절한 UI가 발생합니다. 이제 사용자 입력을 포함할 수 있는 새 UI 컨텍스트 데이터가 복사되고 EapPeerFreeMemory를 호출하여 이전 컨텍스트 데이터가 릴리스됩니다.

  5. UI 프로세스는 EapHostPeerSetUIContext 를 호출하여 설정하는 새 컨텍스트 데이터를 supplicant에 반환합니다.

피어 메서드 API 호출 시퀀스

Authenticator 메서드 API 호출 시퀀스

EAPHost 호출 시퀀스

EAPHost Supplicants