SSO EAPHost API Overview

This topic provides an overview of the EAPHost APIs that support Single-Sign-On (SSO). For specific SSO scenarios, see SSO EAPHost Scenarios.

EAPHost Enumerations

The following enumerations support SSO.

Name Purpose
EAP_CONFIG_INPUT_FIELD_TYPE Defines a set of possible input field types available when querying for user credentials.
EAP_INTERACTIVE_UI_DATA_TYPE Specifies the types of interactive UI context data supplied to certain supplicant API calls.

EAPHost Structures

The following data structures support SSO.

Name Purpose
EAP_CONFIG_INPUT_FIELD_DATA Contains the data associated with a single input field.
EAP_CONFIG_INPUT_FIELD_ARRAY Contains a set of EAP_CONFIG_INPUT_FIELD_DATA structures that collectively contain the user input field data obtained from the user.
EAP_INTERACTIVE_UI_DATA Contains configuration information for interactive UI components raised on an EAP supplicant.
EAP_CRED_REQ Contains both the old and new EAP credentials for a credential change operations.
EAP_CRED_RESP Contains both the old and new EAP credentials for a credential change operations.
EAP_CRED_EXPIRY_REQ Contains both the old and new EAP credentials for credential expiry operations.
EAP_CRED_EXPIRY_RESP Contains both the old and new EAP credentials for credential expiry operations.

EAPHost Peer (Supplicant) APIs

The following supplicant functions support SSO.

The EapHostPeerQueryCredentialInputFields and EapHostPeerQueryUserBlobFromCredentialInputFields functions are exclusive to SSO.

Name Purpose Order Called
EapHostPeerQueryInteractiveUIInputFields Obtains the input fields for interactive UI components to be raised on the supplicant. 4
EapHostPeerQueryCredentialInputFields Allows the user to determine what kind of credentials are required by the methods to perform authentication in a SSO scenario. 1
EapHostPeerQueryUIBlobFromInteractiveUIInputFields Converts user information into a user BLOB that can be consumed by EAPHost run-time functions. 5
EapHostPeerQueryUserBlobFromCredentialInputFields Obtains a credential BLOB that can be used to start authentication from user input received by the SSO UI. 2
EapHostPeerBeginSession The supplicant uses the EAP_FLAG_PRE_LOGON flag to indicate that EAPHost should provide SSO. If the EapHostPeerResponseInvokeUI action code is returned, EAPHost calls EapPeerQueryInteractiveUIInputFields, and then calls EapHostPeerQueryUIBlobFromInteractiveUIInputFields
If the EapHostPeerResponseInvokeUI action code is not returned, EAPHost proceeds with the regular, non SSO call sequence. For more information, see Supplicant API Call Sequence.
3

EAPHost Peer Method APIs

The following peer functions support SSO.

The EapPeerQueryCredentialInputFields and EapPeerQueryUserBlobFromCredentialInputFields functions are exclusive to SSO.

Name Purpose Order Called
EapPeerQueryInteractiveUIInputFields Defines the implementation of an EAP method API that provides the input fields for interactive UI components to be raised on the supplicant. 4
EapPeerQueryCredentialInputFields Defines the implementation of an EAP method-specific function that obtains the EAP SSO credential input fields for that EAP method. 1
EapPeerQueryUIBlobFromInteractiveUIInputFields Converts user information into a user BLOB that can be consumed by EAPHost run-time functions. 5
EapPeerQueryUserBlobFromCredentialInputFields Defines the implementation of an EAP method function that obtains the user BLOB data provided by the interactive SSO UI raised on the supplicant. 2
EapPeerBeginSession The EAP_FLAG_PRE_LOGON flag indicates that EAPHost should provide SSO. In an SSO scenario if the EapPeerResponseInvokeUI action code is returned, EAPHost calls EapPeerQueryInteractiveUIInputFields, and then calls EapPeerQueryUserBlobFromCredentialInputFields
If the EapPeerResponseInvokeUI action code is not returned, EAPHost proceeds with the regular, non SSO call sequence. For more information, see Peer Method API Call Sequence.
3

SSO and PLAP

SSO EAPHost Scenarios