近期我們對(duì)線上的WordPress主題社交登錄功能做了一項(xiàng)更新:
優(yōu)化QQ登錄字段保存方式:
openid
改為unionid
,需要前往QQ互聯(lián)應(yīng)用接口
里面獲取權(quán)限;
此項(xiàng)更新需要前往QQ互聯(lián)獲取接口權(quán)限,否則會(huì)出現(xiàn)100048
、CompanyID not set
的錯(cuò)誤,如下圖:

解決辦法
進(jìn)入QQ互聯(lián)應(yīng)用管理
,查看需要設(shè)置的應(yīng)用,在應(yīng)用接口
下面找到unionid
,沒(méi)有獲取的話獲取一下接口權(quán)限,如圖:
為什么要修改成unionid
保存方式改成unionid
的目的是為了更好的兼容同一個(gè)帳號(hào)的多端登錄身份識(shí)別的問(wèn)題,舉個(gè)栗子:
目前您是網(wǎng)站,申請(qǐng)的是
網(wǎng)站應(yīng)用
接口,如果后續(xù)您想給網(wǎng)站增加APP端
,需要再申請(qǐng)一個(gè)移動(dòng)應(yīng)用
,那么如果使用openid
的話,同一個(gè)QQ用戶在兩個(gè)應(yīng)用登錄后返回的openid
是不一樣的,這就導(dǎo)致同一個(gè)QQ用戶不同端登錄后是不一樣的帳號(hào)。而使用
unionid
后,除了返回之前的openid
外,還會(huì)額外再返回一個(gè)unionid
,這個(gè)unionid
在同一個(gè)開(kāi)發(fā)者下面的不同應(yīng)用返回的值都是一樣的,這就可以很好的解決了多端登錄用戶身份統(tǒng)一識(shí)別的問(wèn)題。而使用unionid
后,除了返回之前的openid
外,還會(huì)額外再返回一個(gè)unionid
,這個(gè)unionid
在同一個(gè)開(kāi)發(fā)者下面的不同應(yīng)用返回的值都是一樣的,這就可以很好的解決了多端登錄用戶身份統(tǒng)一識(shí)別的問(wèn)題。
同時(shí)考慮到目前QQ也推出了小程序,為方便后續(xù)可能面臨的帳號(hào)對(duì)接問(wèn)題,統(tǒng)一開(kāi)啟unionid
是比較推薦的做法。