Paul Klimov
11 years ago
3 changed files with 67 additions and 12 deletions
@ -0,0 +1,54 @@
|
||||
<?php |
||||
/** |
||||
* @link http://www.yiiframework.com/ |
||||
* @copyright Copyright (c) 2008 Yii Software LLC |
||||
* @license http://www.yiiframework.com/license/ |
||||
*/ |
||||
|
||||
namespace yii\authclient\clients; |
||||
|
||||
use yii\authclient\OAuth2; |
||||
|
||||
/** |
||||
* GoogleOAuth allows authentication via Google OAuth. |
||||
* In order to use Google OAuth you must register your application at [[https://code.google.com/apis/console#access]]. |
||||
* |
||||
* @see https://code.google.com/apis/console#access |
||||
* @see https://developers.google.com/google-apps/contacts/v3/ |
||||
* |
||||
* @author Paul Klimov <klimov.paul@gmail.com> |
||||
* @since 2.0 |
||||
*/ |
||||
class GoogleOAuth extends OAuth2 |
||||
{ |
||||
/** |
||||
* @inheritdoc |
||||
*/ |
||||
public function __construct($config = []) |
||||
{ |
||||
$config = array_merge( |
||||
[ |
||||
'clientId' => 'anonymous', |
||||
'clientSecret' => 'anonymous', |
||||
'authUrl' => 'https://accounts.google.com/o/oauth2/auth', |
||||
'tokenUrl' => 'https://accounts.google.com/o/oauth2/token', |
||||
'apiBaseUrl' => 'https://www.googleapis.com/oauth2/v1', |
||||
'scope' => implode(' ', [ |
||||
'https://www.googleapis.com/auth/userinfo.profile', |
||||
'https://www.googleapis.com/auth/userinfo.email', |
||||
]), |
||||
], |
||||
$config |
||||
); |
||||
parent::__construct($config); |
||||
} |
||||
|
||||
/** |
||||
* @inheritdoc |
||||
*/ |
||||
protected function initUserAttributes() |
||||
{ |
||||
$attributes = $this->api('userinfo', 'GET'); |
||||
return $attributes; |
||||
} |
||||
} |
Loading…
Reference in new issue