TsgcTURNServerEventi › OnSTUNRequestAuthorization

OnSTUNRequestAuthorization Evento

Generato quando arriva una richiesta autenticata; fornire la password associata al nome utente e al realm in ingresso.

Sintassi

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

Valore predefinito

Note

Generato per ogni richiesta STUN Binding autenticata e per ogni metodo TURN (ALLOCATE, REFRESH, CREATE-PERMISSION, CHANNEL-BIND, Send-Indication) una volta che l'attributo MESSAGE-INTEGRITY in entrata è stato analizzato ma prima della sua verifica. aUsername e aRealm sono decodificati dalla richiesta; per le credenziali TURN a lungo termine il realm corrisponde a TURNOptions.Authentication.LongTermCredentials.Realm. 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 anche una risposta 401. Questo gestore viene eseguito sul thread del 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 (aUsername = 'user') and (aRealm = 'esegece.com') then
    Password := 'password'
  else
    Password := '';
end;

Torna agli Eventi