Chinaunix首页 | 论坛 | 博客
  • 博客访问: 23162
  • 博文数量: 5
  • 博客积分: 0
  • 博客等级: 民兵
  • 技术积分: 61
  • 用 户 组: 普通用户
  • 注册时间: 2016-08-03 11:15
文章分类
文章存档

2016年(5)

我的朋友
最近访客

分类: PHP

2016-08-03 14:47:59

appid 应用唯一标识  在OAuth2.0认证过程中,appid的值即为oauth_consumer_key的值。
appkey 密钥  访问用户资源时用来验证应用的合法性。在OAuth2.0认证过程中,appkey的值即为oauth_consumer_secret的值

第一步:
qq按钮跳转地址:
[YOUR_APPID]&redirect_uri=[YOUR_REDIRECT_URI]&scope=[THE_SCOPE]

response_type:必须字段,授权类型,此值为code
client_id:必须字段,appid的值
redirect_uri:必须字段,授权成功后的回调地址,必须是注册appid时填写的主域名下的地址,建议设置为网站首页或网站的用户中心。注意需要将url进行urlencode字符串编码
state:必须字段,client端的状态值。用于第三方应用防止CSRF攻击,成功授权后回调时会原样带回。请务必严格按照流程检查用户与state参数状态的绑定。
scope:可选,用户的授权,填写多个接口名称,用逗号隔开,参考:列表
【建议控制授权项的数量,只传入必要的接口名称,因为授权项越多,用户越可能拒绝进行任何授权。】

第二步:
获取code的值
$code = $_GET['code']
[appid]&client_secret=[appkey]&code=[$code]&redirect_uri=[回调地址]

grant_type: 必须 授权类型,此值固定为“authorization_code”。
client_id: 必须 申请QQ登录成功后,分配给网站的appid。
client_secret: 必须 申请QQ登录成功后,分配给网站的appkey。
code: 必须 上一步返回的authorization code。
如果用户成功登录并授权,则会跳转到指定的回调地址,并在URL中带上Authorization Code。
例如,回调地址为,则跳转到:
http://?code=520DD95263C1CFEA087****** 
注意此code会在10分钟内过期。
redirect_uri: 必须 与上面一步中传入的redirect_uri保持一致。

在回调地址中获取Access Token
如果成功返回,可以在回调地址中获取到access_token    注意:expires_in是该access token的有效期,单位为秒

可以通过 file_get_contents("第二步拼接的url")  字符串转换成数组的形式 获取access_token 的值;

第三步:获取用户的openid
{获取的access_token}

返回值:callback( {"client_id":"YOUR_APPID","openid":"YOUR_OPENID"} ); 
openid是此网站上唯一对应用户身份的标识,网站可将此ID进行存储便于用户下次登录时辨识其身份,或将其与用户在网站上的原有账号进行绑定。

第四步:
列表
以get_user_info接口为例:获取登录用户的昵称、头像、性别
{获取access_token}&oauth_consumer_key={appid}&openid={openid}&format=json

$data = file_get_contents($url);
$user_data = json_decode($data,true);

第五步:
登陆成功:跳转地址
阅读(9402) | 评论(0) | 转发(0) |
0

上一篇:没有了

下一篇:PHP实现接口示例代码

给主人留下些什么吧!~~