微信里的“授權(quán)”到底是幾個(gè)意思?
不同場(chǎng)景下的“授權(quán)”到底意味著什么?一起來看看~
作為普通用戶,在使用微信的過程中,我們經(jīng)常會(huì)看到各種“授權(quán)”,體驗(yàn)著當(dāng)領(lǐng)導(dǎo)的感覺的同時(shí),也會(huì)擔(dān)心自己的隱私是否會(huì)暴露的問題。并且,即使是互聯(lián)網(wǎng)從業(yè)者,也未必都能搞清楚這些“授權(quán)”到底是什么意思。那么下面我們就來看看,不同場(chǎng)景下的“授權(quán)”到底意味著什么。
為了更清晰地理解“授權(quán)”,有必要先講一下微信里的 openid。其實(shí)很多其他平臺(tái)也有類似的東西,你可以理解為在微信的各個(gè)產(chǎn)品里,唯一標(biāo)識(shí)用戶的一串字符串,即你在這個(gè)產(chǎn)品里唯一的身份證。這個(gè)產(chǎn)品可能是公眾號(hào),也可能是小程序。后面講到的幾個(gè)場(chǎng)景,都是可以在你無感知的情況下拿到這個(gè) openid 的,用來保存你在這個(gè)應(yīng)用中的數(shù)據(jù)。
所以 openid 本身并不包含什么敏感信息,但是如果這個(gè)應(yīng)用本身保存其他信息的時(shí)候,也用 openid 作為用戶的唯一標(biāo)識(shí),那么,當(dāng)別人知道你的 openid 的時(shí)候就有可能會(huì)關(guān)聯(lián)到你的信息。當(dāng)然,除此之外,一般的應(yīng)用都會(huì)有其他的身份校驗(yàn)機(jī)制,不在討論范圍。我們還是說回幾種“授權(quán)”的含義和使用。
1.?個(gè)人用戶:小程序授權(quán)
前面有提到,這種情況就是默認(rèn)可以拿到 openid 來標(biāo)識(shí)用戶的。同時(shí)還會(huì)為用戶分配一個(gè) session key,有效期只有 5 分鐘,這也是一種身份校驗(yàn)的方式。避免單獨(dú)拿到 openid 就可以獲取其他信息的風(fēng)險(xiǎn)。此外,在解密用戶信息和手機(jī)號(hào)等數(shù)據(jù)時(shí),也會(huì)用到 session key。
小程序里的授權(quán),具體表現(xiàn)是,彈窗請(qǐng)求允許使用某些功能,比如授權(quán)獲取用戶信息、授權(quán)獲取手機(jī)號(hào)等,標(biāo)題會(huì)顯示“微信授權(quán)”:
如果你選擇拒絕,那應(yīng)用程序就什么都拿不到,很棒吧。但是有的同學(xué)可能會(huì)發(fā)現(xiàn),我好像沒有點(diǎn)這個(gè)彈窗,為什么也能看到我的頭像昵稱呢?
不要慌,這里其實(shí)使用了微信官方的組件展示的,而應(yīng)用的開發(fā)者并沒有實(shí)際拿到你的昵稱頭像信息,只是把你自己的信息展示給你自己看而已。
<open-data type=”userAvatarUrl”></open-data>
<open-data type=”userGender” lang=”zh_CN”></open-data>
具體小程序可以請(qǐng)求使用的能力,如下表所示:
那么授權(quán)能否取消呢?能。在?小程序主界面右上角?…?→ 關(guān)于某某某小程序→ 右上角?… → 設(shè)置 → 允許“某某某”?,手動(dòng)關(guān)掉相關(guān)設(shè)置即可,但是你的昵稱頭像其實(shí)服務(wù)器端已經(jīng)保存了。這里只是禁止再次獲取而已,比如你最新更換的頭像,他們就拿不到了。
2.?個(gè)人用戶:服務(wù)號(hào)網(wǎng)頁授權(quán)
當(dāng)我們?cè)谖⑿爬锎蜷_某些網(wǎng)頁時(shí),可能會(huì)看到這種授權(quán)的彈窗。提示某個(gè)服務(wù)號(hào)請(qǐng)求你的授權(quán)。同樣,服務(wù)號(hào)的靜默授權(quán)可以拿到用戶的 openid,這個(gè) openid 跟前面的 openid 意義是一樣的。但是 openid 是相對(duì)于某個(gè)小程序或服務(wù)號(hào)而言的唯一標(biāo)識(shí),比如這個(gè) openid 跟剛才小程序那個(gè) openid 拿到的值肯定是不一樣的。openid 不是你在微信里全局的 ID。
同樣,如果不授權(quán),這個(gè)網(wǎng)頁或者說是應(yīng)用就無法拿到你的昵稱頭像等信息,就無法展示你的昵稱頭像,甚至直接不讓你用了。
這個(gè)能否取消呢?不能,但是會(huì)過期。然而,你的昵稱頭像都已經(jīng)被保存了,這個(gè)取消授權(quán)其實(shí)也沒什么意義。
除了獲取用戶信息外,你可能還會(huì)遇到有的網(wǎng)頁要求獲取你的地理位置,或者獲取錄音功能等。表現(xiàn)上是一樣的彈窗,只是功能列表不同而已。這些授權(quán),在后面提到的授權(quán)管理界面,是可以關(guān)掉的。
3.?個(gè)人用戶:微信登錄授權(quán)
有些網(wǎng)站應(yīng)用或者 APP,允許你自己的微信號(hào)通過PC掃碼登錄,或者 APP 跳轉(zhuǎn)的方式,使用微信登錄第三方 APP 或應(yīng)用。在微信的?我 → 設(shè)置 → 隱私 → 授權(quán)管理,里面可以看到你授權(quán)微信登錄的所有應(yīng)用,以及應(yīng)用能獲得的能力,并且可以隨時(shí)關(guān)掉。
這個(gè)使用微信登錄并不會(huì)暴露你微信本身的賬號(hào)密碼給第三方,而是通過一種授權(quán)驗(yàn)證的方式,由微信來對(duì)接你和第三方的用戶體系。所以不用擔(dān)心微信賬號(hào)本身的安全問題。不過其他的功能可能就要仔細(xì)辨別隱私問題了。
比如你授權(quán)了錄音功能,那么使用這個(gè) APP 期間就可能在你不知情的情況下錄音,不過一般手機(jī)在調(diào)用硬件時(shí)都會(huì)有強(qiáng)制的提示,比如任務(wù)欄圖標(biāo)等,所以這個(gè)還好;再比如授權(quán)了朋友關(guān)系的應(yīng)用,就可以向你的好友展示你在這個(gè)應(yīng)用中的狀態(tài),比如正在看小黃圖啥的~ 至于這個(gè)到底算不算隱私,還是你自己說了算。
4.?公眾號(hào)/小程序所有者:授權(quán)第三方平臺(tái)
這里的第三方平臺(tái)可以理解為在微信開放平臺(tái)實(shí)現(xiàn)的應(yīng)用,目的是讓公眾號(hào)或小程序運(yùn)營者在面向垂直行業(yè)需求時(shí),可以通過一鍵登錄授權(quán)給第三方開發(fā)者,來完成相關(guān)能力。
具體授權(quán)表現(xiàn)為,當(dāng)你使用某個(gè)類似“微信公眾號(hào)管理后臺(tái)”的服務(wù)時(shí),系統(tǒng)會(huì)提示你使用公眾號(hào)或小程序的管理員微信號(hào)掃碼授權(quán),選擇允許授權(quán)到第三方平臺(tái)的能力。授權(quán)之后,公眾號(hào)的這里能力將由第三方平臺(tái)托管。
這里要特別注意權(quán)限列表,所有權(quán)限都授權(quán)的時(shí)候,幾乎相當(dāng)于完全把你的服務(wù)號(hào)或者小程序交給平臺(tái)打理了。平臺(tái)可以替你發(fā)信息,替你回復(fù)用戶,替你管理用戶刪除用戶等等。所以,如果要授權(quán)給第三方平臺(tái),一定確保是值得信賴的平臺(tái),否則你的帳號(hào)很可能會(huì)被濫用,比如發(fā)布不良信息,導(dǎo)致封號(hào)等等。
順便提一句,同樣道理,微博授權(quán)登錄也是如此。如果授權(quán)的能力里包含發(fā)微博,那么這個(gè)應(yīng)用就可以在任何時(shí)候用你的帳號(hào)發(fā)一條微博。記得之前某裝修平臺(tái)就是,你只要在 APP 里看了幾張圖,它就自動(dòng)發(fā)一條非常惡心的廣告微博,而且我完全不知情。你的粉絲會(huì)以為你要么中毒了,要么就在收錢打廣告。
綜上,即便是在微信場(chǎng)景下,“授權(quán)”也包含了很多種情況。所以無論是普通用戶交流,還是產(chǎn)品需求溝通,都應(yīng)該明確指出,我當(dāng)前說的到底是哪種授權(quán),這樣才能使溝通更加順暢。
作者:姬小光,微信公眾號(hào)“姬小光(ID:hi-laser)”
本文由 @姬小光 原創(chuàng)發(fā)布于人人都是產(chǎn)品經(jīng)理。未經(jīng)許可,禁止轉(zhuǎn)載。
題圖來源于網(wǎng)絡(luò)
靜默登錄是否可以獲取open及用戶昵稱用戶頭像呢?
微信授權(quán)的具體數(shù)據(jù)流可以說說嗎?
OAuth2.0 鑒權(quán)的流程都一樣的,這里有個(gè)簡(jiǎn)單的時(shí)序圖:https://developers.weixin.qq.com/miniprogram/dev/api/api-login.html
好的,非常感謝
不客氣
用戶信息包含哪些,只有昵稱和頭像嗎?
見下面回答 @產(chǎn)品范 同學(xué)的,有例子。
靜默授權(quán)一定需要彈窗提示用戶嗎?如果只要獲取用戶的openid,是不是可以直接拿到,不用彈窗
既然叫靜默授權(quán),當(dāng)然用戶是無感知的啦~ 但是細(xì)心的你可能會(huì)發(fā)現(xiàn)進(jìn)度條的跳轉(zhuǎn)過程,可以說基本無感知。
請(qǐng)問授權(quán)朋友關(guān)系給小程序,是在哪一步完成的?
沒有詢問用戶,騰訊系的都有,還有小游戲也有這個(gè)能力。
授權(quán)了很多(幾乎不計(jì)其數(shù))第三方應(yīng)用的登錄,在微信授權(quán)管理頁面里并沒有看到呢
感覺權(quán)限管理中的可管理的應(yīng)用 都是騰訊系的~
第三方應(yīng)用微信掃碼登錄本身沒有獲取你的更多信息,只是標(biāo)識(shí)用戶。但是微博什么的,登錄時(shí)候會(huì)展示使用了你哪些信息和能力。
順便咨詢一下,聯(lián)合登錄和授權(quán)登錄,主要什么區(qū)別
你的聯(lián)合登錄是指?其實(shí)不管什么登錄,本質(zhì)上就是拿個(gè) ID 可以標(biāo)識(shí)用戶而已,最后的目的沒什么區(qū)別。
如果用戶關(guān)注了公眾號(hào),是不是就能拿到昵稱頭像等信息,就不用授權(quán)?
你都關(guān)注人家了,微信管理后臺(tái)都能看到你的昵稱頭像了。通過會(huì)話消息獲取用戶基本信息的,還包括省市等擴(kuò)展信息,但是要求微信認(rèn)證,所以個(gè)人的訂閱號(hào)基本就不能搞了,公司的認(rèn)證過的可以。這里是用戶信息例子,來自官方文檔:
{
“subscribe”: 1,
“openid”: “o6_bmjrPTlm6_2sgVt7hMZOPfL2M”,
“nickname”: “Band”,
“sex”: 1,
“language”: “zh_CN”,
“city”: “廣州”,
“province”: “廣東”,
“country”: “中國”,
“headimgurl”:”http://thirdwx.qlogo.cn/mmopen/g3MonUZtNHkdmzicIlibx6iaFqAc56vxLSUfpb6n5WKSYVY0ChQKkiaJSgQ1dZuTOgvLLrhJbERQQ4eMsv84eavHiaiceqxibJxCfHe/0″,
“subscribe_time”: 1382694957,
“unionid”: ” o6_bmasdasdsad6_2sgVt7hMZOPfL”
“remark”: “”,
“groupid”: 0,
“tagid_list”:[128,2],
“subscribe_scene”: “ADD_SCENE_QR_CODE”,
“qr_scene”: 98765,
“qr_scene_str”: “”
}