Compartir a través de


Obtener la información de identidad

El proveedor que implementa el protocolo de autenticación también puede proporcionar una interfaz de función que obtenga información de identificación inicial para el usuario que solicita autenticación.

El proveedor debe implementar las siguientes funciones.

Estas funciones se pueden implementar en el mismo archivo DLL que el protocolo de autenticación o en un archivo DLL independiente. Además, el archivo DLL que implementa las funciones de identidad puede admitir más de un protocolo de autenticación. La ruta de acceso al archivo DLL de estas funciones se almacena en el valor del Registro de RAS_EAP_VALUENAME_IDENTITY, bajo la clave del protocolo de autenticación. Para obtener más información acerca de cómo crear este valor del Registro, consulte Instalación de EAP.

La funciónRasEapGetIdentity suele mostrar una interfaz de usuario (UI) para obtener información de identidad para el usuario. Sin embargo, si el parámetrodwFlags contiene la marca RAS_EAP_FLAG_NON_INTERACTIVE, RasEapGetIdentity no debe mostrar una interfaz de usuario.

Si RasEapGetIdentity muestra una interfaz de usuario, la interfaz de usuario debe admitir mensajesWM_COMMAND en los que el valor de LOWORD (wParam) es igual a IDCANCEL.

El servicio de autenticación llama a RasEapGetIdentity si el RAS_EAP_VALUENAME_INVOKE_NAMEDLG valor que se encuentra en el Registro para este EAP se establece en cero. Si RAS_EAP_VALUENAME_INVOKE_NAMEDLG no está presente o está presente y está establecido en uno, el servicio de autenticación muestra el cuadro de diálogo nombre de usuario del sistema estándar.

Además de RAS_EAP_VALUENAME_INVOKE_NAMEDLG, el proveedor de EAP puede crear un valor relacionado, RAS_EAP_VALUENAME_INVOKE_PWDDLG, en el Registro. Si este valor está presente y se establece en cero, el servicio no mostrará el cuadro de diálogo de contraseña del sistema estándar. Este valor es útil al implementar un método biométrico, como un examen de huellas digitales para autenticar al usuario. Si los valores de RAS_EAP_VALUENAME_INVOKE_NAMEDLG y RAS_EAP_VALUENAME_INVOKE_PWDDLG son cero, se podría usar una interfaz de usuario de identidad para obtener la información biométrica y la identidad. Sin embargo, si solo RAS_EAP_VALUENAME_INVOKE_PWDDLG es cero, el servicio de autenticación no llamará a RasEapGetIdentity. En este caso, podría usar la interfaz de usuario interactiva para obtener la información biométrica.

Para obtener más información acerca de estos valores del Registro, consulte Valores del Registro del protocolo de autenticación.

La información obtenida por RasEapGetIdentityse pasa al protocolo de autenticación durante la llamada a RasEapBegin. La información se apunta a los miembros pszIdentity y pUserData de la estructura PPP_EAP_INPUT. Para guardar esta información en el registro en el equipo cliente, el protocolo de autenticación debe devolver la información en el parámetro pEapOutput de RasEapMakeMessage.

Después de la llamada a RasEapBegin, el servicio de autenticación llama a RasEapFreeMemory para liberar la memoria ocupada por estos datos. Por lo tanto, el protocolo de autenticación debe copiar la información en un búfer de memoria privada durante la llamada a RasEapBegin.