TsgcSTUNServer › Gebeurtenissen › OnSTUNRequestAuthorization
Wordt geactiveerd wanneer een Binding Request authenticatie vereist; lever het wachtwoord dat bij de binnenkomende Username/Realm hoort.
property OnSTUNRequestAuthorization: TsgcSTUNRequestAuthorizationEvent;
// TsgcSTUNRequestAuthorizationEvent = procedure(Sender: TObject; const aRequest: TsgcSTUN_Message; const aUsername, aRealm: string; var Password: string) of object
—
Eenmalig gegenereerd per geverifieerd Binding Request, nadat het inkomende MESSAGE-INTEGRITY-attribuut is geparsed maar vóórdat het wordt geverifieerd. aUsername en aRealm worden gedecodeerd uit het verzoek (het realm is leeg voor kortetermijnreferenties). Wijs het wachtwoord dat bij die gebruiker hoort toe aan de variabeleparameter Password; de server berekent vervolgens de HMAC-sleutel en accepteert het verzoek of antwoordt met een 401 Unauthorized-respons wanneer de berekende integriteitswaarde niet overeenkomt. Laat Password als lege tekenreeks om de gebruiker te weigeren, wat ook een 401-respons oplevert. Deze handler wordt uitgevoerd op de listener-thread tenzij NotifyEvents een andere modus selecteert — houd hem kort en thread-veilig.
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;