18326051278

O2O解决方案>>

社区物业O2O
连锁电商O2O
上门维修O2O
农村电商O2O
多用户商城

行业平台类

汽车服务平台
家居服务平台
综合电商平台
家政服务平台
多门店商城系统

网站解决方案

全能型企业站
营销型网站
高端定制网站
品牌设计站
HTML5网站

APP解决方案

生鲜APP开发
物流APP开发
家居服务APP
汽车金融APP
多用户商城APP

定制开发类

APP开发
微信开发
小程序开发
网站建设
平台合作
返回列表
微信公众号用户与网站用户的绑定方案-微信开发,毅耘科技
安徽毅耘科技有限公司,安徽app开发,合肥APP开发,微信公众号用户与网站用户的绑定方案-微信开发2017-09-29毅耘科技3642

微信公众号用户与网站用户的绑定方案-微信开发

微信公众号用户与网站用户的绑定方案-微信开发【毅耘科技】

微信公众号用户与网站用户的绑定方案-微信开发

  如今许多网站都已经建立了一套完备的用户账号系统,基于这套系统,再做其他应用的用户扩展就特别很是方便。例如,有了微软的outlook账户,就可以登录win8,可以登录微软的邮箱,还可以登录skype。同样地,一个Apple ID可以享受苹果的所有服务。正所谓,一个账号,处处使用。

  对于企业,可能会有产品线通常有网站,app,微信公众号等。同一各产品线的账号系统,实现一个账号处处使用的目标是特别很是有需要的。网站和app使用统一个账号,不必要做任何多余的工作,客户只要有效户名密码即可登录。对于微信公众号,因为它是基于微信公众平台的一个应用,必要遵守平台的规则,所以必要做一些额外的工作才能达到账号互通的目标。
  接下来我们就来讨论一下,如何做到微信公众号用户与网站用户的账号系统无缝对接。

  当用户关注微信公众号后,会有一些交互,交互过程中可能必要获取到用户的身份信息(对应到网站的账户信息),例如在公众号中下单,查询订单等操作。那么如今题目来了:对于统一个用户,我们如何建立微信公众号用户(openid)与网站用户(userid)之间的对应关系。这个过程我们称之为绑定。

微信公众号用户与网站用户的绑定方案-微信开发

  微信账号绑定
  为了简化讨论,我总结了如许两个场景:
  一、用户已注册成为我们的网站用户,但还未关注我们的微信公众号;
  二、用户未注册,但已关注我们的微信公众号。
  对于以上两种情况,下面分别讨论。
  场景一
  用户已注册成为我们的网站用户,但还未关注我们的微信公众号。如何方便用户关注公众号,同时又能把用户和微信公众号绑定在一路呢?很天然地就可以想到二维码这个入口。
  最近几年,二维码的应用分外广泛。微信对二维码的推广及应用可以说是如鱼得水,微信二维码付出,微信二维码登录,微信二维码咭片等等。可以说,二维码已经成为O2O中连接线上线下的紧张纽带。小马哥也称"二维码是线上线下的一个关键入口"。

  在这里百度seo,必要用户在网站上先登录,然后在合适的地方给出一个绑定入口,比如在小我设置里。绑定流程如下:

微信公众号用户与网站用户的绑定方案-微信开发

  微信账号绑定流程
  这里必要用到微信的二维码生成功能:http://mp.weixin.qq8533/wiki/18/28fc21e7ed87bec960651f0ce873ef8a.html
  关于微信二维码,官方文档中如许说:
  目前有2种类型的二维码,分别是一时二维码和永世二维码,前者有过期时间,有用期30天(2592000秒),但能够生成较多数量,后者无过期时间,数量较少(目前参数只支撑1--100000,即10万个)。两种二维码分别适用于帐号绑定、用户来源统计等场景。
  显然,我们使用一时二维码比较合适。每当用户刷新页面时,都可以生成一次。
  因为二维码里可以带有场景值(scene_id),当用户扫描带有场景值的二维码后,微佩服务器会把场景值推送给我们本身的服务器,我们拿到场景值后,就可以做验证和绑定逻辑。细致:生成二维码必要认证后的服务号。
  一次完备的绑定流程应该是如许的:
  ①用户登录网页,点击“绑定微信账户”;
  ②后台使用微信接口,生成二维码链接返回给前端表现,并建立场景值A与用户的对应关系;
  ③用户扫描二维码,并点击关注微信公众号(如果已关注,直接跳到④);
  ④后台接收微佩服务器推送的场景值A;
  ⑤后台根据场景值A,查询到对应的用户ID(依靠于②中沈阳塑料托盘建立的对应关系);
  ⑥建立用户userid与微名誉户openid的对应关系;
  ⑦给用户的微信客户端推送“绑定成功”的提醒;
  ⑧关照前台页面,绑定已完成,刷新页面,并返回一些微信账户信息。完成绑定。
  其中,②中,“建立场景值A与用户之间的对应关系”,由于用户已经登录,所以用户点击“绑定微信账户”时,我们可以在后台分配一个一时场景值A与用户ID之间的对于关系。对于用户量不大的网站,可以直接使用php中的apc来缓存,并设置一个过期时间(与一时二维码过期时间设置成一样即可)。不要使用session来存储这种对应关系,由于④中是微信的推送事件,是不带session信息的,可以使用redis这类缓存或DB来存储。另,这里要使用一时二维码杭州注册公司,数量上没有限定,只偶然间限定,前台准时刷新即可。
  ⑧中,由于http没有推送机制,所以最简单的方法就是轮询去查询,是否已经完成绑定,完成绑定后再刷新页面。
  完成绑定后,用户再跟我们的微信公众号交互时,根据openid可以找到对应的userid,即完成身份识别。对于之前提到的下单,查询订单,都是可以实现的。
  整个绑定过程并不复杂,实现起来也没有太大的技术难度,最关键的是思路。
  上述流程是用户已经在网页端登录了,也就是说已经注册用户。对于没有登录的情况,我们也可以做,在登录页面生成一个二维码,让用户用微信扫一扫。如果用户已经注册,则可以主动登录,并完成网站账号和微信账号的绑定;如果用户没有注册,则网页跳转到绑定账号页面,只要用户输入邮箱密码快速注册,同时也完成了网站账号和微名誉户的绑定。实现技术方案跟上述类似。
  场景二
  场景二,对于用户来说操作略微复杂,由于它必要用户在微信客户端的网页中完成登录/注册。所以,如果注册过程太过复杂繁琐,不建议使用。

  流程:

微信公众号用户与网站用户的绑定方案-微信开发

  用户绑定账户流程
  上述绑定流程集成了注册的过程,所以看起来比较复杂。实现起来也没有太大的难度,我们重点关注一下安全性方面的题目,由于绑定账户涉及到用户的信息安全,考虑两个题目:
  1、如何防止链接被伪造
  登录/注册的链接必要确保是我们本身的服务器生成的,其他人无法伪造。可以参考微信的验证服务器地址的有用性:
  http://mp.weixin.qq8533/wiki/17/2d4265491f12608cd170a95559800f2d.html。
  所以一个比较安全的登录链接可以是如许的:
  http://api.hello10108533/wechat/login.html?openid=x1&signature=x2×tamp=x3&nonce=x4&echostr&=x5

  校验签名的代码:微信公众号用户与网站用户的绑定方案-微信开发

  token值可以跟本身的微信公众号后台的同等,也可以换一个,建议换一个安全点。
  2、如何确保openid是可信的
  考虑这种场景:A用户进入登录页面,复制登录链接到欣赏器,把openid替代为B用户的openid,使用A用户的账号密码登录。如许就把A用户的userid和B用户的openid绑定在一路了,显然是不安全的。
  解决方案有许多,比如可以给openid加密,在加密方法保密的情况下,用户无法伪造加密后的openid。如果不想给openid加密,可以在生成链接时,在服务器端建立openid与签名signature的对应关系,如果用户篡改了openid就无法通过校验。
  记住,永久不要轻信客户端传过来的信息。
  扩展应用
  完成绑定后,我们可以做一些简单的应用。比如,公司必要举办一个线下路演运动,该运动必要报名才能参加,并且必要签到。

  这是一个典型的可以用微信实现的O2O例子。流程如下:

微信公众号用户与网站用户的绑定方案-微信开发

  线下路演签到流程
  其中,“绑定用户子流程”就是场景二中的流程。报名的交互在这里不再累述,每个营业都不一样。
  对于一个已经完成绑定的用户,他参加一个运动,必要做的就是通过微信报名,然后扫描二维码签到,体验相称流畅。
淄博网站建设



本文标题:微信公众号用户与网站用户的绑定方案-微信开发

本文网址:http://www.yiyuncloud.com/index/index/solutions_detail/id/421.html

原创网址:合肥APP开发公司<毅耘科技> 版权所有,转载标明出去,并以链接形式链接网址:www.yiyuncloud.com

文章标签:合肥APP开发 合肥软件开发 合肥o2o社区 合肥商城开发 合肥B2B2C商城开发

毅耘科技(www.yiyuncloud.com)是一家拥有新型网站建设与程序开发经验的公司,致力于解决企业网络服务问题,紧跟着网络变化的步伐,为企业提供网络科技服务。平台服务:品牌网站建设 、网站开发、微信开发、APP开发、软件开发、网校系统开发、多用户商城开发、分销商城开发、微商城、一元云购系统开发、O2O系统开发、商标注册、网络营销等项目。是专业为企业提升价值的公司。

分享到:

相关文章