O servidor TsgcWebSocket suporta 3 tipos de Autenticações:
Você pode definir uma lista de usuários autenticados utilizando a propriedade AuthUsers; basta definir seus usuários com o seguinte formato: user=password
Sempre que o servidor recebe uma Requisição de Autenticação de um cliente, este evento é chamado para indicar se o usuário está autenticado ou não.
Utilize o parâmetro Authenticated para aceitar ou não a conexão.
procedure OnAuthentication(Connection: TsgcWSConnection; aUser, aPassword: string;
var Authenticated: Boolean);
begin
if ((aUser = 'user') and (aPassword = 'secret')) then
Authenticated := true
else
Authenticated := false;
end;
Referencia o TsgcWebSocketServer que entrega o subprotocolo de sinalização WebRTC sobre conexões WebSocket.
procedure OnUnknownAuthentication(Connection: TsgcWSConnection; AuthType, AuthData: string;
var aUser, aPassword: string; var Authenticated: Boolean);
begin
if AuthType = 'Bearer' then
begin
if AuthData = 'jwt_token' then
Authenticated := true
else
Authenticated := false;
end
else
Authenticated := false;
end;