STUN Server | Long-Term Credentials

Normalerweise werden STUN-Server ohne Authentifizierung konfiguriert, sodass jeder STUN-Client eine Binding-Anfrage senden und ohne Authentifizierung eine Antwort vom Server erwarten kann.

 

Der sgcWebSockets STUN Server unterstützt Long-Term-Credentials, sodass Sie TsgcSTUNServer so konfigurieren können, dass nur Bindungsanfragen mit Long-Term-Credential-Informationen zugelassen werden.

 

Um es zu konfigurieren, greifen Sie auf die Eigenschaft STUNOptions.Authorization zu und aktivieren Sie sie.

Greifen Sie dann auf die Eigenschaft LongTermCredentials zu und aktivieren Sie sie. Standardmäßig ist dieser Autorisierungstyp bereits mit einer Realm-Zeichenkette und einem Standard-StaleNonce-Wert von 10 Minuten (= 600 Sekunden) konfiguriert.

 


oSTUN := TsgcSTUNServer.Create(nil);
oSTUN.Port := 3478;
oSTUN.STUNOptions.Authentication.Enabled := True;
oSTUN.STUNOptions.Authentication.LongTermCredentials.Enabled := True;
oSTUN.STUNOptions.Authentication.LongTermCredentials.Realm := 'sgcWebSockets';
oSTUN.STUNOptions.Authentication.LongTermCredentials.StaleNonce := 600;
oSTUN.Active := True;

procedure OnSTUNRequestAuthorization(Sender: TObject; const aRequest: TsgcSTUN_Message; 
  const aUsername, aRealm: string; var Password: string);
begin
  if aUsername = 'my-user' then
    Password := 'my-password';
end;