HTTP/2 클라이언트는 2가지 인증 유형을 지원합니다: Basic Authentication 과 OAuth2 Authentication.
두 가지 인증 유형을 모두 처리하려면 OnHTTP2Authorization 이벤트를 사용하십시오.
서버가 Basic Authentication을 요청하는 헤더를 반환하면, OnHTTP2Authorization에 사용자 이름과 비밀번호를 설정하십시오.
TsgcHTTP2Client *oClient = new TsgcHTTP2Client();
oClient->OnHTTP2Authorization = OnHTTP2AuthorizationEvent;
...
void OnHTTP2AuthorizationEvent(TObject *Sender, const TsgcHTTP2ConnectionClient *Connection, const string AuthType, const string AuthData, string &UserName, string &Password, string &aToken, bool &Handled)
{
if (AuthType == "Basic")
{
UserName = "user";
Password = "secret";
}
}
서버가 Bearer Token Authentication을 요청하는 헤더를 반환하면 OnHTTP2Authorization에 token을 설정하십시오.
TsgcHTTP2Client *oClient = new TsgcHTTP2Client();
oClient->OnHTTP2Authorization = OnHTTP2AuthorizationEvent;
...
void OnHTTP2AuthorizationEvent(TObject *Sender, const TsgcHTTP2ConnectionClient *Connection, const string AuthType, const string AuthData, string &UserName, string &Password, string &aToken, bool &Handled)
{
if (AuthType == "Bearer")
{
aToken = "bearer token";
}
}
다른 방법을 사용하여 Bearer Value를 얻어 이미 알고 있는 경우, 요청의 다음 속성을 사용하여 Bearer 값을 HTTP 헤더로 전달할 수 있습니다. HTTP 요청 메서드를 호출하기 전에 설정하기만 하면 됩니다:
TsgcHTTP2Client.Request.BearerAuthentication = trueTsgcHTTP2Client.Request.BearerToken = "< value of the token >"
HTTP/2 클라이언트와 함께 OAuth2 구성 요소를 사용하려면 다음 문서를 읽으십시오.