TsgcHTTP2Client › イベント › 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;