TsgcTURNServer › Gebeurtenissen › OnSTUNRequestAuthorization
Wordt geactiveerd wanneer een geverifieerd verzoek binnenkomt; geef het wachtwoord op dat bij de inkomende gebruikersnaam/realm hoort.
property OnSTUNRequestAuthorization: TsgcSTUNRequestAuthorizationEvent;
// TsgcSTUNRequestAuthorizationEvent = procedure(Sender: TObject; const aRequest: TsgcSTUN_Message; const aUsername, aRealm: string; var Password: string) of object
—
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.
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;