php qq登录接口开发文档,QQ登录OAuth2.0的处理流程

QQ登录OAuth2.0的处理流程

QQ登录OAuth2.0的处理流程主要包括以下三个步骤:

1. 获取access_token;

2. 根据access_token获得对应用户身份的openid;

3. 根据access_token与openid调用OpenAPI,来请求访问或修改用户授权的资源(例如用户资料,日志,相册,说说等信息)。

为方便网站快速接入,QQ登录提供了JS SDK,粘贴代码到网页,即可实现QQ登录功能。

为方便移动应用快速接入,QQ登录提供了Android SDK和IOS SDK,应用只需要修改少量代码,即可快速实现QQ登录功能。

Step1:获取access_token

QQ登录OAuth2.0针对网站、移动应用、桌面应用分别提供了不同的登录验证和授权流程,目前提供以下2种获取access token的方式:

1. server-side模式

即OAuth官方文档中提到的Authorization Code模式,适用于需要从web server访问的应用。

2. client-side模式

即OAuth官方文档中提到的Implicit模式,适用于需要通过客户端访问的方式。

以上两种模式仅在获取access_token时有所区别,后续获取openid、调用API等方式均相同。

登录成功后,开发者会得到表示此次登录信息的access token,此参数在访问用户授权信息中会用到。

access token由每次用户登录时生成,过期时间默认为三个月,用户再次登录时自动刷新。

Step2:根据access_token获得对应用户身份的openid

请求地址:

PC网站:https://graph.qq.com/oauth2.0/me

WAP网站:https://graph.z.qq.com/moc2/me

请求方法:

GET

请求参数:

请求参数请包含如下内容:

5f9098f9af17e185340d0bd9969886ff.png

返回说明:

PC网站接入时,获取到用户OpenID,返回包如下:

callback( {"client_id":"YOUR_APPID","openid":"YOUR_OPENID"} );

WAP网站接入时,返回如下字符串:

client_id=100222222&openid=1704************************878C

openid是此网站上唯一对应用户身份的标识,网站可将此ID进行存储便于用户下次登录时辨识其身份,或将其与用户在网站上的原有账号进行绑定。

错误码说明:

接口调用有错误时,会返回code和msg字段,以url参数对的形式返回,value部分会进行url编码(UTF-8)。

PC网站接入时,错误码详细信息请参见:100000-100031:PC网站接入时的公共返回码。

WAP网站接入时,错误码详细信息请参见:9000-9999:根据Access Token获得对应用户身份的openid时,发生错误。

Step3:调用OpenAPI,来请求访问或修改用户授权的资源

调用OpenAPI时需要用到如下3个值:

YOUR_APP_ID:即申请QQ登录成功后分配的appid(如222222)

YOUR_ACCESS_TOKEN:Step1获取到的access token,必须保证未过期(如E0632E6CE12AC709999)

YOUR_OPENID:Step2获取到的openid,用户唯一标识(如B9DD537D1C5C98A9999)

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值