TsgcWebSocketHTTPServer › Events › 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 token JWT Bearer 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 parseá-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, finalmente, definir Authenticated como True para aceitar a conexão ou como False para rejeitá-la. Aplica-se tanto a upgrades WebSocket quanto a requisições HTTP quando Authentication.Enabled é 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;