TsgcHTTP2Client › Eventi › OnHTTP2Authorization
Viene attivato quando il server richiede l'autenticazione affinché l'applicazione possa fornire credenziali o un token 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 viene generato quando il server restituisce una sfida di autenticazione (in genere una risposta 401) in modo che l'applicazione possa fornire le credenziali da utilizzare per riprovare la richiesta. AuthType riporta lo schema richiesto dal server (ad esempio Basic o Bearer) e AuthData trasporta i dati aggiuntivi della sfida inviati insieme. Impostare UserName e Password per l'autenticazione Basic, o Token per i flussi Bearer / OAuth2, e impostare Handled su True affinché il client reinvii la richiesta con le credenziali fornite. Se Handled rimane False, la sfida viene propagata al chiamante come risposta normale.
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;