扫码登录方案选型
一个正经的项目肯定是需要登录的,这样才能通过登录态去限制用户的一些行为,提高不安定用户的捣乱门槛。但是项目也不应该处处强制登录,这样只会赶走想要尝试的用户!
我们的聊天,当然要打造最佳的用户体验。只有发消息需要用户登录,其他的成员列表没,消息列表,未登录都可以看见。
那么微信登录要如何实现呢?先来比对业界几种常见方案,然后再针对我们的方案做详细的技术讲解。
扫码登录方案调研
1.扫公众号事件码+手机号注册
左下角可支持扫码登录
登录后又需要我去绑定手机号。
我最讨厌这种明明支持扫码或者短信登录给我选的,结果我为了方便不接验证码,选择扫码登录,登录成功后又要求我绑定手机,非常难受。
2.扫公众号事件码+授权
wps就采用这样的登录方式,
1.通过扫描一个携带参数的二维码类似https://qrcode.wx.com?code=123
2.关注公众号后。后端会收到扫码用户的事件消息,里面有open_id以及事件码123
3.如果是一个未注册过的用户,为了获取用户昵称和头像,公众号会主动推送一个链接,用户点击授权后,就能获取用户信息。
如果网站只需要用户id,不需要任何用户信息,扫码完毕后就立马登录了,对用户是体验最好的功能
但是有一个缺点,获取用户授权的接口2022年7月就关停了,现在只有微信认证才能访问,难度比较大。
那普通的公众号有没有办法做扫码登录呢?也有。。我们可以从已有的接口权限入手。看看大家是怎么做的
3.公众号获取事件码+网站填写事件号
以鱼皮的编程导航为例,扫的是一张普通的公众号二维码,里面没有附带任何信息。
关注后会给一个动态码。同时后端也会记录对应的关注事件的open_id。
将动态码写入网站的登录框,就完成了微信
open_id和网站用户的绑定
4.网站展示事件码+公众号填写事件号
再看看技术派的实现
变成了用户跟随指示,在公众号输入对应的事件码,然后后端收到消息,里面携带了用户的open_id和事件码,完成用户的绑定。
总结
其实在哪里填这个事件码都一样,但是编程导航是在网站填写事件码。容易被小黑子暴力撞库,正好撞上了一个刚关注的用户。所以给的事件码就会比较复杂。而技术派由于是公众号内回复,所以可以准备一批简单的事件码比如666,888的数字,让用户去填,比较安全。
为了用户最好的体验,不需要手动输入任何信息,所以我选择去认证一个公众号,不就是300一年吗😄