亚洲香蕉成人av网站在线观看_欧美精品成人91久久久久久久_久久久久久久久久久亚洲_热久久视久久精品18亚洲精品_国产精自产拍久久久久久_亚洲色图国产精品_91精品国产网站_中文字幕欧美日韩精品_国产精品久久久久久亚洲调教_国产精品久久一区_性夜试看影院91社区_97在线观看视频国产_68精品久久久久久欧美_欧美精品在线观看_国产精品一区二区久久精品_欧美老女人bb

首頁 > 語言 > PHP > 正文

微信公眾號用戶與網站用戶的綁定解決方案分析

2024-05-05 00:08:16
字體:
來源:轉載
供稿:網友

本文實例講述了微信公眾號用戶與網站用戶的綁定解決方案。分享給大家供大家參考,具體如下:

現在很多網站都已經建立了一套完整的用戶賬號體系,基于這套體系,再做其他應用的用戶擴展就非常方便。例如,有了微軟的outlook賬戶,就可以登錄win8,可以登錄微軟的郵箱,還可以登錄skype。同樣地,一個Apple ID可以享受蘋果的所有服務。正所謂,一個賬號,處處使用。

對于企業,可能會有產品線通常有網站,app,微信公眾號等。統一各產品線的賬號體系,實現一個賬號處處使用的目標是非常有必要的。網站和app使用同一個賬號,不需要做任何多余的工作,客戶只要有用戶名密碼即可登錄。對于微信公眾號,由于它是基于微信公眾平臺的一個應用,需要遵守平臺的規則,所以需要做一些額外的工作才能達到賬號互通的目標。

接下來我們就來討論一下,如何做到微信公眾號用戶與網站用戶的賬號體系無縫對接。

當用戶關注微信公眾號后,會有一些交互,交互過程中可能需要獲取到用戶的身份信息(對應到網站的賬戶信息),例如在公眾號中下單,查詢訂單等操作。那么現在問題來了:對于同一個用戶,我們如何建立微信公眾號用戶(openid)與網站用戶(userid)之間的對應關系。這個過程我們稱之為綁定。

微信公眾號,網站用戶,綁定

微信賬號綁定

為了簡化討論,我總結了這樣兩個場景:

一、用戶已注冊成為我們的網站用戶,但還未關注我們的微信公眾號;
二、用戶未注冊,但已關注我們的微信公眾號。

對于以上兩種情況,下面分別討論。

場景一

用戶已注冊成為我們的網站用戶,但還未關注我們的微信公眾號。如何方便用戶關注公眾號,同時又能把用戶和微信公眾號綁定在一起呢?很自然地就可以想到二維碼這個入口。

最近幾年,二維碼的應用特別廣泛。微信對二維碼的推廣及應用可以說是如魚得水,微信二維碼支付,微信二維碼登錄,微信二維碼名片等等。可以說,二維碼已經成為O2O中連接線上線下的重要紐帶。小馬哥也稱"二維碼是線上線下的一個關鍵入口"。

在這里,需要用戶在網站上先登錄,然后在合適的地方給出一個綁定入口,比如在個人設置里。綁定流程如下:

微信公眾號,網站用戶,綁定

微信賬號綁定流程

這里需要用到微信的二維碼生成功能:http://mp.weixin.qq.com/wiki/18/28fc21e7ed87bec960651f0ce873ef8a.html

關于微信二維碼,官方文檔中這樣說:

目前有2種類型的二維碼,分別是臨時二維碼和永久二維碼,前者有過期時間,有效期30天(2592000秒),但能夠生成較多數量,后者無過期時間,數量較少(目前參數只支持1--100000,即10萬個)。兩種二維碼分別適用于帳號綁定、用戶來源統計等場景。

顯然,我們使用臨時二維碼比較合適。每當用戶刷新頁面時,都可以生成一次。

由于二維碼里可以帶有場景值(scene_id),當用戶掃描帶有場景值的二維碼后,微信服務器會把場景值推送給我們自己的服務器,我們拿到場景值后,就可以做驗證和綁定邏輯。注意:生成二維碼需要認證后的服務號。

一次完整的綁定流程應該是這樣的:

①用戶登錄網頁,點擊“綁定微信賬戶”;
②后臺使用微信接口,生成二維碼鏈接返回給前端顯示,并建立場景值A與用戶的對應關系;
③用戶掃描二維碼,并點擊關注微信公眾號(假如已關注,直接跳到④);
④后臺接收微信服務器推送的場景值A;
⑤后臺根據場景值A,查詢到對應的用戶ID(依賴于②中建立的對應關系);
⑥建立用戶userid與微信用戶openid的對應關系;
⑦給用戶的微信客戶端推送“綁定成功”的提示;
⑧通知前臺頁面,綁定已完成,刷新頁面,并返回一些微信賬戶信息。完成綁定。

其中,②中,“建立場景值A與用戶之間的對應關系”,因為用戶已經登錄,所以用戶點擊“綁定微信賬戶”時,我們可以在后臺分配一個臨時場景值A與用戶ID之間的對于關系。對于用戶量不大的網站,可以直接使用php中的apc來緩存,并設置一個過期時間(與臨時二維碼過期時間設置成一樣即可)。不要使用session來存儲這種對應關系,因為④中是微信的推送事件,是不帶session信息的,可以使用redis這類緩存或DB來存儲。另,這里要使用臨時二維碼,數量上沒有限制,只有時間限制,前臺定時刷新即可。

⑧中,因為http沒有推送機制,所以最簡單的方法就是輪詢去查詢,是否已經完成綁定,完成綁定后再刷新頁面。

完成綁定后,用戶再跟我們的微信公眾號交互時,根據openid可以找到對應的userid,即完成身份識別。對于之前提到的下單,查詢訂單,都是可以實現的。

整個綁定過程并不復雜,實現起來也沒有太大的技術難度,最關鍵的是思路。

上述流程是用戶已經在網頁端登錄了,也就是說已經注冊用戶。對于沒有登錄的情況,我們也可以做,在登錄頁面生成一個二維碼,讓用戶用微信掃一掃。假如用戶已經注冊,則可以自動登錄,并完成網站賬號和微信賬號的綁定;假如用戶沒有注冊,則網頁跳轉到綁定賬號頁面,只要用戶輸入郵箱密碼快速注冊,同時也完成了網站賬號和微信用戶的綁定。實現技術方案跟上述類似。

場景二

場景二,對于用戶來說操作略微復雜,因為它需要用戶在微信客戶端的網頁中完成登錄/注冊。所以,假如注冊過程太過復雜繁瑣,不建議使用。

流程:

微信公眾號,網站用戶,綁定

用戶綁定賬戶流程

上述綁定流程集成了注冊的過程,所以看起來比較復雜。實現起來也沒有太大的難度,我們重點關注一下安全性方面的問題,因為綁定賬戶涉及到用戶的信息安全,考慮兩個問題:

1、如何防止鏈接被偽造

登錄/注冊的鏈接需要確保是我們自己的服務器生成的,其他人無法偽造??梢詤⒖嘉⑿诺尿炞C服務器地址的有效性:

http://mp.weixin.qq.com/wiki/17/2d4265491f12608cd170a95559800f2d.html。

所以一個比較安全的登錄鏈接可以是這樣的:

http://api.hello1010.com/wechat/login.html?openid=x1&signature=x2×tamp=x3&nonce=x4&echostr&=x5

校驗簽名的代碼:

private function checkSignature(){  $openid = $_GET["openid"];  $signature = $_GET["signature"];  $timestamp = $_GET["timestamp"];  $nonce = $_GET["nonce"];  $token = TOKEN;  $tmpArr = array($token, $timestamp, $nonce, $openid);  sort($tmpArr, SORT_STRING);  $tmpStr = implode( $tmpArr );  $tmpStr = sha1( $tmpStr );  if( $tmpStr == $signature ){    return true;  }else{    return false;  }}

token值可以跟自己的微信公眾號后臺的一致,也可以換一個,建議換一個安全點。

2、如何確保openid是可信的

考慮這種場景:A用戶進入登錄頁面,復制登錄鏈接到瀏覽器,把openid替換為B用戶的openid,使用A用戶的賬號密碼登錄。這樣就把A用戶的userid和B用戶的openid綁定在一起了,顯然是不安全的。

解決方案有很多,比如可以給openid加密,在加密方法保密的情況下,用戶無法偽造加密后的openid。假如不想給openid加密,可以在生成鏈接時,在服務器端建立openid與簽名signature的對應關系,假如用戶篡改了openid就無法通過校驗。

記住,永遠不要輕信客戶端傳過來的信息。

擴展應用

完成綁定后,我們可以做一些簡單的應用。比如,公司需要舉辦一個線下路演活動,該活動需要報名才能參加,并且需要簽到。

這是一個典型的可以用微信實現的O2O例子。流程如下:

微信公眾號,網站用戶,綁定

線下路演簽到流程

其中,“綁定用戶子流程”就是場景二中的流程。報名的交互在這里不再累述,每個業務都不一樣。

對于一個已經完成綁定的用戶,他參加一個活動,需要做的就是通過微信報名,然后掃描二維碼簽到,體驗相當流暢。
如有任何問題,歡迎跟我交流!

希望本文所述對大家PHP程序設計有所幫助。


注:相關教程知識閱讀請移步到PHP教程頻道。
發表評論 共有條評論
用戶名: 密碼:
驗證碼: 匿名發表

圖片精選

亚洲香蕉成人av网站在线观看_欧美精品成人91久久久久久久_久久久久久久久久久亚洲_热久久视久久精品18亚洲精品_国产精自产拍久久久久久_亚洲色图国产精品_91精品国产网站_中文字幕欧美日韩精品_国产精品久久久久久亚洲调教_国产精品久久一区_性夜试看影院91社区_97在线观看视频国产_68精品久久久久久欧美_欧美精品在线观看_国产精品一区二区久久精品_欧美老女人bb
精品亚洲一区二区三区在线观看| 午夜美女久久久久爽久久| 欧美性xxxx极品hd欧美风情| 亚洲天堂免费观看| 国产精品日日做人人爱| www.久久久久久.com| 精品久久久一区二区| 欧美视频13p| 久久久久免费视频| 精品无码久久久久久国产| 国产一区二区三区网站| 欧美精品videos性欧美| 国产精品99久久久久久白浆小说| xxxxxxxxx欧美| 91欧美精品成人综合在线观看| 91精品91久久久久久| 伊人久久久久久久久久| 欧美极品少妇全裸体| 久久色精品视频| 亚洲国产精品系列| 欧美激情精品久久久久| 久久久www成人免费精品| 2021国产精品视频| 国产视频精品免费播放| 日韩欧美中文在线| 成人精品久久av网站| 欧美在线影院在线视频| 91黑丝高跟在线| 亚洲国内高清视频| 亚洲**2019国产| 伦伦影院午夜日韩欧美限制| 国产成人+综合亚洲+天堂| 久久国产精品99国产精| 欧美日韩国产精品一区二区三区四区| 国产精品日韩精品| 欧美大片在线看| 久久免费在线观看| 在线成人激情黄色| 欧美精品做受xxx性少妇| 国产精品免费久久久久影院| 欧美体内谢she精2性欧美| 成人黄色av播放免费| 91精品国产九九九久久久亚洲| 亚洲国产私拍精品国模在线观看| 欧美日韩福利在线观看| 97人洗澡人人免费公开视频碰碰碰| 中文字幕视频一区二区在线有码| 国产福利精品av综合导导航| 欧美久久精品一级黑人c片| 性金发美女69hd大尺寸| 亚洲精品v欧美精品v日韩精品| 久久久久99精品久久久久| 欧美特级www| 2018中文字幕一区二区三区| 日韩av在线不卡| 色综合久久88色综合天天看泰| 中文字幕国产日韩| 国产精品色悠悠| 国产69精品99久久久久久宅男| 亚洲欧洲国产精品| 欧美性猛交xxxx富婆弯腰| 久久久国产在线视频| 久久人人爽人人爽人人片av高请| 欧美在线一区二区视频| 欧美猛少妇色xxxxx| 成人精品一区二区三区| 亚洲综合精品伊人久久| 日韩在线中文字幕| 亚洲一级黄色片| 日本精品在线视频| 国产精品美女视频网站| 国产精品高潮粉嫩av| 亚洲成人在线网| 日韩成人av网| 在线亚洲午夜片av大片| 久青草国产97香蕉在线视频| 2018日韩中文字幕| 国产男女猛烈无遮挡91| 中文在线资源观看视频网站免费不卡| 国产精品扒开腿做| 久久久久久久久久久久久久久久久久av| 日韩风俗一区 二区| 欧美性高潮床叫视频| 日本不卡高字幕在线2019| 日韩有码片在线观看| 久久影院免费观看| 亚洲日韩欧美视频| 色妞色视频一区二区三区四区| 欧美福利视频在线观看| 国产日产欧美a一级在线| 亚洲美女喷白浆| 久久久久久久久国产精品| 国产盗摄xxxx视频xxx69| 久久久久久有精品国产| 亚洲精品成人久久久| 欧美黄色性视频| 久久久久久久久亚洲| 日韩国产在线看| 九九热最新视频//这里只有精品| 日本国产高清不卡| 欧美精品一区二区三区国产精品| 操日韩av在线电影| 国产成人精品av| 亚洲第一页中文字幕| 亚洲色图欧美制服丝袜另类第一页| 久久夜精品香蕉| 国自在线精品视频| 亚洲网站在线播放| 国产这里只有精品| 国产99视频精品免视看7| 欧美性猛交xxxx免费看久久久| 欧美亚洲另类在线| 国产精品18久久久久久麻辣| 国产成人精品在线观看| 国产亚洲欧美视频| 亚洲国产欧美精品| 久久视频国产精品免费视频在线| 日韩国产精品亚洲а∨天堂免| 91精品国产高清自在线| 国产午夜精品视频免费不卡69堂| 亚洲国产精品系列| 亚洲乱码国产乱码精品精天堂| 欧美日韩国产专区| 欧美一区二区大胆人体摄影专业网站| 日韩欧美国产免费播放| 精品久久久久久久中文字幕| 97免费在线视频| 国产精品综合久久久| 日韩精品中文字幕视频在线| 日韩av网站导航| 色偷偷av一区二区三区| 日韩中文第一页| 国产精品免费久久久久久| 色琪琪综合男人的天堂aⅴ视频| 国产色婷婷国产综合在线理论片a| 国产精品色婷婷视频| 久久亚洲国产精品| 国产精品久久久一区| 成人久久久久久久| 中文字幕av一区| 欧美日韩免费区域视频在线观看| www.久久久久久.com| 国产综合福利在线| 91tv亚洲精品香蕉国产一区7ujn| 国产精品va在线播放我和闺蜜| 国产成人亚洲精品| 高潮白浆女日韩av免费看| 欧美一区在线直播| 国产精品wwww| 日韩经典第一页| 国产精品av免费在线观看| 日韩理论片久久| 精品国产视频在线| 国产欧美日韩精品在线观看| 国产一区二区久久精品| 88国产精品欧美一区二区三区| 亚洲a中文字幕| 亚洲精品国产免费| 日韩中文在线不卡| 国产亚洲欧美一区| 97视频网站入口| 欧美激情综合色| 91在线观看欧美日韩| 亚洲欧美中文字幕在线一区|