次の方法で共有


Tunnel メソッド API 呼び出しシーケンス

このトピックでは、Tunnel メソッドの API 呼び出しシーケンスについて説明します

Tunnel メソッドの呼び出しシーケンスの概要

Supplicant がユーザー ID とユーザー データの要求を取得すると、通常、次の API 呼び出しフローが発生します。

  • サプリカントは、EapHost 上で EapHostPeerProcessReceivedPacket を呼び出して、認証者から受信したパケットを処理します。
  • このパケットを処理すると、EAPHost はそれを IdentityRequest パケットとして判断し、トンネル メソッドで EapPeerGetIdentity を呼び出して、認証に使用するユーザー ID を取得します。
  • トンネル メソッドが内部メソッドからユーザー ID を取得する必要がある場合は、内部 EAPHost で EAPHostPeerGetIdentity を呼び出し、内部メソッドで EapPeerGetIdentity を呼び出します。

Tunnel メソッド API 呼び出しフローを使用したユーザー操作

特定のケースでは、ID が利用できない場合や、ユーザーが追加情報を提供する必要がある場合、Eap Method はサプリカントにユーザー インターフェイス ダイアログ ボックスを表示します。

このような場合、通常、ユーザーから直接情報を取得するために次の呼び出しシーケンスが実行されます。

  • Tunnel Eap メソッドは、UI を EapHost に呼び出すアクション コードを返します。 サプリカントは EapHostPeerGetUIContext を呼び出して、ユーザー インターフェイス ダイアログ ボックスの現在のユーザー インターフェイス コンテキスト情報を取得します。

  • その後、Supplicant は EapHostPeerInvokeInteractiveUI. を呼び出します。この関数は、UI コンテキスト情報を使用して、ユーザーから資格情報を取得するために使用される対話型ユーザー インターフェイスを生成します。 UI プロセスは Eappcfg.dll を読み込み、EapPeerInvokeInteractiveUI と EapPeerFreeMemory へのポインターを取得します。

    Note

    UI プロセスは通常、UI を収集するか、対話型 UI を処理します。これはサプリカント プロセスとは別です。 2 つのプロセスを分離することは EAPHost の要件ではありませんが、これを行うと、UI プロセスがデスクトップとやり取りできるという利点があります。

     

  • EapHost はトンネル メソッド EapPeerInvokeIdentityUI を呼び出して、ユーザー ID 情報を取得します。

  • 内部メソッドからユーザー ID を取得するために、トンネル メソッドは内部 EAPHost EapHostPeerInvokeIdentityUI を呼び出します。

  • 内部 EAPHost は、内部メソッド EapPeerInvokeIdentityUI を呼び出して、ユーザー ID UI を呼び出します。

  • EapHostPeerSetUIContext は、UI が発生した後に EAPHost に読み込まれた EAP ピア メソッドに新しい UI コンテキスト情報または更新された UI コンテキスト情報を提供します。

次の図では、Tunnel メソッドの API 呼び出しシーケンスについて説明します

tunnel メソッド API 呼び出しシーケンス

EAPHost 呼び出しシーケンス

サプリカント API 呼び出しシーケンス

EAPHost サプリカント API リファレンス