TsgcTURNServerEventos › OnSTUNRequestAuthorization

OnSTUNRequestAuthorization Evento

Se dispara cuando llega una solicitud autenticada; proporcione la contraseña asociada al Username/Realm entrante.

Sintaxis

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

Valor Predeterminado

Observaciones

Se activa para cada STUN Binding Request autenticada y cada método TURN (ALLOCATE, REFRESH, CREATE-PERMISSION, CHANNEL-BIND, Send-Indication) una vez que el atributo MESSAGE-INTEGRITY entrante ha sido analizado pero antes de ser verificado. aUsername y aRealm se decodifican de la solicitud; para las credenciales de largo plazo de TURN, el realm coincide con TURNOptions.Authentication.LongTermCredentials.Realm. Asigne la contraseña asociada a ese usuario al parámetro var Password; el servidor calculará entonces la clave HMAC y aceptará la solicitud o responderá con un error 401 Unauthorized cuando el valor de integridad calculado no coincida. Deje Password como cadena vacía para rechazar al usuario, lo que también produce una respuesta 401. Este manejador se ejecuta en el hilo de escucha a menos que NotifyEvents seleccione otro modo — manténgalo breve y con seguridad de hilos.

Ejemplo

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;

Volver a Eventos