TsgcWebSocketProxyServer › Eigenschappen › Authentication

Authentication Eigenschap

Schakelt en configureert gebruikers-/wachtwoordauthenticatie in voor inkomende WebSocket-clients die verbinding maken met de proxy.

Syntaxis

property Authentication: TsgcWSAuthenticationServer_Options read FAuthentication write SetAuthentication;

Standaardwaarde

Enabled=False

Opmerkingen

Wanneer Authentication.Enabled True is, verifieert de proxy elke inkomende downstream-verbinding aan de hand van de lijst AuthUsers (formaat user=password per regel) voordat de bijbehorende koppeling naar de upstream-server die is gedefinieerd in Proxy wordt geopend. Drie ingebouwde schema's worden ondersteund: Session (de client doet eerst een HTTP GET, ontvangt een sessie-id en opent vervolgens de WebSocket met de id als parameter), URL (gebruikersnaam en wachtwoord worden verzonden in de querystring van de WebSocket HandShake) en Basic (HTTP Basic Access Authentication). De gebeurtenis OnAuthentication stelt u in staat uw eigen inloggegevenscontrole in te voegen; OnUnknownAuthentication verwerkt niet-standaard schema's zoals Bearer/JWT. Authenticatie wordt alleen uitgevoerd aan de downstream-kant; de proxy stuurt inloggegevens niet automatisch door naar de upstream-server.

Negotiate (Kerberos / SPNEGO, met NTLM als terugval op Windows) wordt geconfigureerd in de subeigenschappen van Authentication.Negotiate en vereist sgcWebSockets Enterprise Edition. Negotiate.Enabled (Boolean, standaard False) schakelt het in en vereist Authentication.Enabled. Negotiate.ServicePrincipal (String) is een optionele SPN zoals HTTP/host.example.com@EXAMPLE.COM; als de waarde leeg is, wordt elke sleutel in de keytab of het machineaccount geaccepteerd. Negotiate.Keytab (String, alleen Linux) is het pad van de service-keytab; als de waarde leeg is, wordt KRB5_KTNAME of de systeemstandaard gebruikt. Het resultaat wordt gemeld door OnNegotiateAuthentication. Zie Kerberos- en Negotiate-authenticatie.

Voorbeeld


oProxy := TsgcWebSocketProxyServer.Create(nil);
oProxy.Authentication.Enabled := true;
oProxy.Authentication.Basic.Enabled := true;
oProxy.Authentication.AuthUsers.Add('user=secret');
oProxy.Proxy.Host := 'upstream.example.com';
oProxy.Proxy.Port := 8080;
oProxy.Active := true;

Terug naar Properties