Le serveur TsgcWebSocket prend en charge 3 types d'authentifications :
Vous pouvez définir une liste d'utilisateurs authentifiés en utilisant la propriété AuthUsers ; définissez simplement vos utilisateurs au format suivant : utilisateur=mot de passe
Chaque fois que le serveur reçoit une demande d'authentification d'un client, cet événement est appelé pour indiquer si l'utilisateur est authentifié ou non.
Utilisez le paramètre Authenticated pour accepter ou non la connexion.
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 le type d'authentification n'est pas pris en charge par défaut, comme JWT, vous pouvez quand même utiliser cet événement pour accepter ou rejeter la connexion. Lisez simplement les paramètres et décidez si vous acceptez la connexion.
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;