TsgcSTUNServer › Eventos › OnSTUNRequestAuthorization
Gerado quando uma Binding Request requer autenticação; forneça a senha associada ao Username/Realm recebido.
property OnSTUNRequestAuthorization: TsgcSTUNRequestAuthorizationEvent;
// TsgcSTUNRequestAuthorizationEvent = procedure(Sender: TObject; const aRequest: TsgcSTUN_Message; const aUsername, aRealm: string; var Password: string) of object
—
Disparado uma vez por Binding Request autenticado, depois que o atributo MESSAGE-INTEGRITY de entrada foi analisado, mas antes de ser verificado. aUsername e aRealm são decodificados da requisição (o realm é vazio para credenciais de curto prazo). Atribua a senha associada a esse usuário ao var-parameter Password; o servidor então calcula a chave HMAC e aceita a requisição ou responde com uma resposta 401 Unauthorized quando o valor de integridade calculado não corresponde. Deixe Password como uma string vazia para rejeitar o usuário, o que também resulta em uma resposta 401. Este handler é executado na thread do listener, 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 SameText(aUsername, 'alice') then
Password := 'secret'
else
Password := '';
end;