TsgcTURNServerEventos › OnSTUNRequestAuthorization

OnSTUNRequestAuthorization Evento

Gerado quando uma requisição autenticada chega; forneça a senha associada ao Username/Realm de entrada.

Sintaxe

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

Valor Padrão

Observações

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.

Exemplo

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;

Voltar para Eventos