阅读(2890) (0)

YurunOAuthLogin 功能使用

2017-10-12 13:14:02 更新

目录

[TOC]

说明

这里仅做最简单使用方法的说明,个性化设置请查阅进阶开发。

所有平台的授权登录调用方法都是一样的,唯一不同的是实例化的类!如果有个性化的参数需要传,采用类属性赋值的方式传递,详见文档。

实例化

$qqOAuth = new \Yurun\OAuthLogin\QQ\OAuth2('appid', 'appkey', 'callbackUrl');

把上面3个参数替换成你的即可。

登录

// 获取登录授权跳转页地址
$url = $qqOAuth->getAuthUrl();
// 存储sdk自动生成的state,回调处理时候要验证
$_SESSION['YURUN_QQ_STATE'] = $qqOAuth->state;
// 跳转到登录页
header('location:' . $url);

回调处理

// 获取accessToken,把之前存储的state传入,会自动判断。获取失败会抛出异常!
$accessToken = $qqOAuth->getAccessToken($_SESSION['YURUN_QQ_STATE']);


// 调用过getAccessToken方法后也可这么获取accessToken
$accessToken = $qqOAuth->accessToken;


// 这是getAccessToken的api请求返回结果,一般不需要用到
$result = $qqOAuth->result;

获取用户资料

// openid,用户在第三方平台的唯一标识
$openid = $qqOAuth->openid;
// 获取用户资料,第一个参数不传则默认使用getAccessToken方法获取到的结果
$userInfo = $qqOAuth->getUserInfo();

到这里常见的登录授权拿资料的流程基本走完,下面的是少数场景需要用到的方法。

刷新AccessToken续期

// $refreshToken需要自行查阅对应平台文档,从哪边获取。
$qqOAuth->refreshToken($refreshToken);
平台 支持刷新
QQ
微信
微博 ×
Github ×

验证AccessToken是否有效

验证AccessToken的实现:使用getUserInfo方法来判断,是否可以正常获取到资料。

$areYouOk = $qqOAuth->validateAccessToken($accessToken);