来源:http://wiki.open.qq.com/wiki/mobile/OAuth2.0%E5%BC%80%E5%8F%91%E6%96%87%E6%A1%A3
目录 |
开发流程
Step1. 准备工作
接入QQ登录前,需要首先进行申请,获得对应的appid与appkey,以保证后续流程中可正确对应用与用户进行验证与授权。
同时,需要保证连接畅通。
Step2. 放置QQ登录按钮
在移动应用界面上放置“QQ登录”按钮,并为按钮添加前台代码,实现点击按钮即弹出QQ登录对话框。
Step3. 获取Access Token
通过用户验证登录和授权,获取Access Token,为下一步获取用户的OpenID做准备;
同时,Access Token是应用在调用OpenAPI访问和修改用户数据时必须传入的参数。
access token由每次用户登录时生成,过期时间默认为三个月,用户再次登录时自动刷新,请移动应用做好防过期策略,或过期后提示用户再次授权。
QQ登录OAuth2.0针对移动应用接入,提供了登录验证和授权流程,主要提供以下获取access token的方式:
client-side模式
即OAuth官方文档中提到的Implicit模式,适用于需要通过客户端访问的方式。
Step4. 通过Access Token获取用户的OpenID
通过输入在上一步获取的Access Token,得到对应用户身份的OpenID。
OpenID是此网站上或应用中唯一对应用户身份的标识,网站或应用可将此ID进行存储,便于用户下次登录时辨识其身份,或将其与用户在网站上或应用中的原有账号进行绑定。
Step5. 调用OpenAPI,来请求访问或修改用户授权的资源
获取到Access Token后OpenID后,可通过调用OpenAPI来获取或修改用户个人信息。
调用OpenAPI时需要用到如下3个值:
YOUR_APP_ID:即申请QQ登录成功后分配的appid(如222222)
YOUR_ACCESS_TOKEN:Step3获取到的Access Token,必须保证未过期(如E0632E6CE12AC709999)
YOUR_OPENID:Step4获取到的OpenID,用户唯一标识(如B9DD537D1C5C98A9999)
开发指引
在指引中以实例step-by-step的讲解OAuth2.0的授权验证,以及访问OpenAPI获取用户信息的过程。
详见开发攻略