如何使用微信扫一扫接口登录网站

  如何使用微信扫一扫接口登录网站功能实现(微信发现-》扫一扫仅适用于认证过的服务号。其他需要在微信中登录网站后台,使用微信jssdk的扫一扫来实现。)

  功能描述:PC端浏览器打开网址,生成微信需要扫描的二维码(二维码信息依据是否认证服务号来生成,认证服务号可以生成网页授权url地址,非认证服务号生成guid信息)。然后手机微信端进入网站后台,调用后台的微信jssdk扫码。或者使用微信发现,扫一扫功能扫码(此功能需要认证微信号才能用,因为扫码地址生成的是微信oauth网页授权地址,而不是jssdk扫码使用的guid信息)。

  扫一扫功能还可以在微信公众号内的菜单项目上调用,但是和手机系统版本有关,仅支持微信iPhone5.4.1以上版本,和Android5.4以上版本的微信用户。

  关键:如何获取微信用户的openid。

区别:使用微信发现扫一扫,而不是jssdk的扫一扫,网站必须绑定过微信号,否则网页授权的需要多一个绑定微信号到对应网站账号的步骤。登录后台后调用jssdk扫码不需要绑定,可以微信内扫码控制浏览器端的跳转和登录。

 

  微信网页扫一扫接口API:http://mp.weixin.qq.com/wiki/7/aaa137b55fb2e0456bf8dd9148dd613f.html#.E8.B0.83.E8.B5.B7.E5.BE.AE.E4.BF.A1.E6.89.AB.E4.B8.80.E6.89.AB.E6.8E.A5.E5.8F.A3

 

认证过微信服务号使用微信扫一扫接口登录网站实现

  微信菜单扫一扫连接到网站一个页面,这个页面通过微信的jssdk打开微信扫一扫功能(注意要配置好调用微信jssdk的配置,自己看这个:微信JS-SDK说明文档),needResult设置为1自己处理,扫码成功后将得到的结果(一般是guid这种唯一字符串)和得到的用户openid(认证过的服务器号可以直接获取当前访问页面的用户openid,参考:网页授权获取用户基本信息)一起回发服务器,通过openid(这个用户一定要通过微信注册过你们网站会员并且openid已经入库和这个用户关连)将guid写入这个用户记录中的一个字段中(或者一个临时表中写入guid和openid对应的用户的记录id,或者用Application对象来记录,guid作为键,openid作为值)

  被扫描的PC端页面生成guid的二维码提供给微信扫描,并且此页面用ajax不断轮训服务器,参数为生成的guid(二维码内容就是guid),服务器通过guid对比数据库记录是否存在此guid,存在获取用户记录id进行登录认证,设置session什么的,然后跳转到后台去。

  使用微信底部的发现,扫一扫功能登录的话(非认证服务号无法使用此功能),二维码需要生成网页授权获取用户基本信息中的地址,地址中的redirect_uri参数附带上guid,扫描后通过oauth获取openid和guid写入零时表或者application中,以便网页ajax轮训,发送的guid对比application中记录的guid获取openid进行系统登录。

未通过认证的订阅号或者服务号,通过认证的订阅号使用微信扫一扫接口登录网站实现

  未通过认证服务号,订阅号(这两种类型的菜单无法直接连接外网,不过就算能连也不能通过网页获取openid),或者通过认证的订阅号网页不能直接获取微信用户的openid,所以菜单要设置为click类型的,不能是连接,用户点击click请求服务器,服务器可以获取到openid(信息体看这个:http://mp.weixin.qq.com/wiki/17/f298879f8fb29ab98b2f2971d42552fd.html),然后返回一个链接附带上openid参数给用户点击,然后实现就和认证过的微信服务号一样了,只是openid获取方法不一样而已,这3中类型的公众号做次功能比较不友好。

 

  最后想说的是,asp,asp.net有需要扫码登录的可以在下面留言找我,价格优惠。。O(∩_∩)O哈哈~。。还有居于微信定位附近商家的asp,asp.net实现,有需要联系哈,共赢。。。



原创文章,转载请注明出处:如何使用微信扫一扫接口登录网站
评论(0)Web开发网
阅读(1194)喜欢(0)不喜欢(0)操作系统及应用软件