-
Notifications
You must be signed in to change notification settings - Fork 43
oauth_client
刘广财 edited this page Apr 4, 2018
·
1 revision
- 检测业务中的会话状态(检测登录),如果会话中已包含用户信息(已登录)则直接到步骤 5,否则步骤 2
- 如果当前没有会话(还没有登录),则跳转到授权页
- 用户同意授权,页面将自动跳转至回调(callback)页并带上 code
- 通过
code换取AccessToken,通过AccessToken获取用户信息并存入会话。 - 跳转至最终业务页面
微信网页授权需要在公众号后台设置回调域名。
网页授权机制有两种 scope 类型: snsapi_base 和 snsapi_userinfo,以 snsapi_base 发起的网页授权,不需要用户手动同意,但只能获取到 openid,相反,以 snsapi_userinfo 发起的授权,需要用户手动同意,同意后可获取用户的 openid, 昵称,头像,性别, 所在地等信息。
use Itxiao6\Wechat\OAuth\Client;
$client = new Client('appid', 'appsecret');
if( !isset($_GET['code']) ) {
header('Location: '.$client->getAuthorizeUrl());
}
$accessToken = $client->getAccessToken($_GET['code']);
var_dump($accessToken->toArray());$userinfo = $accessToken->getUser();
var_dump($userinfo->toArray());$client->setScope('snsapi_userinfo');$client->setRedirectUri('http://example.com/callback.php');- 基础支持
- 网页授权
- 用户管理
- 自定义菜单
- 微信支付
- 消息管理
- 事件