從事微信開發的朋友們一定對openID非常熟悉。對于一個公眾號來說,一個OpenID就意味著一個用戶。然而如果你對OpenID不熟悉也沒關系,本文就是要寫給初接觸互聯網的小白們,看完下面的內容,希望你能對它有一定的認識。
我們用一個小比喻來說明一下,在用戶與公眾號的一個對話交互中,OpenID扮演了什么角色。
場景是這樣的:
某用戶關注了一個公眾號。
公眾號立即給用戶回復了一句話:“你瞅啥?”。
用戶說道:“瞅你咋地!”
用戶發完這句話覺得很不爽,遂取消了關注。
整個過程的信息流是這樣的:
用戶關注公眾號的時候,微信服務器通知公眾號開發者:
大哥,醒醒!有個人關注了你哎,他的OpenID是xxxx.
開發者被吵醒,此時脾氣不太好,就告訴微信服務器:
對這個OpenID是xxxx的人說“你瞅啥?”
當用戶回復消息的時候,微信服務器又告訴開發者:
矮馬!大哥!OpenID是xxxx的小子說“瞅你咋地!”
開發者此時已經拎起了錘子。淡素!開發者此時只知道用戶的OpenID,家住哪兒?不知道!身份證號是多少?不知道!手機號是多少?不知道!甚至連微信號是多少都不知道!正準備還嘴罵回去,微信服務器又告訴開發者:
大哥,有個小子取消了對你的關注,它的OpenID是xxxx.
大哥對微信服務器說:
告訴OpenID為xxxx的這小子:“以后見你一次削你一次!”
微信服務器說到:
大哥,xxxx是誰啊?你的粉絲里沒有這號人啊!
這位大哥拔劍四顧心茫然,最后連還嘴的機會都沒有了。
這就是OpenID,一個互聯網用戶的身份標識。對于公眾號來說,每一個用戶,都有一個OpenID,開發者想要聯系這個用戶,必須通過這個ID來進行。而用戶取消對其關注之后,開發者想要再向這個用戶發消息,是不可能的。
在互聯網環境中,一個東西能夠作為用戶的ID,需要至少具備以下特征:
- 能夠唯一的確定一個用戶
- 能夠通過它聯系到這個用戶
那么有機會在互聯網中充當用戶ID角色的東西還有什么呢?
- 在自家平臺上注冊的賬號
- 用戶郵箱
- 用戶手機號碼
自家平臺上注冊的賬號當然沒什么可說的,但是自建注冊賬號需要考慮用戶密碼丟了要能找回來的問題,繁瑣的密保設置將會大大降低用戶注冊的興趣,因此一般只有注冊郵箱的時候才會要求用戶設置密碼保護。另一個是重名問題,用戶叫小白,注冊的時候發現“小白”已經被注冊了,改為“小白123”,這個也被注冊了;改為“小白1991”,又被注冊了;改為“小白2015”,又被注冊!奶奶的,算了!不注冊個球了!
用郵箱或手機號碼能解決上面兩個問題,首先不擔心重復。其次,你密碼丟了的話我發給你重置鏈接就行了。什么?郵箱密碼也丟了?你去回答當初注冊郵箱的密保問題吧!什么?密保也忘了?矮馬!親愛的用戶,以你這遺忘程度,基本上也就告別互聯網了。。。
但是,用郵箱和手機號注冊,對于用戶來說,是有信息安全風險的。舉個栗子:在上文所講的故事中,用戶說了一句“瞅你咋地?”那位不開心的大哥直接能打電話到你手機或給你發郵件告訴你:“放學別走!咱倆嘮嘮!”或者干脆把用戶手機號寫在男廁所門上,后面寫上“槍支!迷藥!無抵押貸款”
OpenID此時就體現出優勢了。
那么假如,我是說假如,這位不開心的大哥有一群開發者兄弟,在互聯網各個山頭稱王稱霸。大哥打電話給兄弟們:“都給我聽好了,碰見OpenID是xxxx那小子,替老子教訓教訓他!某寶光棍節那天給人家降價,別給他降。某酷的視頻給人家插一條廣告,給他插兩條。某度,說你呢,給用戶偷偷安裝全家桶的時候給丫多裝幾個。”
此時,OpenID的另一個機制又發揮作用了:每個用戶對每個公眾號的OpenID是唯一的。然而對于不同公眾號或服務,同一用戶的OpenID是不同的。
兄弟們紛紛表示:
大哥,我們敬重你的為人,但是小弟真沒見過這個人!
于是,大哥繼續郁悶著,當初揚言“瞅你咋地”那哥們兒,在不同的地方,用著不同的OpenID,快樂地享受著不同的服務。
看來瞅一瞅也的確不能把他咋地。。。
完
注:
1.文中故事提到“大哥”無法通過OpenID獲知用戶的身份證號,手機號,微信號等信息。但是并不是一無所獲,經過微信認證的公眾號可以根據OpenID獲知用戶的其它的一些公開信息,包括昵稱、頭像、性別、所在城市、語言和關注時間。
2.文中故事描寫“大哥”的兄弟時列舉的某寶、某酷、某度其實是不用微信OpenID的,此處只是比喻一下,你懂就好。