作为普通用户,在使用微信的过程中,我们经常会看到各种“授权”,体验着当领导的感觉的同时,也会担心自己的隐私是否会暴露的问题。并且,即使是互联网从业者,也未必都能搞清楚这些“授权”到底是什么意思。那么下面我们就来看看,不同场景下的“授权”到底意味着什么。
为了更清晰地理解“授权”,有必要先讲一下微信里的 openid。其实很多其他平台也有类似的东西,你可以理解为在微信的各个产品里,唯一标识用户的一串字符串,即你在这个产品里唯一的身份证。这个产品可能是公众号,也可能是小程序。后面讲到的几个场景,都是可以在你无感知的情况下拿到这个 openid 的,用来保存你在这个应用中的数据。
所以 openid 本身并不包含什么敏感信息,但是如果这个应用本身保存其他信息的时候,也用 openid 作为用户的唯一标识,那么,当别人知道你的 openid 的时候就有可能会关联到你的信息。当然,除此之外,一般的应用都会有其他的身份校验机制,不在讨论范围。我们还是说回几种“授权”的含义和使用。
1. 个人用户:小程序授权
前面有提到,这种情况就是默认可以拿到 openid 来标识用户的。同时还会为用户分配一个 session key,有效期只有 5 分钟,这也是一种身份校验的方式。避免单独拿到 openid 就可以获取其他信息的风险。此外,在解密用户信息和手机号等数据时,也会用到 session key。
小程序里的授权,具体表现是,弹窗请求允许使用某些功能,比如授权获取用户信息、授权获取手机号等,标题会显示“微信授权”:
如果你选择拒绝,那应用程序就什么都拿不到,很棒吧。但是有的同学可能会发现,我好像没有点这个弹窗,为什么也能看到我的头像昵称呢?
不要慌,这里其实使用了微信官方的组件展示的,而应用的开发者并没有实际拿到你的昵称头像信息,只是把你自己的信息展示给你自己看而已。
<open-data type=”userAvatarUrl”></open-data>
<open-data type=”userGender” lang=”zh_CN”></open-data>
具体小程序可以请求使用的能力,如下表所示:
那么授权能否取消呢?能。在 小程序主界面右上角 … → 关于某某某小程序→ 右上角 … → 设置 → 允许“某某某” ,手动关掉相关设置即可,但是你的昵称头像其实服务器端已经保存了。这里只是禁止再次获取而已,比如你最新更换的头像,他们就拿不到了。
2. 个人用户:服务号网页授权
当我们在微信里打开某些网页时,可能会看到这种授权的弹窗。提示某个服务号请求你的授权。同样,服务号的静默授权可以拿到用户的 openid,这个 openid 跟前面的 openid 意义是一样的。但是 openid 是相对于某个小程序或服务号而言的唯一标识,比如这个 openid 跟刚才小程序那个 openid 拿到的值肯定是不一样的。openid 不是你在微信里全局的 ID。
同样,如果不授权,这个网页或者说是应用就无法拿到你的昵称头像等信息,就无法展示你的昵称头像,甚至直接不让你用了。
这个能否取消呢?不能,但是会过期。然而,你的昵称头像都已经被保存了,这个取消授权其实也没什么意义。
除了获取用户信息外,你可能还会遇到有的网页要求获取你的地理位置,或者获取录音功能等。表现上是一样的弹窗,只是功能列表不同而已。这些授权,在后面提到的授权管理界面,是可以关掉的。
3. 个人用户:微信登录授权
有些网站应用或者 APP,允许你自己的微信号通过PC扫码登录,或者 APP 跳转的方式,使用微信登录第三方 APP 或应用。在微信的 我 → 设置 → 隐私 → 授权管理,里面可以看到你授权微信登录的所有应用,以及应用能获得的能力,并且可以随时关掉。
这个使用微信登录并不会暴露你微信本身的账号密码给第三方,而是通过一种授权验证的方式,由微信来对接你和第三方的用户体系。所以不用担心微信账号本身的安全问题。不过其他的功能可能就要仔细辨别隐私问题了。
比如你授权了录音功能,那么使用这个 APP 期间就可能在你不知情的情况下录音,不过一般手机在调用硬件时都会有强制的提示,比如任务栏图标等,所以这个还好;再比如授权了朋友关系的应用,就可以向你的好友展示你在这个应用中的状态,比如正在看小黄图啥的~ 至于这个到底算不算隐私,还是你自己说了算。
4. 公众号/小程序所有者:授权第三方平台
这里的第三方平台可以理解为在微信开放平台实现的应用,目的是让公众号或小程序运营者在面向垂直行业需求时,可以通过一键登录授权给第三方开发者,来完成相关能力。
具体授权表现为,当你使用某个类似“微信公众号管理后台”的服务时,系统会提示你使用公众号或小程序的管理员微信号扫码授权,选择允许授权到第三方平台的能力。授权之后,公众号的这里能力将由第三方平台托管。
这里要特别注意权限列表,所有权限都授权的时候,几乎相当于完全把你的服务号或者小程序交给平台打理了。平台可以替你发信息,替你回复用户,替你管理用户删除用户等等。所以,如果要授权给第三方平台,一定确保是值得信赖的平台,否则你的帐号很可能会被滥用,比如发布不良信息,导致封号等等。
顺便提一句,同样道理,微博授权登录也是如此。如果授权的能力里包含发微博,那么这个应用就可以在任何时候用你的帐号发一条微博。记得之前某装修平台就是,你只要在 APP 里看了几张图,它就自动发一条非常恶心的广告微博,而且我完全不知情。你的粉丝会以为你要么中毒了,要么就在收钱打广告。
综上,即便是在微信场景下,“授权”也包含了很多种情况。所以无论是普通用户交流,还是产品需求沟通,都应该明确指出,我当前说的到底是哪种授权,这样才能使沟通更加顺畅。