TsgcWebSocketHTTPServer › Zdarzenia › OnUnknownAuthentication
Wywoływane, gdy uwierzytelnianie jest włączone, a metoda uwierzytelniania nie jest rozpoznawana przez serwer.
property OnUnknownAuthentication: TsgcWSUnknownAuthenticationEvent;
// TsgcWSUnknownAuthenticationEvent = procedure(Connection: TsgcWSConnection; AuthType, AuthData: String; var aUser, aPassword: String; var Authenticated: Boolean) of object
—
OnUnknownAuthentication jest wywoływane, gdy klient przedstawia nagłówek Authorization, który nie pasuje do żadnego z wbudowanych schematów (Basic, Session, URL), na przykład tokenu Bearer JWT lub niestandardowego schematu. Parametr AuthType zawiera nazwę schematu, a AuthData nieprzetworzone poświadczenia wysłane przez klienta; aplikacja może je przetworzyć, wypełnić parametry wyjściowe aUser i aPassword (dzięki czemu sesja jest otagowana nazwą użytkownika), a następnie ustawić Authenticated na True, aby zaakceptować połączenie, lub na False, aby je odrzucić. Dotyczy zarówno aktualizacji WebSocket, jak i żądań HTTP, gdy Authentication.Enabled jest True.
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;