TsgcTURNServerイベント › OnSTUNRequestAuthorization

OnSTUNRequestAuthorization イベント

認証された要求が到着したときに発生します。受信するUsername/Realmに関連付けられたパスワードを提供してください。

構文

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

デフォルト値

解説

認証済みの STUN バインディングリクエストおよびすべての TURN メソッド(ALLOCATE、REFRESH、CREATE-PERMISSION、CHANNEL-BIND、Send-Indication)について、受信 MESSAGE-INTEGRITY 属性が解析された後で検証される前に発生します。aUsernameaRealm はリクエストからデコードされます。TURN 長期認証情報の場合、レルムは TURNOptions.Authentication.LongTermCredentials.Realm と一致します。そのユーザーに関連付けられたパスワードを 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 (aUsername = 'user') and (aRealm = 'esegece.com') then
    Password := 'password'
  else
    Password := '';
end;

イベントに戻る