Der HTTP/2-Client unterstützt 2 Authentifizierungstypen: Basic Authentication und OAuth2 Authentication.
Verwenden Sie das Ereignis OnHTTP2Authorization, um beide Authentifizierungstypen zu behandeln.
Wenn der Server einen Header zurückgibt, der Basic Authentication anfordert, setzen Sie in OnHTTP2Authorization den Benutzernamen und das Passwort.
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;
Wenn der Server einen Header zurückgibt, der eine Bearer-Token-Authentifizierung anfordert, setzen Sie das Token in 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;
Wenn Sie den Bearer-Wert bereits kennen, weil Sie ihn mit einer anderen Methode erhalten haben, können Sie den Bearer-Wert als HTTP-Header übergeben, indem Sie die folgenden Eigenschaften der Anforderung verwenden; setzen Sie sie einfach vor dem Aufruf einer HTTP- Anforderungsmethode:
TsgcHTTP2Client.Request.BearerAuthentication = trueTsgcHTTP2Client.Request.BearerToken = "< value of the token >"
Lesen Sie den folgenden Artikel, wenn Sie unsere OAuth2- Komponente mit dem HTTP/2-Client verwenden möchten.