TsgcWebSocketServer › 事件 › OnUnknownAuthentication
当启用身份验证且服务器无法识别身份验证方法时触发。
property OnUnknownAuthentication: TsgcWSUnknownAuthenticationEvent;
// TsgcWSUnknownAuthenticationEvent = procedure(Connection: TsgcWSConnection; AuthType, AuthData: String; var aUser, aPassword: String; var Authenticated: Boolean) of object
—
当客户端提供的 Authorization 标头不匹配任何内置方案(Basic、Session、URL)时,例如 JWT Bearer 令牌或自定义方案,将触发 OnUnknownAuthentication。AuthType 参数包含方案名称,AuthData 包含客户端发送的原始凭据;应用程序可解析它们,填充 aUser 和 aPassword 输出参数(以便会话被标记用户名),最后将 Authenticated 设为 True 接受连接或设为 False 拒绝连接。
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;