微信扫描登录

微信扫描登录

本文主要介绍如何实现使用微信的二维码扫描登录系统功能。

功能需求

PC系统功能,希望借用微信的oauth授权方式,来实现本系统的登录。而最简单的方式就是用户通过扫描二维码,然后在手机端进行确认,之后在PC端实现登录。

实现原理

以上的业务期望,首先我们需要转化为实际的开发需求,根据上面的期望,我们可以了解其需要两个平台支持PC端和手机微信客户端。 PC端:登录二维码扫描页面 主要负责在用户进入当前页面后,根据当前用户的cookie和时间字符串阶段性的生成一个唯一键值,并产生一个唯一的手机访问的url。例如:当前有唯一cookie字符串(adccccc),时间戳为(1425351101),那么根据一定的加密规则后,生成一个唯一键值(df3a4de2af34)。根据这个唯一键值,生成唯一的手机访问url为: http://www.test.com/oauth?key=df3a4de2af34 手机微信客户端:OAUTH授权登录页面 主要工作就是在手机端使用微信的oauth登录,登录成功后根据当前的唯一键值,以及登录的session信息和用户信息保存到公共内存资源中。PC端通过socket或者轮询方式查询该键值是否已经登录成功,如果成功登录则在PC端保存用户登录session,并提示PC前端。 以上过程可以简化为下图模式。

1. 用户打开PC页面,就可以看到一个二维码,类似如下图。二维码其实包含的仅仅是一个手机端oauth授权的url;

2. 用户通过微信扫描二维码,打开oauth授权页面; 3. 用户成功授权后,服务端获取用户登录信息,以及其所携带的唯一键值; 4. 通过socket或者轮询方式通知PC端,当前已经成功登录,并赋予当前PC端session信息。

多系统单公众号应用

在应用的过程中会发现一个公众号可能需要支持多个平台,但是微信授权只支持一个绝对域名,因此如果希望一个帐号多个平台共享是无法实现的。 解决办法就是通过统一的一个平台去做手机端授权管理,然后针对键值的生成规则,将其保存到不同的共享内存中。 例如:有A、B和C三个平台,然后E平台是作为手机端统一授权服务器。A、B和C平台通过特殊标识生成一个唯一的键值,然后在E平台登录成功后,E根据解析出来的键值将登录信息写入不同的平台的共享内存。而A、B和C都在自己的专属平台上判断共享内存的某个键值是否登录即可。

本文参与腾讯云自媒体分享计划,欢迎正在阅读的你也加入,一起分享。

我来说两句

0 条评论
登录 后参与评论

相关文章

  • myweb0.3更新说明

    蛋未明
  • BaseMongo基类设计

    蛋未明
  • nodejs学习指南

    蛋未明
  • 微信小程序内,如何直接关注公众号?

    前言:今天群内有同学分享了一个小程序,值得关注的是,这个小程序内,可以通过webview打开公众号文章,然后直接关注公众号。

    连胜
  • 一个少有人知的导致 SSH 登录缓慢的原因

    这是 PAM 的 last_log 模块的输出,这个数据统计的是上次成功登录之后,有多少次失败登录的尝试。这些失败尝试主要来源于网上各种扫描器,统计数据来源于文...

    horsley
  • mix-blend-mode 混合模式 background-blend-mode 背景混合模式 isolation:isolate 隔离

    css3 mix-blend-mode 混合模式 该属性不仅可以作用于HTML,还可以作用于SVG   兼容性: IE 8~11 Ed...

    用户1197315
  • 【转】动效案例:纯手工写一个滚动视差效果

    大家好,今天我们一起来实践一个滚动视差的动画效果。虽然我们不是设计师,不擅长PS、AE,但是我们完全可以通过前端技术设计一幅漂亮的画面,今天我们要设计一幅月下山...

    夏末浅笑
  • 动效案例:纯手工写一个滚动视差效果

    视差滚动(Parallax Scrolling)是指让多层背景以不同的速度移动,形成立体的运动效果,带来非常出色的视觉体验。作为网页设计的热点趋势,越来越多的网...

    前端达人
  • Android native进程间通信实例-socket本地通信篇之——基本通信功能

      网上看了很多篇有关socket本地通信的示例,很多都是调通服务端和客户端通信功能后就没有下文了,不太实用,真正开发中遇到的问题以及程序稳定性部分没有涉及,代...

    啊源股
  • 微调︱caffe中fine-tuning模型三重天(函数详解、框架简述)+微调技巧

    本文主要参考caffe官方文档[《Fine-tuning a Pretrained Network for Style Recognition》](http:/...

    素质

扫码关注云+社区

领取腾讯云代金券