如何抱上微信的大腿?——说说授权登录的那些事儿
2016-02-24 23:21:04 | 来源:玩转帮会 | 投稿:佚名 | 编辑:dations

原标题:如何抱上微信的大腿?——说说授权登录的那些事儿

当前市面上流行的手机游戏,很多都会用到微信的授权登录系统,就是这个:

你肯定点过这个「确认登录」按钮,而且不止一次。然而,你没有想过,在微信里,这个功能是如何实现的?为什么不用我输入用户名和密码,游戏app就获得了我的微信好友信息?它安全吗?带着这几个问题,我们开始今天的探索之旅。

在进入技术细节前,我们先来看一个栗子。

从前有个大户人家姓白,富可敌国,家中收藏了大量的奇珍异宝。有一天,当地博物馆的馆长找到白先生,想为白先生在博物馆设立一个展台,每天借白先生家中的一些收藏品放在展馆展示。白先生觉得这个主意不错,但又不想把库房的钥匙给馆长,就让馆长去联系库房商量宝物借用事宜。库房跟白先生确认这件事之后,给了馆长一蓝一红两张令牌:蓝色的令牌上标注着使用日期,在有效期内,馆长可派人用蓝色令牌随意借还张家的宝物;当蓝色的令牌失效后,馆长需要派人带着红色令牌到库房这里换新的蓝色令牌。馆长拿到这两张令牌后,欣然离去。

上面的栗子,简单描述了移动应用微信登录的授权流程,以及授权后用户数据的获取方式(使用令牌),文中的「白先生」就是用户,他授权「馆长」(三方应用)使用自己存放在「库房」(微信服务器)中的宝物(用户数据、关系链等)。「蓝色令牌」是「库房」给「馆长」借用宝物的通行证,有一定的时效性,这是由于「蓝色令牌」使用的较为频繁,万一「遗失」或者「被盗」,造成的损失也有限。「红色令牌」则是「馆长」更换「蓝色令牌」的凭证。

微信授权登录系统基于OAuth(发音:偶奥斯)2.0协议标准,它提供了一套简单,安全的交互流程,让三方应用可以在不知道用户微信登录名和密码的情况下,访问用户在授权方服务器上的私密数据和照片。当三方应用需要使用微信授权登录功能时,需要先在微信开放平台获得对应的AppID和AppSecret。下面,我们看下微信授权登录系统的授权流程:

  1. 用户请求三方应用用微信号登录。
  2. 三方应用使用AppID向微信开放平台(客户端)发送登录请求。
  3. 客户端加载授权页面,请求用户确认。
  4. 用户点击确认按钮。
  5. 微信客户端拉起三方应用,并将临时授权码(code)传递给三方应用,予授权完成。
  6. 三方应用使用临时授权码(code)、AppID和AppSecret,通过https协议向微信开放平台(服务器)请求access_token。
  7. 服务器返回access_token和refresh_token。

access_token就是从服务器获取用户数据的「蓝色令牌」,refresh_token则对应「红色令牌」。access_token的有效期是两个小时,refresh_token的有效期是30天。

通过分析授权流程可以看出,要想获取access_token,需要同时具备临时授权码(code)、AppID和AppSecret这三个信息,其中临时授权码由用户点击「确认登录」按钮后由服务器生成,它的有效期只有几秒,所以三方应用只要妥善的保管AppSecret和access_token,整个流程的安全性是值得信赖的。

另外,微信已经提供了该功能对应的SDK,使得三方应用的接入工作变得十分简单。

微信等社交软件,经过几年时间苦心经营建立的关系链,其他的三方应用则只需要简单的接入就可以共享这个巨大的宝藏。然而,当大家都沉浸在这个宝藏中时,微信的生态圈也越来越壮大了。子曰「大家好才是真的好!」,古人诚不我欺!

#专栏作家#

给产品经理讲技术,微信公众号(pm_teacher),人人都是产品经理专栏作家。资深程序猿,专注客户端开发若干年,对前端、后台技术略懂,热衷于对新的科技领域的探索。

本文原创发布于人人都是产品经理,未经许可,不得转载。

tags:

上一篇  下一篇

相关:

技术贴:如何通过搜索引擎学习成长,查找各种照片

前几天,一篇题为《搜索引擎就是我的大学》一文在我的朋友圈流转,小婉姑娘讲述了自己初中肄业从一个月薪三

以原则为中心的产品经理(三):从打造用户喜爱的产品出发

一直想找一个词去形容产品的终极目标,“用户喜爱”,应该没有更加贴切的了。然后是另外一个重要问题,确定

为什么产品经理更要注重需求挖掘,而非交互设计?

需求挖掘是用户使用产品的前提,虽然作者自己做过IOS开发,深知交互设计重要性。但是像12306那样的产品都是

在Vine产品开发和团队管理上,我这两年经验谈

在过去的两年时间里,我在 Vine 工作,一开始是产品总监的角色,后来升为总经理,管理这个位于纽约城,拥有

社群商业价值如何变现?这里有套成熟方法

随着移动互联网的发展,移动设备对于人个体的赋权以及互联网基础服务设施的有力支撑,不仅让社群概念走进了

通过百度阿拉丁通道做排名推广获海量流量的方法!

SEO的见效时间越来越慢,能够通过百度搜索引擎引流的方法也越来越少,所以大多数的企业慢慢放弃了SEO的优化

品牌闹元宵,看看谁才是真正的借势营销?

正月十五这一天,元宵与汤圆PK了起来,不论是滚出来的,还是包起来的,伴着“年”的余味儿,元宵节快乐的很

做市场的人,不一定知道什么才是“市场”

很多公司市场部的人,每天忙着推广各种活动,忙着抓热点,甚至忙着做挂历,却忘记去真正了解市场营销的最基

平台型生态体系解析(上)

1、背景平台型生态体系是在“互联网+”时代背景下脱颖而出的运营模式之一。本文上将对该模式进行内涵解析。

打篮球起争执 海洋技术学院学生遭砍伤送医

? 1995 - 2016 China Times Inc. 请尊重智慧财产权勿任意转载违者依法必究。

站长推荐: