手機端QQ登入openid與網站端QQ登入openid不一樣

Songlcy發表於2016-07-25

第三方登入,當web端和移動端資料需要進行同步的時候發現 同一個QQ,通過手機端第三方登入進去,和通過網站登入進去,因為openid不一樣,會生成兩個使用者。

微信: 獨有的 unionid機制, 使用者唯一識別符號,同個開發賬號下的應用 有個unionid是一樣的
微博:更簡單, web + 移動統統使用 uid做為使用者唯一標識
QQ : 建立的web端應用產生一個 APP ID 以及一個 APP KEY 建立移動應用的時候依然會產生一個新的APP ID 和 APP KEY 此時,使用QQ第三方登入時,手機應用和網站應用對同一個QQ號,獲取到的openid不一樣 openid生成是根據應用的appid和QQ號的一些資訊加密生成,對於一個appid和QQ號來說,openid是唯一的 .
手機應用和網站應用使用的appid不是同一個,所以,獲取到的openid也不會相同

那麼問題來了
同一個QQ,通過手機端第三方登入進去,和通過網站登入進去,因為openid不一樣,會生成兩個使用者,
客服說 發郵件申請繫結,但是隻能是用一個開發賬號下的一個網站應用和一個移動應用(多個就不行略坑!)

解決方法:
給connect@qq.com傳送郵件,內容格式:

第三方登入,web端返回的openid和手機端返回的openid不一致, 現申請兩個appid合併

移動應用:
appid:aabbbcccccc
appkey:aaaaaa

網站應用:
appid:bbbbbbb
appkey:ddddddddd
然後我這邊是1201分傳送的郵件, 回覆來的時候是 14:48分。  可能每個人的回覆情況不一樣吧,下面這張圖是回覆內容。根據內容走就可以了,打通下appid,指定個主要的appId就可以了。

回覆內容

今天又看了下這個問題, 出現這個問題的原因是 在剛剛建立移動應用的時候,忘記點選關聯QQ互聯,前提是網站端已經存在一個應用,直接關聯APPID 和APPKEY就行了。 一定不要忘記關聯QQ互聯!一定不要忘記關聯QQ互聯!一定不要忘記關聯QQ互聯!重要的事情說三遍, 阿西吧,犯了個愚蠢而又低階的錯誤。。。上面的情況是在你忘記關聯的情況下,已經提交上線,可以採取上面打通的方式來解決。打通以後,程式碼什麼的都不需要修改了,用的就是你設定的主APP ID,下面是截圖


回覆

哈哈。 就先到這吧。我今天剛剛建立了新的應用並關聯以及修改了專案重新提交了個版本,但是之前通過稽核的版本也可以正常使用了。新的和打通以後的都是一樣的,用的網站應用的APPID 和 APPKEY



文/花前月下(簡書作者)
原文連結:http://www.jianshu.com/p/5775fcead59b
著作權歸作者所有,轉載請聯絡作者獲得授權,並標註“簡書作者”。

相關文章