TsgcHTTP2Client事件 › OnHTTP2Authorization

OnHTTP2Authorization 事件

当服务器要求身份验证时触发,以便应用程序提供凭据或 Bearer 令牌。

语法

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;

返回事件