TsgcSTUNServerイベント › OnSTUNRequestAuthorization

OnSTUNRequestAuthorization イベント

バインディングリクエストに認証が必要なときに発生します。受信したユーザー名/レルムに関連付けられたパスワードを提供してください。

構文

property OnSTUNRequestAuthorization: TsgcSTUNRequestAuthorizationEvent;
// TsgcSTUNRequestAuthorizationEvent = procedure(Sender: TObject; const aRequest: TsgcSTUN_Message; const aUsername, aRealm: string; var Password: string) of object

デフォルト値

解説

認証済みの Binding Request ごとに 1 回、受信した MESSAGE-INTEGRITY 属性が解析された後、検証される前に発生します。aUsernameaRealm はリクエストからデコードされます (短期資格情報の場合、レルムは空です)。そのユーザーに関連付けられたパスワードを Password var パラメータに割り当てます。サーバーは HMAC キーを計算し、計算された整合値が一致しない場合はリクエストを受け入れるか 401 Unauthorized を返します。Password を空の文字列のままにするとユーザーを拒否し、これも 401 レスポンスをもたらします。このハンドラーは NotifyEvents が別のモードを選択しない限り、リスナースレッドで実行されます。短く、スレッドセーフに保ってください。

使用例

procedure TForm1.OnSTUNRequestAuthorization(Sender: TObject;
  const aRequest: TsgcSTUN_Message; const aUsername, aRealm: string;
  var Password: string);
begin
  if SameText(aUsername, 'alice') then
    Password := 'secret'
  else
    Password := '';
end;

イベントに戻る