TsgcHTTP2Client › 事件 › 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;