TsgcWebSocket server admite 3 tipos de autenticaciones:
Puede establecer una lista de usuarios autenticados utilizando la propiedad AuthUsers; simplemente añada sus usuarios con el siguiente formato: usuario=contraseña
Cada vez que el servidor recibe una Solicitud de Autenticación de un cliente, se llama a este evento para indicar si el usuario está autenticado o no.
Use el parámetro Authenticated para aceptar o rechazar la conexión.
procedure OnAuthentication(Connection: TsgcWSConnection; aUser, aPassword: string;
var Authenticated: Boolean);
begin
if ((aUser = 'user') and (aPassword = 'secret')) then
Authenticated := true
else
Authenticated := false;
end;
Si el tipo de autenticación no está soportado por defecto, como JWT, puede usar este evento para aceptar o rechazar la conexión. Solo lea los parámetros y decida si acepta la conexión.
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;