TsgcHTTP2Client | HTTP/2 en OAuth2

OAuth2 is een veelgebruikte autorisatiemethode die door meerdere bedrijven zoals Google wordt gebruikt. Wanneer u zich wilt authenticeren bij Google-servers om een van hun API's te gebruiken, is doorgaans authenticatie via OAuth2 vereist.

 

sgcWebSockets ondersteunt OAuth2 onder HTTP/2-client. Er is een eigenschap genaamd Authentication.Token.OAuth waar u een instantie van TsgcHTTP_OAuth2 moet toewijzen.

 

Verbinding maken met de GMail Google API

Om verbinding te maken met Google API's, moeten we een instantie van TsgcHTTP_OAuth2 aanmaken en de volgende gegevens invullen:

 


TsgcHTTP_OAuth1.AuthorizationServerOptions.AuthURL := 'https://accounts.google.com/o/oauth2/auth';
TsgcHTTP_OAuth1.AuthorizationServerOptions.TokenURL := 'https://accounts.google.com/o/oauth2/token';

TsgcHTTP_OAuth1.LocalServerOptions.IP := '127.0.0.1'; TsgcHTTP_OAuth1.LocalServerOptions.Port := 8080;
TsgcHTTP_OAuth1.OAuth2Options.ClientId := 'your client id'; TsgcHTTP_OAuth1.OAuth2Options.ClientSecret := 'your client secret';

 

Nadat u de OAuth2-clientcomponent hebt gevuld, maakt u een nieuwe instantie van TsgcHTTP2Client aan en wijst u de OAuth2-component toe aan de HTTP/2-client.

 


 TsgcHTTP2Client1.Authentication.Token.OAuth := TsgcHTTP_OAuth1;

 

Doe ten slotte een verzoek om een lijst met berichten op te halen van account uwenaam@gmail.com

 


oStream := TStringStream.Create('');
Try
  TsgcHTTP2Client1.Get('https://gmail.googleapis.com/gmail/v1/users/yourname@gmail.com/messages', oStream);
  ShowMessage(oStream.DataString);
Finally
  oStream.Free;
End;