昨晚TePass插件交流群有人发了一篇文章,说可以利用企业微信获取openid,个人资质也可以,我看了一下文章,里面提到“为保障企业数据安全,需配置备案主体与当前企业主体相同或有关联关系的域名。”怀着将信将疑的态度,我去试了一下,发现只需要验证域名所有权即可,写代码试了一下,果然能获取openid,于是今天就开动,把TePass插件的微信扫码登录方式改了。
这里说明一下,TePass插件所使用的微信扫码登录方式历程。
个人站长要想使用微信扫码登录是很麻烦的,微信没有开放接口,只能动脑子采用其它的方法来实现。
第一次:利用payjs获取openid登录
利用payjs获取openid方式登录,可以说全网也只有我一个人想出这么奇葩的做法,起因是我偶然一次看见payjs的文档里面居然有个接口,通过商家的id号能获取到openid,正愁没有办法实现微信登录,就采用了这种方式试试,没想到还挺好用,可惜的是前两年payjs关闭了个人用户开户的途径,除了老用户之外,后面的都无法使用这种登录方式。
第二次:利用微信小程序扫码实现
因为payjs的原因,我比较关注可行的微信登录方式,一天我了浏览SF时看到有人说小程序可以实现获取用户openid,于是我就试了一下,还真行,加上我有一个开源的微信小程序,就把微信登录改到小程序上,个人免费注册一个小程序,上传我的微信小程序代码,激活TePass插件,填写配置,就可以实现微信扫码登录,扫码直接调出微信小程序,点击登录按钮就完成了登录。这种方式我很喜欢,因为是正规途径获取的,每个用户都可以去实现。
可是突然有一天,微信下架了我的小程序,说是类型不符,用户投诉,后来我才知道就是微信自己下架的,可能是为了让个人的小程序去备案,备案后才能用吧。
很遗憾,我只能又改回了payjs的登录方式。
第三次:利用企业微信获取openid的方式
昨天群里有人发了这样一篇文章《使用企业微信API获取个人微信的openid实现用户鉴权!无需认证公众号!完全免费!》,当晚我就去试了一下,发现真能获取到openid,于是今天就写到插件里面了。企业微信的申请和相关配置见教程《使用企业微信API获取个人微信的openid实现网站微信扫码登录》。
老规矩,先测试几天,没问题就放出来给大家一起用了。
最后说明
1、我知道可以利用个人的微信公众号,让用户关注,然后发验证码的方式去实现登录,这么麻烦用户,真不好。
2、由于修改到了企业微信去获取openid方式登录,那么以前绑定微信登录的用户可能扫码就无法直接登录了,需要你先用账号登录我的网站,然后再去扫码重新绑定一次,绑定成功了以后就可以扫码直接登录了。
本文属原创,转载请注明原文:https://pangsuan.com/p/change_wxlogin.html
评论 (0)