现在市面上大部分应用都选择接入微信授权登录作为快捷登录方式,那么微信授权登录该如何拆解呢?在本文中,笔者为大家介绍了微信授权登录的各种对接场景,以及授权登录设计等方面的内容,想要了解更多内容,就一起来看看吧。
微信授权登录是微信开放给第三方应用的一种快捷登录方式,由于其用户规模大、集成简单、用户体验好,市面上大部分应用都选择集成它。本文将具体介绍微信授权登录的各种集成场景。
1. 授权方式
目前微信授权方式有三种:
1)常规授权。此授权方式是最简单、最快捷的授权方式,微信发起授权时,直接打开授权页面,点击允许即可完成授权。
2)关注公众号授权。此授权方式需要用户关注授权应用绑定的公众号。发起授权时,微信会打开对应公众号关注页面,关注公众号即可完成授权。
3)手机号授权。该授权方式只能在小程序中调用,发起授权时,小程序会弹出授权提示窗,点击手机号即可完成授权。
(PS:自2023年8月26日起,手机号快速验证组件将需要付费使用,标准单价为:每个成功组件调用0.03元。)
2. 调用方式
目前微信授权调用的方式有四种:
网页调用。在微信浏览器内发起授权,调出授权页面。 小程序调用。在小程序内发起授权,调出授权页面。 扫码调用。在网页上生成授权二维码,使用微信“扫一扫”功能扫码,调出授权页面。 App跳转调用。在App内发起授权,跳转至微信,调出授权页面。 三、授权信息
目前通过微信授权能够获取到的授权信息大部分都是技术参数,产品经理主要需要关注以下几个关键信息:
头像。昵称(用户名,非真实姓名)。性别。国家。地区(用户资料中的省份和城市)。手机号(只能通过手机号授权获取)。4.授权技术原理
有些产品经理担心集成微信授权登录需要对现有产品的用户体系做较大的改动,所以有必要简单介绍一下微信授权的技术原理。
业务系统接入微信授权后,授权发生时,业务系统会收到微信接口提供的用户身份码(),这是用户身份的唯一标识,业务系统只需要在第一次授权时将身份码绑定到对应用户即可,下次再次授权时,如果身份码已经绑定到账号,则可登录对应账号。
简单授权登录流程:
结合以上技术原理,可以用流程图绘制出简单的授权登录流程。
以上流程仅适用于仅支持微信授权登录的业务系统,目前大部分产品都支持多种登录方式,实际场景比这复杂得多。
5.复杂场景的授权登录设计
很多平台都是先做常规的注册登录,再对接微信授权登录。所谓“常规”是指一般平台上比较常用的账号密码登录,或者目前比较流行的手机验证码登录。平台之前可能已经有一定的用户量,所以在对接授权登录的时候,需要考虑老用户的绑定问题。
如果平台原来通过手机号注册用户,现在也采用微信手机号授权,处理老用户的流程会更简单。
虽然这里是通过手机号授权登录的,但是也建议将获取到的信息绑定到对应的用户上。前面说了手机号授权登录只能在小程序中使用,如果不绑定的话,在其他端口授权的时候,就无法识别授权成功的用户了。
上面的流程有一个致命的问题,不知道大家注意到没有,如果使用授权手机号的平台内账号已经绑定了其他微信用户,按照上面的流程,当前微信用户通过授权手机号是可以登录账号的,但是如果通过其他授权方式登录的话,就无法登录了。
针对这个问题有两种优化方案,第一种比较简单粗暴,不做任何判断,只要验证通过就绑定当前微信用户。
第二种方式比较温和,判断当前微信用户绑定的账号是否一致,如果不一致则提醒用户,让用户自己选择。
需要注意的是,如果用户不选择解除绑定并重新绑定,修改授权方式后无法登录的问题依然会存在。
上面说的常规授权方式也可能出现类似问题,解决办法都是一样的,这里就不画图了,有兴趣的可以自行修改。
6. 用户不同意授权的解决办法
当被要求授权的时候,用户可能会拒绝应用获取微信授权,所以产品经理在设计微信授权流程的时候也需要考虑这种情况的发生。
如果产品只能通过微信授权登录,当出现此问题时没有办法解决。因此,如果可以的话,建议开发多种登录方式。当用户不同意授权时,系统自动切换到常规登录方式。
如果想尽可能的获取用户的授权,可以使用“二次授权”的方式。如果第一次授权被用户拒绝,在用户通过常规方法登录成功后,可以判断登录的账号是否绑定了微信账号,如果没有,此时可以再次调用授权,让用户再次确认。但这种方式不太人性化,请谨慎使用。
另一个可以尝试的方法就是提高用户授权的成功率。由于授权页面是微信提供的,微信只会简要提示用户授权需要获取哪些信息,部分用户出于安全考虑可能会习惯性拒绝授权。因此,在调用授权前,平台可以弹窗提示告知用户需要用户微信授权,同时说明为何需要授权、会获取哪些信息、这些信息会用在何处、承诺不会滥用或出售用户的信息等。其主要目的是让用户明白接下来会发生什么,尽力打消用户对授权的疑虑。
七、多平台产品授权方式选择
有些产品规模比较大,几乎覆盖全终端,包括web端、app、小程序、h5等,考虑到用户体验,建议不同终端采用不同的授权方式,比如web端是扫码登录,那么扫码登录加关注公众号也是完全没问题的。
但在h5中并不适用,如果在h5中发起关注公众号的授权,微信会从原网页跳转到公众号关注页面,用户关注后可能会点击进入公众号或者通过文章列表进入其他页面,导致用户跳出目标页面。
在小程序中,如果用户拒绝授权使用手机号,可以退而求其次,改为正常授权。这种方式不会获取用户的手机号,用户的戒心也会更小,更容易获得用户的同意。
至于App端就比较灵活了,只要微信支持,什么方法都可以用,因为授权成功之后会返回到App本体。
以上就是本文的全部内容,谢谢大家的阅读,我正在参加《人人都是产品经理》年度最受欢迎写手的评选,如果大家觉得我的文章对你有帮助,请为我投上宝贵的一票,谢谢。
投票入口:
专栏作家
产品金利,微信公众号:产品金利(ID:),是《人人都是产品经理》的专栏作家。一个不干本职工作,不做产品设计的产品经理。