[118]探讨微信Oauth2.0登录模式

探讨微信OAuth2.0登录流程

背景

我们引出一个场景,比如你刚关注一个公众号第一次授权后,下次直接打开公众号(不需要输入用户名/密码)就能够访问你个人的私有信息。在这里公众号对应的公司服务器好像把你微信号绑定成他们注册用户。

上述场景描述的就是OAuth2.0协议,即允许第三方应用访问用户私有信息,而不需要将用户名和密码提供给第三方应用(比如微信)。

分析用户登录交互逻辑

我们以前想要访问一个网站的信息必须先注册,下次登录也必须修输入用户名/和密码(因为只有用户名/密码才能够让网站认出你是那个用户)。

而现在你通过点击微信公众号不输入用户名和密码就可以登录,那么用户唯一的身份标识就是微信号,每个用户关注一个公众号都会生成该公众号对应的openId。
而企业的标识就是微信公众号,appid对于每个企业都是唯一的。
如果想要微信用户登录企业网站A,那么就需要建立起openId与appId关系。当用户点击授权页面(授权页面是网站提供,会往网站服务器A发请求),网站服务器A会绑定这两种的关系。

以后用户直接就可以通过点击微信公众号通过传过来的openId登录了(点击微信公众号必须先登录微信,这一步保证了是本人或合法的用户在操作)。

登录之后会返回access_token ,此标识相当于一个登录态(类似于cookie)

其具体交互如下图所示:


[118]探讨微信Oauth2.0登录模式_第1张图片
image.png

网站A的开发人员应该做什么

由上面用户登录流程我们知道企业标识是appId用户标识是openId。且授权之后还需要自动回调获取access token ,所以我们需要提前配置回调地址。

其具体需要开发的步骤参考如下文章:[http://www.cnblogs.com/sunshq/p/5132811.html]

你可能感兴趣的:([118]探讨微信Oauth2.0登录模式)