第三方网站实现绑定微信登陆

摘要:
此形式将不包含查询字符串此时输入用户密码登陆已绑定微信的用户快捷登陆方式。code=123456此时服务器端利用code获取openid,若成功找到绑定的用户,直接登陆一个用户想要进行微信绑定,点击绑定入口后,由于未登录而跳转到的登陆页面。鲁棒性,包括查询字符串错误或缺失的处理微信绑定的逻辑性处理,例如一个微信只能绑定一个账号,一个账号只能绑定一个微信,不能重复绑定附一个当时做的微信绑定的流程图

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

微信获取用户资料文档:http://mp.weixin.qq.com/wiki/17/c0f37d5704f0b64713d5d2c37b468d75.html

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

要点包括但不限于:

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

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

第三方网站实现绑定微信登陆第1张

免责声明:文章转载自《第三方网站实现绑定微信登陆》仅用于学习参考。如对内容有疑问,请及时联系本站处理。

上篇MySql数据库优化、备份和恢复k8s集群部分常见问题处理下篇

宿迁高防,2C2G15M,22元/月;香港BGP,2C5G5M,25元/月 雨云优惠码:MjYwNzM=

相关文章

apicloud 第一篇

最近公司需要开发一款app,说实话,之前也只是对Android有过一部分的了解,ios基本上都毛都不知道,所以作为小公司的我们经过商议决定使用apicloud,虽然用户体验不如原生的好,但谁叫我们穷,没钱招人呢,哈哈 这里就针对在使用apicloud开发过程中遇到的问题与相应的解决进行记录和与我相同的小伙伴们一起成长。 到apicloud官网下载相应的开发...

[小程序]微信小程序获取位置展示地图并标注信息

1.map组件的高度如果想要铺满屏幕,要是使用height:100vh样式2.获取位置要在app.json中标明权限3.先使用wx.getLocation获取自己的位置,然后再回调中使用setData方法,赋予数据给前台页面展示标注点 index.js //index.js //获取应用实例 const app =getApp() Page({...

一个网站应该具备的功能!

本文章用于记录个人在web开发中对网站建设的点点经验记录,内容根据需要随时补充! 一个完整的网站应该具备以下功能: 1、信息发布功能 这个是网站应具备的基本功能,包括但不限于我们常见的新闻、公告等;此功能主要表现为数据的下行,即有网站管理者(上)向广大用户(下)进行广播式的信息发布。现实中表现方式为使用CMS进行对信息的发布管理。 2、信息交流功能 该功能...

微信分享网页的缩略图

微信公众平台很多时候都需要跳转到网页展示和实现一些功能,而这些网页也是可以被用户分享到朋友圈或发送给朋友的。分享和发送的时候一般都是一个缩略图,一个标题和一个介绍。可是有时候分享的网页缩略图部分是空白的,虽然网页里是包含了图片的,所以就需要研究一下这个缩略图到底怎么。...

国内云存储对比: 阿里云、腾讯云、Ucloud、首都在线

阿里云的数据存储<http://www.aliyun.com/product/rds/> RDS — 关系型数据库服务(Relational Database Service,简称RDS)是一种即开即用、稳定可靠、可弹性伸缩的在线数据库服务。具有多重安全防护措施和完善的性能监控体系,并提供专业的数据库备份、恢复及优化方案,使您能专注于应用开发...

小程序获取用户登录及手机号登录

小程序登录除了常见的短信登录、密码登录,还一个最重要的就是微信授权登录了(毕竟是基于微信的,要给人家面子吗:0,手动滑稽),写这篇随笔的原因还是好久没更了,今天先随便放一个压压档。话不多说,直奔主题。 小程序的微信授权登录中,可以直接写入微信定义好的button组件掉起微信授权功能。 需要注意的就是定义open-type了,其对应的可选属性还有很多种,具体...