TsgcWebSocketServer | Uwierzytelnianie serwera

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

OnAuthentication

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;

 

 

OnUnknownAuthentication

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;