Ignore:
Timestamp:
Dec 27, 2016, 11:46:52 AM (3 years ago)
Author:
brunobergot@…
Message:

version 3.4.6 : sécurité, maj de la lib PHPMailer en version 5.2.19

on en profite pour ajouter PHPMailer aux crédits du plugin

astuce en cadeau, les commandes svn pour retirer les fichiers absents ou ajouteur les nouveaux :

svn rm $( svn status | sed -e '/^!/!d' -e 's/^!//' ) + svn add $( svn status | sed -e '/^?/!d' -e 's/^?//' )

File:
1 edited

Legend:

Unmodified
Added
Removed
  • _plugins_/facteur/trunk/phpmailer-php5/get_oauth_token.php

    r92830 r101345  
    1414 */
    1515
     16namespace League\OAuth2\Client\Provider;
     17
    1618require 'vendor/autoload.php';
     19
     20use League\OAuth2\Client\Provider\Exception\IdentityProviderException;
     21use League\OAuth2\Client\Token\AccessToken;
     22use League\OAuth2\Client\Tool\BearerAuthorizationTrait;
     23use Psr\Http\Message\ResponseInterface;
    1724
    1825session_start();
     
    2633$clientSecret = 'RANDOMCHARS-----lGyjPcRtvP';
    2734
     35class Google extends AbstractProvider
     36{
     37    use BearerAuthorizationTrait;
     38
     39    const ACCESS_TOKEN_RESOURCE_OWNER_ID = 'id';
     40
     41    /**
     42     * @var string If set, this will be sent to google as the "access_type" parameter.
     43     * @link https://developers.google.com/accounts/docs/OAuth2WebServer#offline
     44     */
     45    protected $accessType;
     46
     47    /**
     48     * @var string If set, this will be sent to google as the "hd" parameter.
     49     * @link https://developers.google.com/accounts/docs/OAuth2Login#hd-param
     50     */
     51    protected $hostedDomain;
     52
     53    /**
     54     * @var string If set, this will be sent to google as the "scope" parameter.
     55     * @link https://developers.google.com/gmail/api/auth/scopes
     56     */
     57    protected $scope;
     58
     59    public function getBaseAuthorizationUrl()
     60    {
     61        return 'https://accounts.google.com/o/oauth2/auth';
     62    }
     63
     64    public function getBaseAccessTokenUrl(array $params)
     65    {
     66        return 'https://accounts.google.com/o/oauth2/token';
     67    }
     68
     69    public function getResourceOwnerDetailsUrl(AccessToken $token)
     70    {
     71        return ' ';
     72    }
     73
     74    protected function getAuthorizationParameters(array $options)
     75    {
     76        if (is_array($this->scope)) {
     77            $separator = $this->getScopeSeparator();
     78            $this->scope = implode($separator, $this->scope);
     79        }
     80
     81        $params = array_merge(
     82            parent::getAuthorizationParameters($options),
     83            array_filter([
     84                'hd'          => $this->hostedDomain,
     85                'access_type' => $this->accessType,
     86                'scope'       => $this->scope,
     87                // if the user is logged in with more than one account ask which one to use for the login!
     88                'authuser'    => '-1'
     89            ])
     90        );
     91        return $params;
     92    }
     93
     94    protected function getDefaultScopes()
     95    {
     96        return [
     97            'email',
     98            'openid',
     99            'profile',
     100        ];
     101    }
     102
     103    protected function getScopeSeparator()
     104    {
     105        return ' ';
     106    }
     107
     108    protected function checkResponse(ResponseInterface $response, $data)
     109    {
     110        if (!empty($data['error'])) {
     111            $code  = 0;
     112            $error = $data['error'];
     113
     114            if (is_array($error)) {
     115                $code  = $error['code'];
     116                $error = $error['message'];
     117            }
     118
     119            throw new IdentityProviderException($error, $code, $data);
     120        }
     121    }
     122
     123    protected function createResourceOwner(array $response, AccessToken $token)
     124    {
     125        return new GoogleUser($response);
     126    }
     127}
     128
     129
    28130//Set Redirect URI in Developer Console as [https/http]://<yourdomain>/<folder>/get_oauth_token.php
    29 $provider = new League\OAuth2\Client\Provider\Google(
     131$provider = new Google(
    30132    array(
    31133        'clientId' => $clientId,
    32134        'clientSecret' => $clientSecret,
    33135        'redirectUri' => $redirectUri,
    34         'scopes' => array('https://mail.google.com/'),
    35         'accessType' => 'offline'
     136        'scope' => array('https://mail.google.com/'),
     137        'accessType' => 'offline'
    36138    )
    37139);
Note: See TracChangeset for help on using the changeset viewer.