TsgcHTTP2Clientイベント › OnHTTP2Authorization

OnHTTP2Authorization イベント

サーバーが認証を要求したときに発生し、アプリケーションが資格情報またはベアラートークンを提供できます。

構文

property OnHTTP2Authorization: TsgcHTTP2ClientAuthorizationEvent;
// TsgcHTTP2ClientAuthorizationEvent = procedure(Sender: TObject; const Connection: TsgcHTTP2ConnectionClient; const AuthType, AuthData: String; var UserName, Password, Token: String; var Handled: Boolean) of object

デフォルト値

解説

OnHTTP2Authorization は、サーバーが認証チャレンジ(通常は 401 レスポンス)を返したときに発生します。アプリケーションはリクエストの再試行に使用する認証情報を提供できます。AuthType はサーバーがリクエストしたスキーム(例:Basic または Bearer)を報告し、AuthData はそれとともに送信された追加のチャレンジデータを持ちます。Basic 認証には UserName と Password を設定し、Bearer / OAuth2 フローには Token を設定し、クライアントが提供した認証情報でリクエストを再送信するように Handled を True に設定します。Handled を False のままにすると、チャレンジは通常のレスポンスとして呼び出し元に伝播されます。

使用例


procedure OnHTTP2AuthorizationEvent(Sender: TObject; const Connection: TsgcHTTP2ConnectionClient;
  const AuthType, AuthData: String; var UserName, Password, Token: String; var Handled: Boolean);
begin
  if SameText(AuthType, 'Basic') then
  begin
    UserName := 'user';
    Password := 'secret';
    Handled := True;
  end
  else if SameText(AuthType, 'Bearer') then
  begin
    Token := 'eyJhbGciOi...';
    Handled := True;
  end;
end;

イベントに戻る