YurunOAuthLogin QQ
目录
[TOC]
说明
QQ登录授权类
命名空间
Yurun\OAuthLogin\QQ\OAuth2
属性
名称 | 类型 | 说明 |
---|---|---|
$display | string | 仅PC网站接入时使用。用于展示的样式。不传则默认展示为PC下的样式。如果传入“mobile”,则展示为mobile端下的样式。<br/> |
$openidMode | int | openid从哪个字段取,默认为openid<br/> |
$isUseUnionID | boolean | 是否使用unionid,默认为false<br/> |
$http | Yurun\Until\HttpRequest | http请求类<br/> |
$appid | string | 应用的唯一标识。<br/> |
$appSecret | string | appid对应的密钥<br/> |
$callbackUrl | string | 登录回调地址<br/> |
$state | string | state值,调用getAuthUrl方法后可以获取到<br/> |
$scope | array | 授权权限列表<br/> |
$result | array | 接口调用结果<br/> |
$accessToken | string | AccessToken,调用相应方法后可以获取到<br/> |
$openid | string | openid,调用相应方法后可以获取到<br/> |
方法
getUrl
获取url地址<br/>
定义: public function getUrl($name, $params = [])
参数:
名称 | 类型 | 描述 |
---|---|---|
$name | string | 跟在域名后的文本 |
$params | array | GET参数 |
返回值: string
getAuthUrl
第一步:获取登录页面跳转url<br/>
定义: public function getAuthUrl($callbackUrl = null, $state = null, $scope = null)
参数:
名称 | 类型 | 描述 |
---|---|---|
$callbackUrl | string | 登录回调地址 |
$state | string | 状态值,不传则自动生成,随后可以通过->state获取。用于第三方应用防止CSRF攻击,成功授权后回调时会原样带回。一般为每个用户登录时随机生成state存在session中,登录回调中判断state是否和session中相同 |
$scope | array | 请求用户授权时向用户显示的可进行授权的列表。可空 |
返回值: string
getUserInfo
获取用户资料<br/>
定义: public function getUserInfo($accessToken = null)
参数:
名称 | 类型 | 描述 |
---|---|---|
$accessToken | string | / |
返回值: array
refreshToken
刷新AccessToken续期<br/>
定义: public function refreshToken($refreshToken)
参数:
名称 | 类型 | 描述 |
---|---|---|
$refreshToken | string | / |
返回值: bool
validateAccessToken
检验授权凭证AccessToken是否有效<br/>
定义: public function validateAccessToken($accessToken = null)
参数:
名称 | 类型 | 描述 |
---|---|---|
$accessToken | string | / |
返回值: bool
getOpenID
获取OpenID<br/>
定义: public function getOpenID($accessToken = null)
参数:
名称 | 类型 | 描述 |
---|---|---|
$accessToken | string | / |
返回值: string
__construct
构造方法<br/>
定义: public function __construct($appid, $appSecret, $callbackUrl)
参数:
名称 | 类型 | 描述 |
---|---|---|
$appid | string | 应用的唯一标识 |
$appSecret | string | appid对应的密钥 |
$callbackUrl | string | 登录回调地址 |
返回值: 无
jsonp_decode
把jsonp转为php数组<br/>
定义: public function jsonp_decode($jsonp, $assoc = false)
参数:
名称 | 类型 | 描述 |
---|---|---|
$jsonp | string | jsonp字符串 |
$assoc | boolean | 当该参数为true时,将返回array而非object |
返回值: array
checkState
检测state是否相等<br/>
定义: public function checkState($storeState, $state = null)
参数:
名称 | 类型 | 描述 |
---|---|---|
$storeState | string | 本地存储的正确的state |
$state | string | 回调传递过来的state |
返回值: bool
getAccessToken
第二步:处理回调并获取access_token。与getAccessToken不同的是会验证state值是否匹配,防止csrf攻击。<br/>
定义: public function getAccessToken($storeState, $code = null, $state = null)
参数:
名称 | 类型 | 描述 |
---|---|---|
$storeState | string | 存储的正确的state |
$code | string | 第一步里$redirectUri地址中传过来的code,为null则通过get参数获取 |
$state | string | 回调接收到的state,为null则通过get参数获取 |
返回值: string
更多建议: