El cliente HTTP/2 admite 2 tipos de autenticación: Autenticación básica y Autenticación OAuth2.
Use el evento OnHTTP2Authorization para gestionar ambos tipos de autenticación.
Si el servidor devuelve una cabecera solicitando autenticación básica, establezca en OnHTTP2Authorization el nombre de usuario y la contraseña.
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;
Si el servidor devuelve una cabecera solicitando autenticación con Bearer Token, establezca el token en 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;
Si ya conoce el valor Bearer, porque lo ha obtenido mediante otro método, puede pasarlo como encabezado HTTP utilizando las siguientes propiedades de la solicitud; simplemente establézcase antes de llamar a cualquier método de solicitud HTTP:
TsgcHTTP2Client.Request.BearerAuthentication = trueTsgcHTTP2Client.Request.BearerToken = "< value of the token >"
Lea el siguiente artículo si desea utilizar nuestro componente OAuth2 con cliente HTTP/2.