TsgcSTUNServer › Eventos › OnSTUNRequestAuthorization
Se genera cuando una solicitud Binding requiere autenticación; proporcione la contraseña asociada al Username/Realm entrante.
property OnSTUNRequestAuthorization: TsgcSTUNRequestAuthorizationEvent;
// TsgcSTUNRequestAuthorizationEvent = procedure(Sender: TObject; const aRequest: TsgcSTUN_Message; const aUsername, aRealm: string; var Password: string) of object
—
Se activa una vez por cada solicitud de enlace autenticada, después de que el atributo MESSAGE-INTEGRITY entrante ha sido analizado pero antes de ser verificado. aUsername y aRealm se decodifican de la solicitud (el realm está vacío para las credenciales de corto plazo). Asigne la contraseña asociada a ese usuario al parámetro var Password; el servidor calcula entonces la clave HMAC y acepta la solicitud o responde con una respuesta 401 Unauthorized cuando el valor de integridad calculado no coincide. Deje Password como cadena vacía para rechazar al usuario, lo que también genera una respuesta 401. Este controlador se ejecuta en el subproceso de escucha a menos que NotifyEvents seleccione otro modo — manténgalo breve y seguro para subprocesos.
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;