TsgcWebSocketHTTPServer › Olaylar › OnUnknownAuthentication
Kimlik doğrulama etkinleştirildiğinde ve kimlik doğrulama yöntemi sunucu tarafından tanınmadığında tetiklenir.
property OnUnknownAuthentication: TsgcWSUnknownAuthenticationEvent;
// TsgcWSUnknownAuthenticationEvent = procedure(Connection: TsgcWSConnection; AuthType, AuthData: String; var aUser, aPassword: String; var Authenticated: Boolean) of object
—
OnUnknownAuthentication, istemci yerleşik şemalardan biriyle eşleşmeyen bir Authorization başlığı sunduğunda tetiklenir (Basic, Session, URL), örneğin bir JWT Bearer token veya özel bir şema. AuthType parametresi şema adını içerir ve AuthData, istemci tarafından gönderilen ham kimlik bilgilerini içerir; uygulama bunları ayrıştırabilir, aUser ve aPassword çıktı parametrelerini doldurabilir (böylece oturum bir kullanıcı adıyla etiketlenir) ve son olarak bağlantıyı kabul etmek için Authenticated'ı True veya reddetmek için False olarak ayarlayabilir. Authentication.Enabled True olduğunda hem WebSocket yükseltmeleri hem de HTTP istekleri için geçerlidir.
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;