TsgcTURNServer › Eventos › OnSTUNRequestAuthorization
Gerado quando uma requisição autenticada chega; forneça a senha associada ao Username/Realm de entrada.
property OnSTUNRequestAuthorization: TsgcSTUNRequestAuthorizationEvent;
// TsgcSTUNRequestAuthorizationEvent = procedure(Sender: TObject; const aRequest: TsgcSTUN_Message; const aUsername, aRealm: string; var Password: string) of object
—
Disparado para cada STUN Binding Request autenticada e cada método TURN (ALLOCATE, REFRESH, CREATE-PERMISSION, CHANNEL-BIND, Send-Indication) depois que o atributo MESSAGE-INTEGRITY recebido foi analisado, mas antes de ser verificado. aUsername e aRealm são decodificados da requisição; para long-term credentials TURN, o realm corresponde a TURNOptions.Authentication.LongTermCredentials.Realm. Atribua a senha associada a esse usuário ao parâmetro var Password; o servidor então computa a chave HMAC e aceita a requisição ou responde com uma resposta 401 Unauthorized quando o valor de integridade computado não corresponde. Deixe Password como uma string vazia para rejeitar o usuário, o que também produz uma resposta 401. Este manipulador é executado na thread de escuta, a menos que NotifyEvents selecione outro modo — mantenha-o curto e thread-safe.
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;