Secuencia de llamadas API de supplicant
En este tema se proporciona la secuencia de llamadas específica para la API de suplicante.
Información general sobre la secuencia de llamadas api de supplicant
Cuando el supplicante recibe un paquete EAP de un proveedor, como un punto de acceso, normalmente se produce el siguiente flujo de llamadas API supplicant.
- La aplicación llama a EapHostPeerBeginSession con datos de configuración de EAPHost y datos de usuario. Una llamada correcta devuelve un identificador de sesión de EAP_SESSION_HANDLE .
- Cada paquete recibido por el supplicante se procesa mediante una llamada a EapHostPeerProcessReceivedPacket. A continuación, el suplicante llama a la función correspondiente al código de acción devuelto por la función .
- Si el código de acción es EapHostPeerResponseSend, el supplicante llama a EapHostPeerGetSendPacket para obtener la respuesta que se enviará al autenticador.
- Si durante la sesión, el código de acción devuelto al supplicante es EapHostPeerResponseRespond, indica que los atributos EAP están disponibles. A continuación, el supplicante llama a EapHostPeerGetResponseAttributes para obtenerlos. Estos atributos contienen datos complementarios usados durante el proceso de autenticación. Después de que el supplicante complete el procesamiento de los atributos, llama a EapHostPeerSetResponseAttributes que actualiza los datos. Esta función devuelve un código de acción que determina la siguiente acción del suplicante.
- Si el código de acción es EapHostPeerResponseInvokeUI , el suplicante genera un cuadro de diálogo de interfaz de usuario para obtener datos interactivos del usuario, como credenciales o información de identidad. Consulte Interacción del usuario con el flujo de llamadas API de supplicant a continuación.
- Si el código de acción es EapHostPeerResponseResult, indica que los resultados de la sesión de autenticación están disponibles para el suplicante. A continuación, el supplicante llama a EapHostPeerGetResult para obtener los resultados. Independientemente de si los resultados indican éxito o error, el supplicante llama a EapHostPeerEndSession. En caso de error, se puede intentar volver a autenticar abriendo otra sesión con EAPHost y proporcionando una nueva identidad o intentando la autenticación con la identidad original de nuevo.
Interacción del usuario con el flujo de llamadas api de supplicant
En ciertos casos, el suplicante debe obtener información del usuario para continuar con el proceso de autenticación.
En la lista siguiente se muestra la secuencia de llamadas en el proceso de interfaz de usuario de suplicante y EAPHost necesario para habilitar la entrada interactiva.
El supplicante obtiene el contexto de la interfaz de usuario actual llamando a EapHostPeerGetUIContext.
A continuación, el supplicante envía los datos de contexto de la interfaz de usuario al proceso de interfaz de usuario supplicante.
Nota
El proceso de interfaz de usuario, que normalmente recopila la interfaz de usuario o controla la interfaz de usuario interactiva, es independiente del proceso de suplicante. Separar los dos procesos no es un requisito de EAPHost, pero hacerlo tiene la ventaja de permitir que el proceso de interfaz de usuario interactúe con el escritorio.
Si el suplicante quiere representar la interfaz de usuario por sí misma, llama a la función EapHostPeerQueryInteractiveUIInputFields para obtener los campos de entrada de los componentes interactivos de la interfaz de usuario que se van a generar. De lo contrario, sigue el modelo tradicional de invocar la interfaz de usuario interactiva del método llamando a EapHostPeerInvokeInteractiveUI.
Nota
Si se devuelve EAP_E_EAPHOST_METHOD_OPERATION_NOT_SUPPORTED , el suplicante debe seguir el modelo tradicional de invocar la interfaz de usuario interactiva del método mediante una llamada a EapHostPeerInvokeInteractiveUI. Si se produce un error, EapHostPeerQueryInteractiveUIInputFields devolverá un código de retorno distinto de NULL.
Si el supplicante llama a EapHostPeerQueryInteractiveUIInputFields o EaphostPeerInvokeInteractiveUI , el proceso de interfaz de usuario pasa los datos de contexto existentes y carga Eappcfg.dll. Se genera la interfaz de usuario adecuada para recopilar los nuevos datos. Los nuevos datos de contexto de la interfaz de usuario, que ahora pueden contener la entrada del usuario, se copian y los datos de contexto antiguos se publican con una llamada a EapPeerFreeMemory.
El proceso de interfaz de usuario devuelve los nuevos datos de contexto al suplicante, que llama a EapHostPeerSetUIContext para establecerlo.
Temas relacionados