TsgcTURNServerGebeurtenissen › OnSTUNRequestAuthorization

OnSTUNRequestAuthorization Gebeurtenis

Wordt geactiveerd wanneer een geverifieerd verzoek binnenkomt; geef het wachtwoord op dat bij de inkomende gebruikersnaam/realm hoort.

Syntaxis

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

Standaardwaarde

Opmerkingen

Wordt geactiveerd voor elk geverifieerd STUN-bindingsverzoek en elke TURN-methode (ALLOCATE, REFRESH, CREATE-PERMISSION, CHANNEL-BIND, Send-Indication) zodra het inkomende MESSAGE-INTEGRITY-attribuut is geparseerd maar voordat het wordt geverifieerd. aUsername en aRealm worden gedecodeerd uit het verzoek; voor TURN long-term credentials komt het realm overeen met TURNOptions.Authentication.LongTermCredentials.Realm. Wijs het wachtwoord dat bij die gebruiker hoort toe aan de Password-variabeleparameter; de server berekent vervolgens de HMAC-sleutel en accepteert het verzoek of antwoordt met een 401 Unauthorized wanneer de berekende integriteitswaarde niet overeenkomt. Laat Password als lege tekenreeks staan om de gebruiker te weigeren, wat ook een 401-respons oplevert. Deze handler wordt uitgevoerd op de luisterthread tenzij NotifyEvents een andere modus selecteert — houd het kort en thread-veilig.

Voorbeeld

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;

Terug naar gebeurtenissen