Compartilhar via


Sequência de chamadas à API suplicante

Este tópico fornece a sequência de chamadas específica para a API suplicante.

Visão geral da sequência de chamadas à API supplicante

Quando o suplicante recebe um pacote EAP de um provedor, como um ponto de acesso, o fluxo de chamada à API suplicante a seguir normalmente ocorre.

  • O aplicativo chama EapHostPeerBeginSession com dados de configuração EAPHost e dados do usuário. Uma chamada bem-sucedida retorna um identificador de sessão EAP_SESSION_HANDLE .
  • Cada pacote recebido pelo suplicante é processado por uma chamada para EapHostPeerProcessReceivedPacket. Em seguida, o suplicante chama a função correspondente ao código de ação retornado pela função .
  • Se o código de ação for EapHostPeerResponseSend, o supplicante chamará EapHostPeerGetSendPacket para obter a resposta a ser enviada ao autenticador.
  • Se durante a sessão, o código de ação retornado ao supplicante for EapHostPeerResponseRespond, ele indicará que os atributos EAP estão disponíveis. Em seguida, o suplicante chama EapHostPeerGetResponseAttributes para obtê-los. Esses atributos contêm dados complementares usados durante o processo de autenticação. Depois que supplicant concluir o processamento dos atributos, ele chamará EapHostPeerSetResponseAttributes , que atualiza os dados. Essa função retorna um código de ação que determina a próxima ação do suplicante.
  • Se o código de ação for EapHostPeerResponseInvokeUI , o supplicante gerará uma caixa de diálogo de interface do usuário para obter dados interativos do usuário, como credenciais ou informações de identidade. Consulte Interação do usuário com o Fluxo de Chamadas de API Supplicante abaixo.
  • Se o código de ação for EapHostPeerResponseResult, ele indicará que os resultados da sessão de autenticação estão disponíveis para o supplicante. O supplicante chama EapHostPeerGetResult para obter os resultados. Independentemente de os resultados indicarem êxito ou falha, o suplicante chama EapHostPeerEndSession. No caso de falha, a nova autenticação pode ser tentada abrindo outra sessão com o EAPHost e fornecendo uma nova identidade ou tentando a autenticação com a identidade original novamente.

Interação do usuário com o fluxo de chamada de API supplicante

Em determinados casos, o suplicante precisa obter informações do usuário para continuar o processo de autenticação.

A lista a seguir demonstra a sequência de chamadas no processo de interface do usuário supplicante e EAPHost necessário para habilitar a entrada interativa.

  1. O supplicante obtém o contexto atual da interface do usuário chamando EapHostPeerGetUIContext.

  2. Em seguida, o suplicante envia os dados de contexto da interface do usuário para o processo de interface do usuário suplicante.

    Observação

    O processo de interface do usuário, que normalmente coleta a interface do usuário ou manipula a interface do usuário interativa, é separado do processo suplicante. Separar os dois processos não é um requisito do EAPHost, mas fazer isso tem a vantagem de permitir que o processo de interface do usuário interaja com a área de trabalho.

     

  3. Se o supplicante quiser renderizar a interface do usuário por si só, ele chamará a função EapHostPeerQueryInteractiveUIInputFields para obter os campos de entrada para que os componentes interativos da interface do usuário sejam gerados. Caso contrário, ele segue o modelo tradicional de invocação da interface do usuário interativa do método chamando EapHostPeerInvokeInteractiveUI

    Observação

    Se EAP_E_EAPHOST_METHOD_OPERATION_NOT_SUPPORTED for retornado, o supplicante deverá seguir o modelo tradicional de invocação da interface do usuário interativa do método chamando EapHostPeerInvokeInteractiveUI. Se houver um erro, EapHostPeerQueryInteractiveUIInputFields retornará um código de retorno diferente de NULL.

     

  4. Se o supplicante chama EapHostPeerQueryInteractiveUIInputFields ou EaphostPeerInvokeInteractiveUI , o processo de interface do usuário passa os dados de contexto existentes e carrega Eappcfg.dll. A interface do usuário apropriada é gerada para coletar os novos dados. Os novos dados de contexto da interface do usuário, que agora podem conter entrada do usuário, são copiados e os dados de contexto antigos são liberados com uma chamada para EapPeerFreeMemory.

  5. O processo de interface do usuário retorna os novos dados de contexto para o supplicante, que chama EapHostPeerSetUIContext para defini-los.

Sequência de chamadas à API do método peer

Sequência de chamadas à API do método Authenticator

Sequência de chamadas EAPHost

Supplicantes EAPHost