HTTP/2 istemcisi 2 kimlik doğrulama türünü destekler: Basic Authentication ve OAuth2 Authentication.
Her iki kimlik doğrulama türünü de işlemek için OnHTTP2Authorization olayını kullanın.
Sunucu, Basic Authentication isteyen bir başlık döndürürse, OnHTTP2Authorization üzerinde kullanıcı adını ve parolayı ayarlayın.
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;
Sunucu, Bearer Token Authentication isteyen bir başlık döndürürse, OnHTTP2Authorization'a token'ı ayarlayın.
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;
Bearer Değerini, başka bir yöntem kullanarak elde ettiğiniz için zaten biliyorsanız, Bearer değerini, isteğin aşağıdaki özelliklerini kullanarak bir HTTP başlığı olarak geçirebilirsiniz, herhangi bir HTTP İstek yöntemini çağırmadan önce ayarlamanız yeterlidir:
TsgcHTTP2Client.Request.BearerAuthentication = trueTsgcHTTP2Client.Request.BearerToken = "< value of the token >"
OAuth2 bileşenimizi HTTP/2 istemcisiyle kullanmak istiyorsanız aşağıdaki makaleyi okuyun.