TsgcWebSocketProxyServer › イベント › 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ベアラートークンやカスタムスキームです。AuthTypeパラメータにはスキーム名が含まれ、AuthDataにはクライアントが送信した生の認証情報が含まれます。アプリケーションはこれらを解析し、aUserおよびaPasswordの出力パラメータに値を設定して(セッションにユーザー名をタグ付けするため)、最終的にAuthenticatedをTrueに設定して接続を受け入れる(プロキシが代わりにアップストリームTCPセッションを開く)か、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;