第三方网站实现绑定微信登陆
生活随笔
收集整理的這篇文章主要介紹了
第三方网站实现绑定微信登陆
小編覺得挺不錯的,現(xiàn)在分享給大家,幫大家做個參考.
最近在公司負(fù)責(zé)一個ROR項目,基于Rabel的論壇產(chǎn)品,老板想把這個產(chǎn)品植入微信,讓我做微信綁定登陸。微信開發(fā)文檔還是很不錯的,折騰了幾天,把這個功能拿下了。
?
微信獲取用戶資料文檔:http://mp.weixin.qq.com/wiki/17/c0f37d5704f0b64713d5d2c37b468d75.html
?
如何獲取用戶資料我就不贅述了,文檔上說明很清楚,我主要說說實現(xiàn)微信綁定與登陸的思路。
?
要點包括但不限于:
- 保存用戶的數(shù)據(jù)表Person中,添加字段weixin_openid,用于保存微信與公眾號唯一的用戶標(biāo)識
- 在服務(wù)端實現(xiàn)URL跳轉(zhuǎn)時保留查詢字符串的功能,具體例子如
- 未登錄用戶訪問/home?code=123456,此時應(yīng)跳轉(zhuǎn)到/login?code=123456,而非/login
- 登陸頁面有三種形式
- 最原始的用戶密碼登陸。此形式將不包含查詢字符串
- 此時輸入用戶密碼登陸
- 已綁定微信的用戶快捷登陸方式。此形式會包含查詢字符串?code=123456
- 此時服務(wù)器端利用code獲取openid,若成功找到綁定的用戶,直接登陸
- 一個用戶想要進行微信綁定,點擊綁定入口后,由于未登錄而跳轉(zhuǎn)到的登陸頁面。此形式會包含查詢字符串?code=123456&state=bind
- 服務(wù)端檢測到state=bind,得知是綁定操作,暫時不去獲取openid,待用戶登陸跳轉(zhuǎn)后,再去獲取openid進行綁定。(這就是第二點保留字符串跳轉(zhuǎn)的作用)
- 最原始的用戶密碼登陸。此形式將不包含查詢字符串
- 魯棒性,包括
- 查詢字符串錯誤或缺失的處理
- 微信綁定的邏輯性處理,例如一個微信只能綁定一個賬號,一個賬號只能綁定一個微信,不能重復(fù)綁定
?
附一個當(dāng)時做的微信綁定的流程圖
轉(zhuǎn)載于:https://www.cnblogs.com/qs20199/p/4576479.html
總結(jié)
以上是生活随笔為你收集整理的第三方网站实现绑定微信登陆的全部內(nèi)容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: KVM 介绍(7):使用 libvirt
- 下一篇: poj 2349 求MST中第S大的权值