第三方登录之QQ登录(二)——OAuth2.0处理流程介绍(以QQ登录为例)
2014-07-25 13:30
330 查看
为了让网站更快接入,腾讯提供了JS SDK的接入方案,具体点击这里或者点击这里进行查看。
不过也可以自己写代码,当然你需要了解QQ的OAuth2.0的处理流程(Web Server Flow)。
OAuth2.0的处理流程:点击这里查看官方Wiki。
1.授权:获取授权码Authorization Code
说明:第一步QQ必须得到要登录系统的授权信息,如果授权全成功,则会跳转到回调地址,同时授权码以参数形式,追加回调地址上。
当然还有一些其他参数,具体详情看官方介绍。
实例:
https://graph.qq.com/oauth2.0/authorize?response_type=code&client_id=101137684&redirect_uri=http%3a%2f%2fmfxuan.free.800m.net%2flogin.jsp&state=1&scope=get_user_info,get_info
返回:
http://mfxuan.free.800m.net/login.jsp?code=xxxx12BBB0345xxxxxx68196E5C2xxxx&state=1
2. 登录:通过Authorization Code获取Access Token
说明:获取网址中的code值,这个就是Authorization Code,通过它,可以获取访问令牌。这个访问令牌,事实上是给登录系统用的,主要是允许访问QQ的授权服务。(注意:不要向别人泄漏Access Token,因为它有3个月时效)
详细请看官方介绍
实例:
https://graph.qq.com/oauth2.0/token?grant_type=authorization_code&client_id=101137684&client_secret=xxxxx24b9da14xxxxxc2997xxxxxxxxx&code=xxxx12BBB0345xxxxxx68196E5C2xxxx&redirect_uri=http%3a%2f%2fmfxuan.free.800m.net%2flogin.jsp
返回:
3. 获取用户openid
说明:先说一下openid,它是此网站上或应用中唯一对应用户身份的标识,与QQ号一一对应。网站或应用可将此ID进行存储,便于用户下次登录时辨识其身份,或将其与用户在网站上或应用中的原有账号进行绑定。有了它以后就可以确定当前登录的QQ,获取到QQ登录用户的基本信息了。(注意:不要向别人泄漏OpenID)
实例:
https://graph.qq.com/oauth2.0/me?access_token=11111111111111111111111111111111
返回:
4. 调用OpenAPI获取各种信息
点击API列表。里面有每个API的使用说明。当然前提是你的应用或网站有这个api的授权信息才可以。点击“应用管理”中的“API管理”,可以看到所有已授权和未授权的API。
作为演示,我这里选择的是获取用户信息api:get_user_info
实例:
https://graph.qq.com/user/get_user_info?access_token=11111111111111111111111111111111&oauth_consumer_key=101137684&openid=333333333333333333333333333
返回
不过也可以自己写代码,当然你需要了解QQ的OAuth2.0的处理流程(Web Server Flow)。
OAuth2.0的处理流程:点击这里查看官方Wiki。
1.授权:获取授权码Authorization Code
说明:第一步QQ必须得到要登录系统的授权信息,如果授权全成功,则会跳转到回调地址,同时授权码以参数形式,追加回调地址上。
当然还有一些其他参数,具体详情看官方介绍。
实例:
https://graph.qq.com/oauth2.0/authorize?response_type=code&client_id=101137684&redirect_uri=http%3a%2f%2fmfxuan.free.800m.net%2flogin.jsp&state=1&scope=get_user_info,get_info
返回:
http://mfxuan.free.800m.net/login.jsp?code=xxxx12BBB0345xxxxxx68196E5C2xxxx&state=1
2. 登录:通过Authorization Code获取Access Token
说明:获取网址中的code值,这个就是Authorization Code,通过它,可以获取访问令牌。这个访问令牌,事实上是给登录系统用的,主要是允许访问QQ的授权服务。(注意:不要向别人泄漏Access Token,因为它有3个月时效)
详细请看官方介绍
实例:
https://graph.qq.com/oauth2.0/token?grant_type=authorization_code&client_id=101137684&client_secret=xxxxx24b9da14xxxxxc2997xxxxxxxxx&code=xxxx12BBB0345xxxxxx68196E5C2xxxx&redirect_uri=http%3a%2f%2fmfxuan.free.800m.net%2flogin.jsp
返回:
3. 获取用户openid
说明:先说一下openid,它是此网站上或应用中唯一对应用户身份的标识,与QQ号一一对应。网站或应用可将此ID进行存储,便于用户下次登录时辨识其身份,或将其与用户在网站上或应用中的原有账号进行绑定。有了它以后就可以确定当前登录的QQ,获取到QQ登录用户的基本信息了。(注意:不要向别人泄漏OpenID)
实例:
https://graph.qq.com/oauth2.0/me?access_token=11111111111111111111111111111111
返回:
4. 调用OpenAPI获取各种信息
点击API列表。里面有每个API的使用说明。当然前提是你的应用或网站有这个api的授权信息才可以。点击“应用管理”中的“API管理”,可以看到所有已授权和未授权的API。
作为演示,我这里选择的是获取用户信息api:get_user_info
实例:
https://graph.qq.com/user/get_user_info?access_token=11111111111111111111111111111111&oauth_consumer_key=101137684&openid=333333333333333333333333333
返回
相关文章推荐
- 第三方登录之QQ登录(二)——OAuth2.0处理流程介绍(以QQ登录为例)
- 第三方登录之QQ登录(二)——OAuth2.0处理流程介绍(以QQ登录为例)
- 第三方登录之QQ登录(二)——OAuth2.0处理流程介绍(以QQ登录为例)
- [转]第三方登录之QQ登录(二)——OAuth2.0处理流程介绍(以QQ登录为例)
- [置顶] 第三方登录之QQ登录——OAuth2.0处理流程介绍(以QQ登录为例)
- 第三方登录----Oauth协议处理流程(QQ)
- Android中的OAuth2.0——QQ第三方授权登录
- OAuth2.0协议&第三方登录(微信,QQ,微博)
- PHP 接入(第三方登录)QQ 登录 OAuth2.0 过程中遇到的坑
- QQ微信微博第三方登录接入流程-JAVA项目
- 第三方登录(QQ登录)开发流程详解
- 浅谈PHP接入(第三方登录)QQ登录 OAuth2.0 过程中遇到的坑
- php QQ第三方登录/OAuth2.0验证
- 第三方登录(QQ登录)开发流程详解
- php QQ第三方登录/OAuth2.0验证
- 第三方登录(QQ登录)开发流程详解
- 第三方登录(QQ登录)开发流程详解
- 第三方登录(QQ登录)开发流程详解
- 微博、QQ第三方登录接入流程总结
- APP带第三方微博、微信、QQ等登录注册的登录注册流程分解