Yii2安装加载AuthClient Extension来实现第三方的授权登录

  •   
  • 4812
  • PHP
  • 38
  • super_dodo
  • 2016/11/08

最近接手一个工作内容需要获取第三方的授权登录,授权的第三方平台包括Twitter Facebook LinkedIn等。目前项目使用的Yii2框架。

对应的看了一下Twitter facebook 以及Linkedin的文档,发现有相似之处,又有不同之处,如果单独对每一个都引入一个扩展的话,显得不那么友好以及容易维护。

对于php程序员来说,facebook和linkedin是非常的友善的,极度的点赞一个,不仅有demo有sdk还有适当的中文文档,且清晰可见。

对于Twitter来说,文档都是英文的,且没找到php的demo和sdk,看到的一些curl的请求,后来在开发中也发现问题挺多的。

这个时候就需要一套相对统一的规范,幸好Yii2有相关的扩展,那就是AuthClient Extension。实在是太好了,大赞Yii2.不知道laravel TP是否也有类似的扩展。

Yii2的AuthClient Extension不仅有国外的各大平台(google,facebook,twitter,linkedin,Live,Yandex等),还有国内的QQ,微信,微博等。

那此时我们需要先安装这个扩展。

安装说明连接:http://www.yiiframework.com/doc-2.0/ext-authclient-index.html

建议使用composer.因为这里有一个依赖关系,那就是yii2-httpclient

The preferred way to install this extension is through composer.

//运行--执行下列语句
composer require --prefer-dist yiisoft/yii2-authclient

//或者
"yiisoft/yii2-authclient": "~2.1.0"

//to the require section of your composer.json.

之后在你的项目目录下面多了两个核心类 yii2-authclient 和 yii2-httpclient目录结构可能如下(部分)

----config
----controllers
----vendor
--------yiisoft
------------yii2
------------yii2-authclient (授权的核心类--新增)
------------yii2-gii
------------yii2-httpclient (这个文件很重要--新增--用于http请求)
------------extensions.php  (此文件里面内容已经变化了)

温馨提示,如果你之前没使用composer进行安装的,你想使用归档文件安装有点麻烦,主要是找yii2-httpclient这个很难,我找了好久没找到,才不得不使用composer。如果你的项目已经运作中,建议你用一个新的项目之后把生成的几个文件拷贝过去。

至此,安装这个组件扩展的部分已经完成。接下来我们就会一个一个的去做授权登录了。

Yii2安装加载AuthClient来实现第三方的授权登录

PHP使用Yii2实现Twitter授权登录并获取信息Demo

PHP使用Yii2实现Facebook授权登录并获取信息Demo

PHP使用Yii2实现LinkedIn授权登录并获取信息Demo

吾生也有涯,而知也无涯。以在涯随无涯,殆已;已而为知者,殆而已矣。——庄子《养生主》