TsgcHTTP2Client | クライアント認証

HTTP/2 クライアントは 2 種類の認証タイプをサポートしています: Basic 認証と OAuth2 認証。

 

両方の認証タイプを処理するには、OnHTTP2Authorization イベントを使用します。

 

基本認証

サーバーが基本認証を要求するヘッダーを返した場合、OnHTTP2Authorization でユーザー名とパスワードを設定します。

 


oClient := TsgcHTTP2Client.Create(nil);
oClient.OnHTTP2Authorization := OnHTTP2AuthorizationEvent;
...
procedure OnHTTP2AuthorizationEvent(Sender: TObject; const Connection: TsgcHTTP2ConnectionClient; const AuthType, AuthData: string; var UserName, Password, aToken: string; var Handled: Boolean);
begin
  if AuthType = 'Basic' then
  begin
    UserName := 'user';
	Password := 'secret';
  end;
end;

Bearer Token

サーバーがBearer Token Authenticationを要求するヘッダーを返した場合は、 OnHTTP2Authorizationにトークンを設定します。

 


oClient := TsgcHTTP2Client.Create(nil);
oClient.OnHTTP2Authorization := OnHTTP2AuthorizationEvent;
...
procedure OnHTTP2AuthorizationEvent(Sender: TObject; const Connection: TsgcHTTP2ConnectionClient; const AuthType, AuthData: string; var UserName, Password, aToken: string; var Handled: Boolean);
begin
  if AuthType = 'Bearer' then
  begin
    aToken := 'bearer token';
  end;
end;

サードパーティからの Bearer 値

Bearer 値を別のメソッドで取得してすでに知っている場合は、次のリクエストプロパティを使用して HTTP ヘッダーとして Bearer 値を渡すことができます。HTTP リクエストメソッドを呼び出す前に設定してください:

 

 TsgcHTTP2Client.Request.BearerAuthentication 
 = true

TsgcHTTP2Client.Request.BearerToken = "< value of the token >"

 

OAuth2

HTTP/2 クライアントで OAuth2 コンポーネントを使用する方法については以下の記事をお読みください。