企亿推信息网
专注网络推广服务

微信公众号用户与网站用户的绑定方案-深圳微信开发-沙漠风网站建设公司

现在很多网站都建立了完整的用户账户系统,基于这个系统,用户扩展其他应用非常方便。比如有微软outlook帐户,可以登录win8.可以登录微软邮箱,也可以登录skype。同样,一个AppleID可享受苹果的所有服务。俗话说,一个账号,到处用。对于企业来说,通常有网站的产品线,app,微信公众号等。统一各产品线的账户系统,实现账户到处使用的目标是非常必要的。网站和app使用相同的帐户,不需要做任何额外的工作,客户只要有用户名密码就可以登录。对于微信公众号,由于是基于微信公众平台的应用,需要遵守平台规则,需要做一些额外的工作来实现账户交换的目标。接下来我们来讨论一下微信微信官方账号用户如何与网站用户的账号系统无缝对接。用户关注微信微信官方账号后,会有一些互动。在互动过程中,可能需要获取用户的身份信息(对应网站的账号信息),如在微信官方账号下单、查询订单等。所以现在的问题是:对于同一用户,我们如何建立微信公众号用户(openid)与网站用户(userid)对应关系。这个过程叫绑定。绑定微信账号为了简化讨论,我总结了两个场景:1、用户已注册为我们的网站用户,但尚未关注我们的微信公众号;二、用户未注册,但已关注我们的微信微信官方账号。以上两种情况分别讨论。场景一用户已注册为我们的网站用户,但尚未关注我们的微信公众号。如何方便用户关注微信官方账号,同时绑定用户和微信微信官方账号?自然会想到二维码入口。近年来,二维码得到了广泛的应用。微信二维码的推广应用可以说是鱼得水、微信二维码支付、微信二维码登录、微信二维码名片等。可以说,二维码已经成为O2O线上线下连接的重要环节。小马哥也称"二维码是线上线下的关键入口"。在这里,用户需要先在网站上登录,然后在适当的地方给出入口,比如个人设置。绑定过程如下:绑定微信账号流程微信二维码生成功能需要在这里使用:http://mp.weixin.qq.com/wiki/18/28fc21e7ed87bec960651f0ce873ef8a.html关于微信二维码,官方文档中这样说:目前有2种类型的二维码,它们是临时二维码和永久二维码。前者有过期时间,有效期为30天(2592000秒),但可产生较多数量。后者没有过期时间,数量较少(目前参数仅支持1-1万个,即10万个)。两种二维码适用于账户绑定、用户来源统计等场景。两种二维码适用于账户绑定、用户来源统计等场景。显然,我们更适合使用临时二维码。用户刷新页面时,可以生成一次。因为二维码可以带来场景值(scene_id),当用户扫描带有场景值的二维码时,微信服务器会将场景值推给我们自己的服务器。当我们得到场景值时,我们可以验证和绑定逻辑。注:生成二维码需要认证的服务号。一个完整的绑定过程应该是这样的:①用户登录网页,点击绑定微信账号;②后台使用微信接口,生成二维码链接返回给前端显示,并建立场景值A与用户的对应关系;③用户扫描二维码,点击关注微信微信官方账号(如果已经关注,直接跳到④);④后台接收微信服务器推送的场景值A;⑤后台根据场景值A,查询相应的用户ID(依赖于②建立的对应关系);⑥建立用户userid与微信用户openid对应关系;⑦将绑定成功提示推送到用户微信客户端;⑧通知前台页面,绑定已完成,刷新页面,并返回一些微信账号信息。完成绑定。完成绑定。其中,②在中间,建立场景值A与用户之间的对应关系用户点击绑定微信账号时,我们可以在后台分配临时场景值A与用户ID关系。对于用户不多的网站,可以直接使用php中的apc缓存并设置过期时间(与临时二维码过期时间设置相同)。不要使用session存储这种对应关系是因为④是微信推送事件,不带session可以使用信息redis这类缓存或DB来存储。另,这里要使用临时二维码,数量上没有限制,只有时间限制,前台定时刷新即可。⑧中,因为http没有推送机制,所以简单的方法就是轮询查询,绑定是否已经完成,绑定完成后再刷新页面。绑定完成后,当用户与我们的微信公众号互动时,根据openid能找到对应的userid,即完成身份识别。对于之前提到的下单,查询订单,都是可以实现的。整个绑定过程并不复杂,技术难度也不大。关键是思考。以上流程是用户已经在网页上登录,即注册用户。对于未登录的情况,我们也可以在登录页面上生成二维码,让用户用微信扫描。如果用户已注册,可以自动登录,绑定网站账号和微信账号;如果用户未注册,网页将跳转到绑定账号页面。只要用户输入电子邮件密码快速注册,网站账号和微信用户的绑定也将完成。实现与上述类似的技术方案。场景二场景2,操作对用户来说有点复杂,因为它需要用户在微信客户端的网页上登录/注册。因此,如果注册过程过于复杂繁琐,则不建议使用。流程:用户绑定账户流程上述绑定过程集成了注册过程,因此看起来更为复杂。这并不难实现。我们关注安全问题,因为绑定账户涉及用户的信息安全,并考虑两个问题:1.如何防止链接被伪造?需要确保登录/注册链接是由我们自己的服务器生成的,其他人不能伪造。可参考微信验证服务器地址的有效性:http://mp.weixin.qq.com/wiki/17/2d4265491f12608cd170a95559800f2d.html。因此,更安全的登录链接可以是这样的:http://api.hello1010.com/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例子。流程如下:线下路演签到流程绑定用户子流程是场景二中的流程。这里不再讨论报名互动,每个业务都不一样。对于已完成绑定的用户,他需要做的是通过微信注册,然后扫描二维码登录,体验相当流畅。

微信公众号用户与网站用户的绑定方案-深圳微信开发-沙漠风网站建设公司(图1)网站建设公司" />

未经允许不得转载:启新网站SEO优化 » 微信公众号用户与网站用户的绑定方案-深圳微信开发-沙漠风网站建设公司
分享到: 更多 (0)
加载中~