Séquence d’appels d’API de supplice
Cette rubrique fournit la séquence d’appels spécifique pour l’API de demande.
Vue d’ensemble de la séquence d’appels de l’API Supplicant
Lorsque le demandeur reçoit un paquet EAP d’un fournisseur, tel qu’un point d’accès, le flux d’appel d’API de demande suivant se produit généralement.
- L’application appelle EapHostPeerBeginSession avec les données de configuration EAPHost et les données utilisateur. Un appel réussi retourne un handle de session EAP_SESSION_HANDLE .
- Chaque paquet reçu par le demandeur est traité par un appel à EapHostPeerProcessReceivedPacket. Le demandeur appelle ensuite la fonction correspondant au code d’action retourné par la fonction.
- Si le code d’action est EapHostPeerResponseSend, le demandeur appelle EapHostPeerGetSendPacket pour obtenir la réponse à envoyer à l’authentificateur.
- Si pendant la session, le code d’action retourné au demandeur est EapHostPeerResponseResponseRespond, cela indique que les attributs EAP sont disponibles. Le demandeur appelle ensuite EapHostPeerGetResponseAttributes pour les obtenir. Ces attributs contiennent des données supplémentaires utilisées pendant le processus d’authentification. Une fois que le demandeur a terminé le traitement des attributs, il appelle EapHostPeerSetResponseAttributes qui met à jour les données. Cette fonction retourne un code d’action qui détermine l’action suivante du demandeur.
- Si le code d’action est EapHostPeerResponseInvokeUI , le demandeur déclenche une boîte de dialogue d’interface utilisateur pour obtenir des données interactives de l’utilisateur, telles que des informations d’identification ou d’identité. Consultez Interaction utilisateur avec le flux d’appel de l’API Supplicant ci-dessous.
- Si le code d’action est EapHostPeerResponseResult, cela indique que les résultats de la session d’authentification sont disponibles pour le demandeur. Le demandeur appelle ensuite EapHostPeerGetResult pour obtenir les résultats. Que les résultats indiquent une réussite ou un échec, le demandeur appelle EapHostPeerEndSession. En cas d’échec, la réauthentification peut être tentée en ouvrant une autre session avec EAPHost et en fournissant une nouvelle identité, ou en tentant de nouveau l’authentification avec l’identité d’origine.
Interaction utilisateur avec le flux d’appels d’API Supplicant
Dans certains cas, le demandeur doit obtenir des informations de l’utilisateur pour poursuivre le processus d’authentification.
La liste suivante illustre la séquence d’appels sur le processus de demande et d’interface utilisateur EAPHost nécessaire pour activer l’entrée interactive.
Le demandeur obtient le contexte d’interface utilisateur actuel en appelant EapHostPeerGetUIContext.
Le demandeur envoie ensuite les données de contexte de l’interface utilisateur au processus d’interface utilisateur du demandeur.
Notes
Le processus d’interface utilisateur, qui collecte généralement l’interface utilisateur ou gère l’interface utilisateur interactive, est distinct du processus de requête. La séparation des deux processus n’est pas une exigence d’EAPHost, mais cela présente l’avantage de permettre au processus d’interface utilisateur d’interagir avec le bureau.
Si le demandeur souhaite afficher l’interface utilisateur par lui-même, il appelle la fonction EapHostPeerQueryInteractiveUIInputFields pour obtenir les champs d’entrée pour que les composants d’interface utilisateur interactifs soient déclenchés. Sinon, il suit le modèle traditionnel d’appel de l’interface utilisateur interactive de méthode en appelant EapHostPeerInvokeInteractiveUI
Notes
Si EAP_E_EAPHOST_METHOD_OPERATION_NOT_SUPPORTED est retourné, le demandeur doit suivre le modèle traditionnel de l’interface utilisateur interactive de méthode d’appel en appelant EapHostPeerInvokeInteractiveUI. En cas d’erreur, EapHostPeerQueryInteractiveUIInputFields retourne un code de retour autre que NULL.
Que le demandeur appelle EapHostPeerQueryInteractiveUIInputFields ou EaphostPeerInvokeInteractiveUI , le processus d’interface utilisateur transmet les données de contexte existantes et charge Eappcfg.dll. L’interface utilisateur appropriée est levée pour collecter les nouvelles données. Les nouvelles données de contexte de l’interface utilisateur, qui peuvent maintenant contenir une entrée utilisateur, sont copiées et les anciennes données de contexte sont publiées avec un appel à EapPeerFreeMemory.
Le processus d’interface utilisateur retourne les nouvelles données de contexte au demandeur, qui appelle EapHostPeerSetUIContext pour le définir.
Rubriques connexes