TsgcWebSocketProxyServer › Events › OnUnknownAuthentication
Disparado quando a autenticação está habilitada e o método de autenticação de um cliente downstream não é reconhecido pelo servidor.
property OnUnknownAuthentication: TsgcWSUnknownAuthenticationEvent;
// TsgcWSUnknownAuthenticationEvent = procedure(Connection: TsgcWSConnection; AuthType, AuthData: String; var aUser, aPassword: String; var Authenticated: Boolean) of object
—
OnUnknownAuthentication é gerado quando um cliente downstream apresenta um cabeçalho Authorization que não corresponde a um dos esquemas integrados (Basic, Session, URL), por exemplo um JWT Bearer token ou um esquema personalizado. O parâmetro AuthType contém o nome do esquema e AuthData contém as credenciais brutas enviadas pelo cliente; a aplicação pode analisá-las, popular os parâmetros de saída aUser e aPassword (para que a sessão seja marcada com um nome de usuário) e, por fim, definir Authenticated como True para aceitar a conexão (para que o proxy abra a sessão TCP upstream em seu nome) ou como False para rejeitá-la.
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;