TsgcSTUNServerÉvénements › OnSTUNRequestAuthorization

OnSTUNRequestAuthorization Événement

Levé lorsqu'une requête Binding nécessite une authentification ; fournissez le mot de passe associé au nom d'utilisateur/domaine entrant.

Syntaxe

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

Valeur par défaut

Remarques

Déclenché une fois par requête de liaison (Binding Request) authentifiée, après l'analyse de l'attribut MESSAGE-INTEGRITY entrant mais avant sa vérification. aUsername et aRealm sont décodés depuis la requête (le realm est vide pour les credentials à court terme). Assignez le mot de passe associé à cet utilisateur au paramètre var Password ; le serveur calcule alors la clé HMAC et soit accepte la requête, soit répond avec une réponse 401 Unauthorized lorsque la valeur d'intégrité calculée ne correspond pas. Laissez Password comme une chaîne vide pour rejeter l'utilisateur, ce qui produit également une réponse 401. Ce gestionnaire s'exécute sur le thread d'écoute sauf si NotifyEvents sélectionne un autre mode — gardez-le court et thread-safe.

Exemple

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;

Retour aux événements