TsgcWebSocketServer › Eventos › OnUnknownAuthentication
Disparado quando a autenticação está habilitada e o método de autenticação 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 o cliente 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, preencher os parâmetros de saída aUser e aPassword (de modo que a sessão seja marcada com um nome de usuário) e, por fim, definir Authenticated como True para aceitar a conexão 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;