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