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.
O supplicante obtém o contexto atual da interface do usuário chamando EapHostPeerGetUIContext.
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.
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.
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.
O processo de interface do usuário retorna os novos dados de contexto para o supplicante, que chama EapHostPeerSetUIContext para defini-los.
Tópicos relacionados