De HTTP/2-client ondersteunt 2 authenticatietypen: Basisauthenticatie en OAuth2-authenticatie.
Gebruik de gebeurtenis OnHTTP2Authorization om beide typen authenticatie af te handelen.
Als de server een header retourneert die Basic Authenticatie vereist, stelt u in OnHTTP2Authorization de gebruikersnaam en het wachtwoord in.
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;
Als de server een koptekst retourneert die Bearer Token-authenticatie vereist, stel dan het token in via 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;
Als u de Bearer-waarde al kent omdat u deze via een andere methode hebt verkregen, kunt u de Bearer-waarde als HTTP-header doorgeven via de volgende eigenschappen van het verzoek; stel deze in voordat u een HTTP-verzoeksmethode aanroept:
TsgcHTTP2Client.Request.BearerAuthentication = trueTsgcHTTP2Client.Request.BearerToken = "< value of the token >"
Lees het volgende artikel als u ons OAuth2-component met HTTP/2-client wilt gebruiken.