1、安装 lulubin/yii2-oauth
composer require --prefer-dist lulubin/yii2-oauth dev-master
2、配 置,在components中增加如下内容
'components' => [ 'authClientCollection' => [ 'class' => 'yii\authclient\Collection', 'clients' => [ 'qq' => [ 'class' => 'lulubin\oauth\Qq', 'clientId' => '***', 'clientSecret' => '***', ], 'weibo' => [ 'class' => 'lulubin\oauth\Weibo', 'clientId' => '***', 'clientSecret' => '***', ], 'weixin' => [ 'class' => 'lulubin\oauth\Weixin', '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); } }
4、在登录界面添 加以下代码
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>
5、申请上述第三方的 APP ID和 APP KEY
(1)QQ互联:http://connect.qq.com/
(2)微信开放 平台:https://open.weixin.qq.com/
(3)新浪微博开放平台:http://open.weibo.com/
(4)Github Developer applications:https://github.com/settings/developers
QQ、微信和微博的申请比较麻烦,时间久网站 需要备案;Github的申请则十分迅速,建议先申请这个测试。
共 0 条评论