基于微信平臺的第三方授權體系:場景和原理

4 評論 9462 瀏覽 63 收藏 10 分鐘

筆者立足微信公眾平臺的賬號體系,對涉及場景和相關原理進行了分析,與大家分享。

第三方授權登錄對于目前很多平臺都是一個比較常規的操作了,如果有留意過的話,會發現會用到很多不同的場景當中。無論是什么場景,基本上都是圍繞著讓用戶現在使用更方便或者讓用戶以后使用更方便的角度出發去進行的。

對于產品而言,為了滿足這樣的一些場景或者解決一些問題,我們就需要有對應的方式去進行設計,而在這些體系當中,目前用的比較廣泛的,很多都是會去基于微信平臺做一些賬號體系的設計,那么,接下來我們一起來以微信平臺為例看下背后的一些原理。

一、涉及場景

公司在初期基于成本考量,只做了微信小程序,但后期隨著業務的發展壯大,決定做App的版本。

那么就涉及到之前小程序當中的那些用戶了,如果他們用戶小程序登錄App,之前的資料或者記錄都不存在了,對于用戶來說體驗是很不好的,所以需要去想辦法在App端從賬戶角度去做同步。

公司就是專注做小程序,所以以同一個公司主體注冊并開發了多個小程序。

業務發展中涉及到需要用戶的相關信息能夠在多個小程序當中共通,有的人可能就會誤以為只要是同一個微信號登錄的哪怕不同小程序,都能自動識別是同一個用戶,但不好意思,并不是這樣,所以,這種情況也要想辦法解決。

公司做了微信公眾號的相關業務開發(訂單號和服務號),然后也做了小程序,公眾號用來做內容和部分簡單業務,小程序用來做工具,從公眾號里面直接引流去小程序的用戶。

對他們而言,最好是在公眾號里面的個人信息和小程序里面是一致的,但哪怕是同一個微信用戶,在公眾號和小程序之間跳轉時,也并不能識別到是同一個用戶,所以,需要有相應的方式去解決。

當然,還有一些其他的場景,這里就不一一列舉了,而微信作為一個如此大的廠商,也自然是考慮到了這樣的一些問題,所以他們也提供了比較好的辦法來解決。

二、微信平臺

在具體去聊微信是怎么樣幫我們解決這些問題之前,我們需要先了解下微信的相關體系以及概念,比如:微信開放平臺、微信公眾平臺、微信小程序、微信支付商戶賬戶、賬號主體等一系列名詞,當然這里不去一一講解,大家可以自行上網查閱;

這里主要想講一下,對于產品設計而言,比較重要的微信公眾平臺和微信開放平臺,像我們熟悉的服務號、訂閱號、小程序甚至企業號,都是屬于微信公眾平臺業務的范疇,那微信開放平臺呢?

其實完整的看,它能做的事情非常多,涵蓋的業務也很廣,但在產品設計中,尤其是前面提到的那些業務場景當中,它是能直接有效的解決那些場景中的賬號打通類問題的。

三、相關原理

當我們要開發小程序時,我們需要去微信公眾平臺上注冊一個小程序賬號,當我們要做公眾號開發時,同樣也是去微信公眾平臺上注冊一個賬號,具體在微信公眾平臺上要注冊什么類型的賬號,根據我們實際的業務以及產品形態進行選擇即可。

注冊完相應類型的賬號后,在開發產品過程中就會用到該賬號當中提供的一些開發需要用到的信息。

當然信息很多,但對于產品而言,我們需要重點關注的有一個東西叫做OpenID,這個玩意是個啥呢,對于沒有開發經驗的產品,可以這么簡單的理解,就是用某個微信號登錄到相應的微信平臺(小程序、公眾號)后,微信平臺自動為這個用戶生成的一個唯一的編碼,類似于現實生活中每個人的身份證號。

這個東西確實設計的非常方便,能幫助我們在用微信第三方授權登錄時,識別到對應的用戶。但正如最開篇提到的一些場景,同一個微信號,如果沒有什么特殊設置,產品經理沒有在賬號體系上巧妙設計,哪怕用戶用同一個微信號授權登錄了同一家公司的不同產品,如小程序、公眾號、App,對于這家公司而言,也沒法知道是不是同一個用戶的。

所以,微信為了幫助我們解決類似問題,就設計出了微信開放平臺,而最核心的就是它們創造了所謂的UnionID機制,那么它大概是怎么實現的呢?

舉個例子,當公司開發的既有小程序、又有公眾號、還有App、PC官網等等,都接入了微信第三方授權登錄的方式,那這個時候按照前面所說的OpenID機制,用戶對應這個公司的各個產品生成了各自的OpenID;

很顯然,如果涉及到賬號信息同步的話,在沒有做手機號綁定或者其他操作的情況下,幾乎就不太可能實現同步的業務了,對于用戶體驗是極差的,那這時可以怎么辦呢?

可以把公司的所有相關公眾號、小程序、App的信息綁定在同一個微信開放平臺上,綁定之后,用戶用同一個微信號在不同的產品登錄時,盡管是各自的OpenID,但對于同一微信號,它是會擁有一個共同的UnionID的;

通過這個共同的UnionID,就可以實現在不同產品當中識別到同一用戶的目的,這樣其他的資料信息同步業務都是可以基于這點去進行設計了。

下圖是之前我們公司的不同類型產品,綁定在微信開放后臺的情況:

對于數據庫當中,相應的用戶信息表結構就大致如下:

圖中的OpenID就是在用戶登錄了對應產品微信那邊生成,而UnionID字段則是在綁定了微信開放平臺以后,生成并保存在數據庫當中的。

知道了以上的這些背景信息和相關原理,相信在產品設計當中,就可以很好的解決實際工作當中的諸多與賬號體系有關的問題。

甚至基于上面的原理,還可以思考出同時接入了各種不同第三方授權登錄的方式后,賬號體系這塊應該怎么去設計。

在這里,想說下,很多所謂的產品經理,在工作中都非常浮躁,并不會想辦法去思考或者了解下產品設計背后的原因,只是停留在用戶使用流程、用戶體驗、用戶使用時的想法或者競品在產品設計時的想法這種偏表面的東西(沒錯,哪怕你在試圖洞察產品設計背后的想法與決策,這依然只是偏表面)。表象與原理結合,多方面思考同時盡可能深入又深入的去思考甚至實踐,你會獲得巨大的快感。

 

作者:小風,產品經理;公眾號:村上風

本文由 @小風 原創發布于人人都是產品經理。未經許可,禁止轉載

題圖來自 Pexels,基于 CC0 協議

更多精彩內容,請關注人人都是產品經理微信公眾號或下載App
評論
評論請登錄
  1. 以自己公司為主體,幫客戶生成的小程序,客戶又不想出現我們的品牌露出,這要怎么解決?

    回復
  2. 風哥,來這里問你一個問題喲。我們商城目前已經有了App,小程序和公眾號,那現在能放在微信開放平臺上去嗎,讓他們做個關聯,把同一個用戶全部榜到一起,這一步開發是要重新開發呢,還是只需要做某一部分啊

    回復
  3. 小風老師頂一個!~

    來自廣東 回復
  4. 寫的非常好

    回復