黑基网 首页 学院 软件编程 查看内容

OAuth单点认证概述

2017-8-13 02:44| 投稿: xiaotiger |来自: 互联网

摘要: 登录认证说干就干!Timi的登录认证简直就是行业标杆,怎么能不研究一把?本着对于数据的敏感度,真正的认证系统都是能经受得住海量数据的访问压力,所以不从排行榜第一的应用认证系统入手,真的都不好意思说我是来搞 ...

登录认证

说干就干!

Timi的登录认证简直就是行业标杆,怎么能不研究一把?

本着对于数据的敏感度,真正的认证系统都是能经受得住海量数据的访问压力,所以不从排行榜第一的应用认证系统入手,真的都不好意思说我是来搞数据和技术分析的。

微信游戏的认证系统,实际上是OAuth2.0的最为标准的应用场景。在说OAuth2.0之前,我们可能得先试想以下普通的授权或者认证场景:

有一天,小明听说有款游戏叫王者农药,可是他没有实名微信账号呀,怎么办?于是他把老爹的微信账号密码偷偷记了下来,并通过账号密码登录的方式,登录了游戏。进了游戏,发现丫根本就没有画面,首页Banner几个大字写着:你已经中毒,需汇款300比特币到指定账户解锁。

这样的授权场景中,游戏想要拿到微信的授权,必须具备微信的账号和密码,这样的风险是极大的。

这样,OAuth2.0应运而出。简单来说OAuth2.0的认证流程,包含如下几个步骤:

(1)用户打开客户端,要求用户给予授权。

(2)用户同意给予授权。

(3)客户端使用上步获得到的授权,向认证服务器申请令牌。

(4)认证服务器对客户端进行认证确认无误,同意发放令牌。

(5)客户端使用令牌,向资源服务器申请获取资源。

(6)资源服务器确认令牌无误后,同意开放资源给指定客户端。

以上就是OAuth2.0的标准流程图。

不难看出,流程中较为关键的点有几个:授权,令牌,获取资源。

授权

授权其实说的就是,作为认证服务器,微信提供了这么一个开放的接口,我们可以称之为单点认证系统。

https://graph.qq.com/oauth/show?which=Login&redirect_uri=http://pornhub.com

我们以QQ单点认证为例,实际上就是QQ提供了一个获取认证码的地址,其中最为关键的是标注出来的redirect_uri

通过指定回调地址,在通过QQ提供的安全页面认证成功之后,页面会主动重定向至回调界面,通过带上授权码参数至请求服务器。

令牌

请求服务器在获取到上一步中的授权码后,再次向认证服务器请求,认证服务器在校验授权码完成后,正式向请求服务器发放访问令牌

获取资源

在拿到令牌之后,在令牌失效时间之前,客户端都可以通过对应服务器向资源服务器请求资源,直至令牌达到失效时间。

实际上,为了达到较长时间登录状态保持,在返回令牌时,认证服务器一般会同时返回一个refresh_token也就是刷新令牌,当访问令牌失效后,我们可以通过刷新令牌再次向认证服务器申请访问令牌。

以上,就是OAuth2.0认证的核心构成,也就是我们纳斯达克上市成功与否的关键所在了

有了这强大的理论基础,再回过头来看微信认证,也就那么回事。这不点完微信授权,游戏已经秒进了,是时候去教训一波小学生了!

干了这瓶农药

闲话不多说,既然微信认证登录都完成了,这农药游戏怎么也得先干为敬。在游戏中把我被股市逼迫着想要跳楼的想法在聊天频道陈述了一遍,敌方竟然默默集合到中路。

特别推荐:欲深入学习电脑维护、网络编程与安全攻防,请点击这里 注册黑基网账号,免费学VIP公开课、论坛与QQ群技术交流,黑基14年技术经验,让您少走弯路、事半功倍!
本文出处:http://www.toutiao.com/a6426167390200283394/

声明:本文搜集整理自互联网,版权归原作者所有,文中所述不代表本站观点,若有侵权或转载等不当之处请联系我们处理,请我们一起为维护良好的互联网秩序而努力,谢谢!联系方式见网站首页右下角。


鲜花

握手

雷人

路过

鸡蛋

相关阅读

最新评论


新出炉

返回顶部