1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950515253545556575859606162636465666768697071727374757677 |
- <?php
- class PHPMailerOAuthGoogle
- {
- private $oauthUserEmail = '';
- private $oauthRefreshToken = '';
- private $oauthClientId = '';
- private $oauthClientSecret = '';
-
- public function __construct(
- $UserEmail,
- $ClientSecret,
- $ClientId,
- $RefreshToken
- ) {
- $this->oauthClientId = $ClientId;
- $this->oauthClientSecret = $ClientSecret;
- $this->oauthRefreshToken = $RefreshToken;
- $this->oauthUserEmail = $UserEmail;
- }
- private function getProvider()
- {
- return new League\OAuth2\Client\Provider\Google([
- 'clientId' => $this->oauthClientId,
- 'clientSecret' => $this->oauthClientSecret
- ]);
- }
- private function getGrant()
- {
- return new \League\OAuth2\Client\Grant\RefreshToken();
- }
- private function getToken()
- {
- $provider = $this->getProvider();
- $grant = $this->getGrant();
- return $provider->getAccessToken($grant, ['refresh_token' => $this->oauthRefreshToken]);
- }
- public function getOauth64()
- {
- $token = $this->getToken();
- return base64_encode("user=" . $this->oauthUserEmail . "\001auth=Bearer " . $token . "\001\001");
- }
- }
|