Serwer TsgcWebSocket obsługuje 3 rodzaje uwierzytelniania:
Można ustawić listę uwierzytelnionych użytkowników za pomocą właściwości AuthUsers — wystarczy podać użytkowników w następującym formacie: użytkownik=hasło
Za każdym razem, gdy serwer odbierze żądanie uwierzytelnienia od klienta, wywoływane jest to zdarzenie wskazujące, czy użytkownik jest uwierzytelniony, czy nie.
Należy użyć parametru Authenticated, aby zaakceptować lub odrzucić połączenie.
procedure OnAuthentication(Connection: TsgcWSConnection; aUser, aPassword: string;
var Authenticated: Boolean);
begin
if ((aUser = 'user') and (aPassword = 'secret')) then
Authenticated := true
else
Authenticated := false;
end;
Jeśli typ uwierzytelniania nie jest domyślnie obsługiwany, np. JWT, nadal można użyć tego zdarzenia, aby zaakceptować lub odrzucić połączenie. Wystarczy odczytać parametry i podjąć decyzję o akceptacji połączenia.
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;