TsgcWebSocketHTTPServer › Events › OnUnknownAuthentication
인증이 활성화되어 있고 인증 방법이 서버에서 인식되지 않을 때 발생합니다.
property OnUnknownAuthentication: TsgcWSUnknownAuthenticationEvent;
// TsgcWSUnknownAuthenticationEvent = procedure(Connection: TsgcWSConnection; AuthType, AuthData: String; var aUser, aPassword: String; var Authenticated: Boolean) of object
—
OnUnknownAuthentication은 클라이언트가 내장 스킴(Basic, Session, URL) 중 하나와 일치하지 않는 Authorization 헤더를 제시할 때 발생합니다(예: JWT Bearer 토큰 또는 사용자 정의 스킴). AuthType 매개변수는 스킴 이름을 포함하고 AuthData는 클라이언트가 보낸 원시 자격 증명을 포함합니다. 애플리케이션은 이를 파싱하고, aUser 및 aPassword 출력 매개변수를 채우며(세션이 사용자 이름으로 태그되도록), 마지막으로 연결을 수락하려면 Authenticated를 True로, 거부하려면 False로 설정할 수 있습니다. Authentication.Enabled가 True일 때 WebSocket 업그레이드와 HTTP 요청 모두에 적용됩니다.
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;