TsgcWebSocketProxyServer › Propriedades › Authentication
Habilita e configura a autenticação por usuário/senha para clientes WebSocket de entrada que se conectam ao proxy.
property Authentication: TsgcWSAuthenticationServer_Options read FAuthentication write SetAuthentication;
Enabled=False
Quando Authentication.Enabled é True, o proxy autentica cada conexão downstream de entrada contra a lista AuthUsers (formato user=password por linha) antes de abrir o link correspondente ao servidor upstream definido em Proxy. Três esquemas integrados são suportados: Session (o cliente primeiro faz um HTTP GET, recebe um session id e então abre o WebSocket passando o id como parâmetro), URL (nome de usuário e senha são enviados na query string do HandShake WebSocket) e Basic (HTTP Basic Access Authentication). O evento OnAuthentication permite que você conecte sua própria verificação de credenciais; OnUnknownAuthentication trata esquemas não padrão, como Bearer/JWT. A autenticação é realizada apenas no lado downstream; o proxy não encaminha credenciais ao servidor upstream automaticamente.
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;