TsgcTURNServerEreignisse › OnSTUNRequestAuthorization

OnSTUNRequestAuthorization Ereignis

Wird ausgelöst, wenn eine authentifizierte Anfrage eintrifft; geben Sie das mit dem eingehenden Username/Realm verbundene Passwort an.

Syntax

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

Standardwert

Hinweise

Wird für jede authentifizierte STUN-Binding-Request und jede TURN-Methode (ALLOCATE, REFRESH, CREATE-PERMISSION, CHANNEL-BIND, Send-Indication) ausgelöst, sobald das eingehende MESSAGE-INTEGRITY-Attribut geparst, aber bevor es verifiziert wurde. aUsername und aRealm werden aus der Anfrage decodiert; bei TURN-Long-Term-Credentials entspricht der Realm TURNOptions.Authentication.LongTermCredentials.Realm. Weisen Sie das mit diesem Benutzer verknüpfte Passwort dem var-Parameter Password zu; der Server berechnet dann den HMAC-Schlüssel und akzeptiert entweder die Anfrage oder antwortet mit einer 401-Unauthorized-Antwort, wenn der berechnete Integritätswert nicht übereinstimmt. Lassen Sie Password als leere Zeichenfolge, um den Benutzer abzulehnen, was ebenfalls eine 401-Antwort liefert. Dieser Handler läuft im Listener-Thread, es sei denn, NotifyEvents wählt einen anderen Modus — halten Sie ihn kurz und threadsicher.

Beispiel

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;

Zurück zu Ereignissen