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;