Partilhar via


Seqüência de chamada de API suplicante

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

Visão geral da sequência de chamadas da API suplicante

Quando o suplicante recebe um pacote EAP de um provedor, como um ponto de acesso, o seguinte fluxo de chamada de API suplicante 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. O suplicante então chama a função correspondente ao código de ação retornado pela função.
  • Se o código de ação estiver EapHostPeerResponseSend, o suplicante chamará EapHostPeerGetSendPacket para obter a resposta a ser enviada ao autenticador.
  • Se durante a sessão, o código de ação retornado ao suplicante for EapHostPeerResponseRespond, isso indica que os atributos EAP estão disponíveis. Em seguida, o suplicante chama EapHostPeerGetResponseAttributes para obtê-los. Esses atributos contêm dados suplementares usados durante o processo de autenticação. Depois que o suplicante conclui o processamento dos atributos, ele chama EapHostPeerSetResponseAttributes que atualiza os dados. Esta 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 estiver EapHostPeerResponseInvokeUI o suplicante acionará 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 da API suplicante abaixo.
  • Se o código da ação estiver EapHostPeerResponseResult, ele indica que os resultados da sessão de autenticação estão disponíveis para o suplicante. Em seguida, o suplicante chama EapHostPeerGetResult para obter os resultados. Independentemente de os resultados indicarem sucesso ou fracasso, o suplicante chama EapHostPeerEndSession. Em caso de falha, a reautenticaçã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 chamadas de API suplicante

Em certos 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 UI do suplicante e EAPHost necessário para habilitar a entrada interativa.

  1. O suplicante 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 da interface do usuário suplicante.

    Observação

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

     

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

    Observação

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

     

  4. Se o suplicante chama EapHostPeerQueryInteractiveUIInputFields ou EaphostPeerInvokeInteractiveUI o processo da interface do usuário passa os dados de contexto existentes e carrega Eappcfg.dll. A interface do usuário apropriada é acionada 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 da interface do usuário retorna os novos dados de contexto para o suplicante, que chama EapHostPeerSetUIContext para defini-lo.

Peer Method API Call Sequence

Authenticator Method API Call Sequence

Sequência de chamadas EAPHost

Suplicantes EAPHost