TsgcHTTP2Client | Uwierzytelnianie klienta

Klient HTTP/2 obsługuje 2 typy uwierzytelniania: uwierzytelnianie podstawowe (Basic Authentication) i uwierzytelnianie OAuth2.

 

Należy użyć zdarzenia OnHTTP2Authorization, aby obsługiwać oba typy uwierzytelniania.

 

Uwierzytelnianie podstawowe

Jeśli serwer zwraca nagłówek żądający uwierzytelnienia Basic, należy ustawić nazwę użytkownika i hasło w 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

Jeśli serwer zwróci nagłówek z żądaniem uwierzytelnienia tokenem Bearer, należy ustawić token w zdarzeniu 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;

Wartość Bearer od strony trzeciej

Jeśli wartość Bearer jest już znana, ponieważ została uzyskana inną metodą, można ją przekazać jako nagłówek HTTP przy użyciu następujących właściwości żądania; należy je ustawić przed wywołaniem dowolnej metody żądania HTTP:

 

 TsgcHTTP2Client.Request.BearerAuthentication 
 = true

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

 

OAuth2

Przeczytaj następujący artykuł, jeśli chcesz używać naszego komponentu OAuth2 z klientem HTTP/2.