lulubin / yii2-oauth
yii2的oauth扩展
dev-main
2023-07-25 05:35 UTC
Requires
- yiisoft/yii2: ~2.0.0
- yiisoft/yii2-authclient: ~2.1.0
This package is auto-updated.
Last update: 2024-09-25 07:59:43 UTC
README
composer require --prefer-dist lulubin/yii2-oauth "dev-master"
2.配置
'components' => [ 'authClientCollection' => [ 'class' => 'yii\authclient\Collection', 'clients' => [ 'qq' => [ 'class' => 'lulubin\oauth\Qq', 'clientId' => '***', 'clientSecret' => '***', ], 'weixin' => [ 'class' => 'lulubin\oauth\Weixin', 'clientId' => '***', 'clientSecret' => '***', ], 'weibo' => [ 'class' => 'lulubin\oauth\Weibo', 'clientId' => '***', 'clientSecret' => '***', ], 'github' => [ 'class' => 'yii\authclient\clients\GitHub', 'clientId' => '***', 'clientSecret' => '***, ], ] ] ]
3.使用方法
控制器
class SiteController extends Controller { public function actions() { return [ 'auth' => [ 'class' => 'yii\authclient\AuthAction', 'successCallback' => [$this, 'successCallback'], ], ]; } public function successCallback($client) { $id = $client->getId(); $attributes = $client->getUserAttributes(); var_dump($id, $attributes); } }
视图
<?php
use yii\helpers\Html;
use lulubin\oauth\assets\AuthChoiceAsset;
AuthChoiceAsset::register($this);
?>
<div class="form-group other-way">
<?=Html::a('',['/site/auth','authclient'=>'qq'],['class'=>'qq'])?>
<?=Html::a('',['/site/auth','authclient'=>'weibo'],['class'=>'weibo'])?>
<?=Html::a('',['/site/auth','authclient'=>'weixin'],['class'=>'weixin'])?>
<?=Html::a('',['/site/auth','authclient'=>'github'],['class'=>'github'])?>
</div>
4.申请上述第三方的APP ID和APP KEY
(1)QQ互联:http://connect.qq.com/
(2)微信开放平台:https://open.weixin.qq.com/
(3)新浪微博开放平台:http://open.weibo.com/
(4)Github开发者应用:https://github.com/settings/developers
QQ和微博的申请比较麻烦,需要网站备案;
Github的申请则非常迅速,建议先申请这个测试。