TsgcHTTP2Client | HTTP/2 et OAuth2

OAuth2 est une méthode d'autorisation courante utilisée par plusieurs entreprises comme Google. Lorsque vous souhaitez vous authentifier auprès des serveurs Google pour utiliser l'une de leurs APIs, cela nécessite généralement une authentification via OAuth2.

 

sgcWebSockets prend en charge OAuth2 sous le client HTTP/2, il existe une propriété appelée Authentication.Token.OAuth où vous devez affecter une instance de TsgcHTTP_OAuth2.

 

Comment se connecter à l'API Google GMail

Pour se connecter aux API Google, nous devrons créer une instance de TsgcHTTP_OAuth2 et renseigner les données suivantes :

 


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';

 

Après avoir rempli le composant client OAuth2, créez une nouvelle instance de TsgcHTTP2Client et assignez le composant OAuth2 au client HTTP/2.

 


 TsgcHTTP2Client1.Authentication.Token.OAuth := TsgcHTTP_OAuth1;

 

Enfin, effectuez une requête pour obtenir la liste des messages du compte yourname@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;