����JFIF��H�H����Exif��MM�*���� ��3����V�����3������3�(��������������������3�����
Server IP : 74.208.127.88 / Your IP : 3.144.16.26 Web Server : Apache/2.4.41 (Ubuntu) System : Linux ubuntu 5.4.0-163-generic #180-Ubuntu SMP Tue Sep 5 13:21:23 UTC 2023 x86_64 User : www-data ( 33) PHP Version : 7.4.3-4ubuntu2.29 Disable Function : pcntl_alarm,pcntl_fork,pcntl_waitpid,pcntl_wait,pcntl_wifexited,pcntl_wifstopped,pcntl_wifsignaled,pcntl_wifcontinued,pcntl_wexitstatus,pcntl_wtermsig,pcntl_wstopsig,pcntl_signal,pcntl_signal_get_handler,pcntl_signal_dispatch,pcntl_get_last_error,pcntl_strerror,pcntl_sigprocmask,pcntl_sigwaitinfo,pcntl_sigtimedwait,pcntl_exec,pcntl_getpriority,pcntl_setpriority,pcntl_async_signals,pcntl_unshare, MySQL : OFF | cURL : ON | WGET : ON | Perl : ON | Python : OFF | Sudo : ON | Pkexec : ON Directory : /var/www/html/app6/application/envia/PHPMailer/ |
Upload File : |
<?php /** * Get an OAuth2 token from Google. * * Install this script on your server so that it's accessible * as [https/http]://<yourdomain>/<folder>/get_oauth_token.php * e.g.: http://localhost/phpmail/get_oauth_token.php * * Ensure dependencies are installed with 'composer install' * * Set up an app in your Google developer console * * Set the script address as the app's redirect URL * If no refresh token is obtained when running this file, revoke access to your app * using link: https://accounts.google.com/b/0/IssuedAuthSubTokens and run the script again. * This script requires PHP 5.4 or later * PHP Version 5.4 */ namespace League\OAuth2\Client\Provider; require 'vendor/autoload.php'; use League\OAuth2\Client\Provider\Exception\IdentityProviderException; use League\OAuth2\Client\Token\AccessToken; use League\OAuth2\Client\Tool\BearerAuthorizationTrait; use Psr\Http\Message\ResponseInterface; session_start(); //If this automatic URL doesn't work, set it yourself manually $redirectUri = isset($_SERVER['HTTPS']) ? 'https://' : 'http://' . $_SERVER['HTTP_HOST'] . $_SERVER['PHP_SELF']; //$redirectUri = 'http://localhost/phpmailer/get_oauth_token.php'; //These details obtained are by setting up app in Google developer console. $clientId = 'RANDOMCHARS-----duv1n2.apps.googleusercontent.com'; $clientSecret = 'RANDOMCHARS-----lGyjPcRtvP'; class Google extends AbstractProvider { use BearerAuthorizationTrait; const ACCESS_TOKEN_RESOURCE_OWNER_ID = 'id'; /** * @var string If set, this will be sent to google as the "access_type" parameter. * @link https://developers.google.com/accounts/docs/OAuth2WebServer#offline */ protected $accessType; /** * @var string If set, this will be sent to google as the "hd" parameter. * @link https://developers.google.com/accounts/docs/OAuth2Login#hd-param */ protected $hostedDomain; /** * @var string If set, this will be sent to google as the "scope" parameter. * @link https://developers.google.com/gmail/api/auth/scopes */ protected $scope; public function getBaseAuthorizationUrl() { return 'https://accounts.google.com/o/oauth2/auth'; } public function getBaseAccessTokenUrl(array $params) { return 'https://accounts.google.com/o/oauth2/token'; } public function getResourceOwnerDetailsUrl(AccessToken $token) { return ' '; } protected function getAuthorizationParameters(array $options) { if (is_array($this->scope)) { $separator = $this->getScopeSeparator(); $this->scope = implode($separator, $this->scope); } $params = array_merge( parent::getAuthorizationParameters($options), array_filter([ 'hd' => $this->hostedDomain, 'access_type' => $this->accessType, 'scope' => $this->scope, // if the user is logged in with more than one account ask which one to use for the login! 'authuser' => '-1' ]) ); return $params; } protected function getDefaultScopes() { return [ 'email', 'openid', 'profile', ]; } protected function getScopeSeparator() { return ' '; } protected function checkResponse(ResponseInterface $response, $data) { if (!empty($data['error'])) { $code = 0; $error = $data['error']; if (is_array($error)) { $code = $error['code']; $error = $error['message']; } throw new IdentityProviderException($error, $code, $data); } } protected function createResourceOwner(array $response, AccessToken $token) { return new GoogleUser($response); } } //Set Redirect URI in Developer Console as [https/http]://<yourdomain>/<folder>/get_oauth_token.php $provider = new Google( array( 'clientId' => $clientId, 'clientSecret' => $clientSecret, 'redirectUri' => $redirectUri, 'scope' => array('https://mail.google.com/'), 'accessType' => 'offline' ) ); if (!isset($_GET['code'])) { // If we don't have an authorization code then get one $authUrl = $provider->getAuthorizationUrl(); $_SESSION['oauth2state'] = $provider->getState(); header('Location: ' . $authUrl); exit; // Check given state against previously stored one to mitigate CSRF attack } elseif (empty($_GET['state']) || ($_GET['state'] !== $_SESSION['oauth2state'])) { unset($_SESSION['oauth2state']); exit('Invalid state'); } else { // Try to get an access token (using the authorization code grant) $token = $provider->getAccessToken( 'authorization_code', array( 'code' => $_GET['code'] ) ); // Use this to get a new access token if the old one expires echo 'Refresh Token: ' . $token->getRefreshToken(); }