You can not select more than 25 topics
Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
Klimov Paul
f924984926
|
11 years ago | |
---|---|---|
.. | ||
clients | 11 years ago | |
signature | 11 years ago | |
views | 11 years ago | |
widgets | 11 years ago | |
AuthAction.php | 11 years ago | |
BaseClient.php | 11 years ago | |
BaseOAuth.php | 11 years ago | |
ClientInterface.php | 11 years ago | |
Collection.php | 11 years ago | |
LICENSE.md | 11 years ago | |
OAuth1.php | 11 years ago | |
OAuth2.php | 11 years ago | |
OAuthToken.php | 11 years ago | |
OpenId.php | 11 years ago | |
README.md | 11 years ago | |
composer.json | 11 years ago |
README.md
AuthClient Extension for Yii 2
This extension adds OpenID, OAuth and OAuth2 consumers for the Yii 2 framework.
Installation
The preferred way to install this extension is through composer.
Either run
php composer.phar require yiisoft/yii2-authclient "*"
or add
"yiisoft/yii2-authclient": "*"
to the require
section of your composer.json.
Usage & Documentation
This extension provides the ability of the authentication via external credentials providers. It covers OpenID, OAuth1 and OAuth2 protocols.
You need to setup auth client collection application component:
'components' => [
'authClientCollection' => [
'class' => 'yii\authclient\Collection',
'clients' => [
'google' => [
'class' => 'yii\authclient\clients\GoogleOpenId'
],
'facebook' => [
'class' => 'yii\authclient\clients\Facebook',
'clientId' => 'facebook_client_id',
'clientSecret' => 'facebook_client_secret',
],
],
]
...
]
Then you need to add yii\authclient\AuthAction to some of your web controllers:
class SiteController extends Controller
{
public function actions()
{
return [
'auth' => [
'class' => 'yii\authclient\AuthAction',
'successCallback' => [$this, 'successCallback'],
],
]
}
public function successCallback($client)
{
$attributes = $client->getUserAttributes();
// user login or signup comes here
}
}
You may use yii\authclient\widgets\Choice to compose auth client selection:
<?= yii\authclient\widgets\Choice::widget([
'baseAuthUrl' => ['site/auth']
]) ?>