OAuth2.0协议 - OAuth授权流程详解

三个重要步骤

这里写图片描述
1、慕课网腾讯QQ OAuth请求OAuth登录页
2、用户在这个页面中输入QQ号和密码
3、最后腾讯QQ OAuth把登录结果返回给慕课网

步骤一:请求OAuth登陆页

Request Token URL:为授权的令牌请求服务地址
结合我们的例子就是:慕课网请求QQ登录页面时使用的带有『特定参数的URL』。

https://graph.qq.com/oauth/show?which=Login&display=pc&client_id=100490398&response_type=code&scope=get_user_info&redirect_uri=http%3A%2F%2Fpassport.mukewang.com%2Fuser%2Ftpcallback%3Freferer%3Dhttp%3A%2F%2Fwww.imooc.com%26browser_key%3D0%26tp%3Dqq%26bind%3D0

client_id:第三方站点的唯一的appid
redirect_uri:回调地址

步骤二:用户使用第三方帐号登录并授权

前面我们已经知道redirect_uri就是QQ登录之后的回调地址(用户登录成功之后要跳转到什么地方去),并且在跳转的过程中URL上会带上一个加密的code参数

http://www.mukewang.com/user/qqcallback?code=xxxxxxxxxx

步骤三:返回登录结果

步骤一:请求OAuth登陆页

Request Token URL:为授权的令牌请求服务地址
结合我们的例子就是:慕课网请求QQ登录页面时使用的带有『特定参数的URL』。

https://graph.qq.com/oauth/show?which=Login&display=pc&client_id=100490398&response_type=code&scope=get_user_info&redirect_uri=http%3A%2F%2Fpassport.mukewang.com%2Fuser%2Ftpcallback%3Freferer%3Dhttp%3A%2F%2Fwww.imooc.com%26browser_key%3D0%26tp%3Dqq%26bind%3D0

client_id:第三方站点的唯一的appid
redirect_uri:回调地址

前面我们在介绍OAuth协议的时候,为了偏于理解,在『返回登录结果』处只画了一个箭头,其实这里有个一来一回的交互过程。
步骤二中,慕课网的服务器会拿到一个code,但是仅凭这个code还不够。慕课网还需要向QQ服务器发送一个请求(User Authorization URL:用户授权的令牌请求服务地址)。

大概是类似下面这样一个URL:

https://xxx.qq.com/oauth/....?
&client_id=100490398&....
&client_secret=xxxxxxx&.....
&code=xxxxxxxx&.......

code是个有生命周期且只可使用一次的字符串。

关于AccessToken

在QQ登录成功后,返回登录结果中,响应给慕课网的数据中还有一个AccessToken
这个AccessToken,就是用户通过第三方应用访问OAuth接口的令牌。

比如:通过慕课网把自己喜欢的课程分享到QQ空间

AccessToken与RefreshToken数据传输原理

这里写图片描述

AccessToken与RefreshToken生命周期

AccessToken:一般具有较长的生命周期
当AccessToken快要过期的时候,很多平台可以使用一个RefreshToken来要求刷新AccessToken。

User Authorization URL中指定参数
.....&need_refresh_token=true&....
  • 1
    点赞
  • 9
    收藏
    觉得还不错? 一键收藏
  • 2
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 2
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值