登录认证说干就干! Timi的登录认证简直就是行业标杆,怎么能不研究一把?
本着对于数据的敏感度,真正的认证系统都是能经受得住海量数据的访问压力,所以不从排行榜第一的应用认证系统入手,真的都不好意思说我是来搞数据和技术分析的。 微信游戏的认证系统,实际上是OAuth2.0的最为标准的应用场景。在说OAuth2.0之前,我们可能得先试想以下普通的授权或者认证场景:
这样的授权场景中,游戏想要拿到微信的授权,必须具备微信的账号和密码,这样的风险是极大的。 这样,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认证的核心构成,也就是我们纳斯达克上市成功与否的关键所在了 有了这强大的理论基础,再回过头来看微信认证,也就那么回事。这不点完微信授权,游戏已经秒进了,是时候去教训一波小学生了! 干了这瓶农药闲话不多说,既然微信认证登录都完成了,这农药游戏怎么也得先干为敬。在游戏中把我被股市逼迫着想要跳楼的想法在聊天频道陈述了一遍,敌方竟然默默集合到中路。 |
| 本文出处: http://www.toutiao.com/a6426167390200283394/ |
|
声明:文章版权归原作者所有 部分文章转自互联网 如有侵权请联系
[邮箱地址] 删除
|