TsgcSTUNServerEventi › OnSTUNRequestAuthorization

OnSTUNRequestAuthorization Evento

Sollevato quando una Binding Request richiede autenticazione; fornire la password associata allo Username/Realm ricevuto.

Sintassi

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

Valore predefinito

Note

Si attiva una volta per ogni richiesta Binding autenticata, dopo che l'attributo MESSAGE-INTEGRITY in arrivo è stato analizzato ma prima che venga verificato. aUsername e aRealm vengono decodificati dalla richiesta (il realm è vuoto per le credenziali a breve termine). Assegnare la password associata a quell'utente al parametro var Password; il server calcola quindi la chiave HMAC e accetta la richiesta oppure risponde con una risposta 401 Unauthorized quando il valore di integrità calcolato non corrisponde. Lasciare Password come stringa vuota per rifiutare l'utente, il che produce anch'essa una risposta 401. Questo gestore viene eseguito sul thread listener a meno che NotifyEvents non selezioni un'altra modalità — mantenerlo breve e thread-safe.

Esempio

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;

Torna agli Eventi