時(shí)間:2023-05-23 09:12:02 | 來(lái)源:網(wǎng)站運(yùn)營(yíng)
時(shí)間:2023-05-23 09:12:02 來(lái)源:網(wǎng)站運(yùn)營(yíng)
微信登錄UnionID終極方案——小程序、網(wǎng)站、微信內(nèi)嵌:微信登錄有多種方式:微信公眾平臺(tái)更新,為開(kāi)發(fā)者提供UnionID機(jī)制
經(jīng)開(kāi)發(fā)者反饋,由于同一公司下多個(gè)公眾號(hào)之間需要用戶帳號(hào)互通,微信開(kāi)放平臺(tái)提供了UnionID機(jī)制,來(lái)解決此問(wèn)題。
通過(guò)獲取用戶基本信息接口,開(kāi)發(fā)者可通過(guò)OpenID來(lái)獲取用戶基本信息,而如果開(kāi)發(fā)者擁有多個(gè)公眾號(hào),可使用以下辦法通過(guò)UnionID機(jī)制來(lái)在多公眾號(hào)之間進(jìn)行用戶帳號(hào)互通。
1. 將多個(gè)公眾號(hào)綁定到同一個(gè)微信開(kāi)放平臺(tái)(http://open.weixin.qq.com)帳號(hào)下,即同一個(gè)Union下
2. 通過(guò)獲取用戶基本信息接口中的UnionID來(lái)區(qū)分用戶的唯一性,不過(guò)需要注意的是:公眾號(hào)只有在被綁定到微信開(kāi)放平臺(tái)帳號(hào)下后,才會(huì)獲取UnionID。只要是同一個(gè)微信開(kāi)放平臺(tái)帳號(hào)下的公眾號(hào),用戶的UnionID是唯一的。換句話說(shuō), 同一用戶,對(duì)同一個(gè)微信開(kāi)放平臺(tái)帳號(hào)下的不同應(yīng)用,UnionID是相同的。
微信團(tuán)隊(duì)
2014年06月27日
{ "city" : "嘉定", "nickname" : "sink", "country" : "中國(guó)", "sex" : 1, "privilege" : [], "headimgurl" : "http://thirdwx.qlogo.cn/mmopen/vi_32/xxx", "unionid" : "o8kXM0YPa8C_Qnih9cCwGpe1sABQ", "openid" : "oZg120nIyCJzEAyXKD5LJR8HhKCk", "language" : "zh_CN", "province" : "杭州"}
對(duì)比網(wǎng)站登錄的數(shù)據(jù):{ "language" : "zh_CN", "privilege" : [], "sex" : 1, "unionid" : "o8kXM0YPa8C_Qnih9cCwGpe1sABQ", "country" : "中國(guó)", "city" : "嘉定", "headimgurl" : "http://thirdwx.qlogo.cn/mmopen/vi_32/xxx", "province" : "杭州", "openid" : "o0Xnp5liQw-fxkm8OLrbbPvljr48", "nickname" : "sink"}
可以看到 unionid 相同,而 openid 不同。curl -i 'http://demo.localhost/php.php?PHPSESSID=npvh65dsqshgk24qj4a1nitmoc'
但這樣和 token 機(jī)制不一致,而且不安全,不推薦:; This option forces PHP to fetch and use a cookie for storing and maintaining經(jīng)過(guò)試驗(yàn)發(fā)現(xiàn),最優(yōu)雅的方案是:使用 token,在 HTTP server 層面轉(zhuǎn)成 Cookie: session ID,詳細(xì)步驟請(qǐng)看:Apache change Cookie
; the session id. We encourage this operation as it's very helpful in combating
; session hijacking when not specifying and managing your own session id. It is
; not the be-all and end-all of session hijacking defense, but it's a good start.
; http://php.net/session.use-only-cookies
/etc/apache2/sites-enabled/000-default.conf
<VirtualHost *:80> SetEnvIf Authorization "^Session/ (.*)$" session=$1 RequestHeader set Cookie "PHPSESSID=%{session}e" env=session</VirtualHost>
php /var/www/html/php.php
<?phpsession_start();var_dump(session_id());var_dump($_COOKIE);
shell resultcurl -i 'http://demo.localhost/php.php' -H 'Authorization: Session npvh65dsqshgk24qj4a1nitmoc'HTTP/1.1 200 OKDate: Sun, 21 Apr 2019 08:54:59 GMTServer: Apache/2.4.34 (Ubuntu)Expires: Thu, 19 Nov 1981 08:52:00 GMTCache-Control: no-store, no-cache, must-revalidatePragma: no-cacheVary: Accept-EncodingContent-Length: 113Content-Type: text/html; charset=UTF-8string(26) "npvh65dsqshgk24qj4a1nitmoc"array(1) { ["PHPSESSID"]=> string(26) "npvh65dsqshgk24qj4a1nitmoc"}
后續(xù)工作:關(guān)鍵詞:程序,方案,終極
客戶&案例
營(yíng)銷資訊
關(guān)于我們
客戶&案例
營(yíng)銷資訊
關(guān)于我們
微信公眾號(hào)
版權(quán)所有? 億企邦 1997-2025 保留一切法律許可權(quán)利。