以前做微信登錄都是直接網友用微信客戶端打開網頁,
一直用的都是微信公眾號接口的網頁授權得到openId來記錄不同會員之間的區別的,
后來客戶要在PC端網頁也使用微信登錄,即微信掃碼登錄,
發現得到的openid是跟在網頁授權里得到的openid原來是不同的。
這就導致了用戶通過微信客戶端授權登錄與網頁掃碼登錄生成的不是同一個賬號的問題。
如果想解決這個問題就需要用到微信的UnionID機制:
網頁授權獲取用戶基本信息與公眾號等應用都遵循UnionID機制。
也就是說如果開發者要在多個公眾號或者在公眾號、移動應用之間統一用戶帳號的需求,
那么就需要去微信開放平臺(open.weixin.qq.com)綁定公眾號后,才可以用UnionID機制來滿足上述需求。
這樣的話,獲取到用戶代碼才會一樣。
這樣子就可以通過獲取用戶基本信息中的unionid來區分會員的唯一性,因為同一會員,
對同一個微信開放平臺下的不同應用(移動應用、網站應用和公眾帳號),unionid是相同的。
簡單來說,就是同一微信用戶,對同一個微信開放平臺下的不同應用,真正唯一的是unionid。openid對于不同平臺得到的用戶代碼是不一樣的。