TsgcWebSocketHTTPServer › Eigenschappen › Authentication
Schakelt en configureert gebruikersnaam/wachtwoord-authenticatie voor inkomende WebSocket- en HTTP-verbindingen.
property Authentication: TsgcWSAuthenticationServer_Options read FAuthentication write SetAuthentication;
Enabled=False
Wanneer Authentication.Enabled True is, verifieert de server elke inkomende verbinding aan de hand van de lijst AuthUsers (formaat user=password per regel). 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 — alleen gebruikt door VCL-clients/servers en HTTP-verzoeken). De OnAuthentication-gebeurtenis laat u uw eigen referentiecontrole inpluggen; OnUnknownAuthentication behandelt niet-standaard schema's zoals Bearer/JWT. Gebruik CustomHeaders om extra HTTP-headers toe te voegen die worden geretourneerd bij verificatiefouten.
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.
oServer := TsgcWebSocketHTTPServer.Create(nil);
oServer.Authentication.Enabled := true;
oServer.Authentication.Basic.Enabled := true;
oServer.Authentication.AuthUsers.Add('user=secret');
oServer.Active := true;