博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
第三方网站实现绑定微信登陆
阅读量:7038 次
发布时间:2019-06-28

本文共 686 字,大约阅读时间需要 2 分钟。

最近在公司负责一个ROR项目,基于Rabel的论坛产品,老板想把这个产品植入微信,让我做微信绑定登陆。微信开发文档还是很不错的,折腾了几天,把这个功能拿下了。

 

微信获取用户资料文档:

 

如何获取用户资料我就不赘述了,文档上说明很清楚,我主要说说实现微信绑定与登陆的思路。

 

要点包括但不限于:

  • 保存用户的数据表Person中,添加字段weixin_openid,用于保存微信与公众号唯一的用户标识
  • 在服务端实现URL跳转时保留查询字符串的功能,具体例子如
    • 未登录用户访问/home?code=123456,此时应跳转到/login?code=123456,而非/login
  • 登陆页面有三种形式
    • 最原始的用户密码登陆。此形式将不包含查询字符串
      • 此时输入用户密码登陆
    • 已绑定微信的用户快捷登陆方式。此形式会包含查询字符串?code=123456
      • 此时服务器端利用code获取openid,若成功找到绑定的用户,直接登陆
    • 一个用户想要进行微信绑定,点击绑定入口后,由于未登录而跳转到的登陆页面。此形式会包含查询字符串?code=123456&state=bind
      • 服务端检测到state=bind,得知是绑定操作,暂时不去获取openid,待用户登陆跳转后,再去获取openid进行绑定。(这就是第二点保留字符串跳转的作用)
  • 鲁棒性,包括
    • 查询字符串错误或缺失的处理
    • 微信绑定的逻辑性处理,例如一个微信只能绑定一个账号,一个账号只能绑定一个微信,不能重复绑定

 

附一个当时做的微信绑定的流程图

http://www.cnblogs.com/qs20199/p/4576479.html

 

你可能感兴趣的文章
zip()方法对数组进行重新组合
查看>>
60-高级路由:IPv6 静态路由
查看>>
40. Combination Sum II
查看>>
关于适配这件小事的前世今生
查看>>
稳压电源中的谐振变频器的特征
查看>>
修改Centos7的网卡名称ens160、eno192改为eth0、eth1
查看>>
VC+ADO 连接ACCESS和SQL SERVER的方法
查看>>
LOGO設計價格 之 全面解說和如何選擇 【原創】
查看>>
Python介绍与特点(自学python知识整理)
查看>>
stimulsoft入门教程:报表与页面上的图表(一)
查看>>
数字货币支付时代即将来袭
查看>>
移动设备页面自适应
查看>>
Vulkan Tutorial 16 Command buffers
查看>>
【Linux】mv命令全解析
查看>>
系统优化脚本(此脚本为原始脚本,未按照shell规范写)
查看>>
Bootstrap常用样式的代码
查看>>
思科 典型QoS配置案例
查看>>
电路交换、报文交换、数据交换的区别
查看>>
plsql连接oracle方法
查看>>
戴尔聚合网络适配器(Converged Network Adapter, CNA) 在RHEL 6 SP1环境下可开箱即用
查看>>