天天看點

微信掃描公衆号二維碼實作登陸

前提條件:

[b]1.微信公衆平台為服務号,

2.服務号實作了賬号綁定功能,即将open_id 與業務系統中的使用者名有對應關系[/b]

具體實作原理:

1.使用者通路業務系統登陸頁時,調用二維碼接口,獲得二維碼的ticketid,同時将sessionid,ticketid和二維碼的seceneid儲存

2.傳回登陸頁時,根據ticketid獲得微信二維碼

3.頁面通過ajax發送請求,判斷是否已經掃描成功。

4.公衆平台服務監測到掃描事件,更新seceneid中掃描二維碼的業務系統使用者名

4.當ajax監測到掃描成功,并傳回有業務系統使用者名,即可做模拟登陸!

具體代碼:

根據sceneID擷取,擷取ticketId,

sceneId可以為sessionID,或者自定義的其他任何值,但必須保證不重複

注意:這裡請求的type可以為臨時二維碼或永久二維碼,具體差別可以參看微信公衆平台的開發者文檔。

2.掃描二維碼登陸的幾個action

3.

登陸頁面

二維碼顯示

<img src="https://mp.weixin.qq.com/cgi-bin/showqrcode?ticket=${ticketId!}" width="250px"/>
           

定時查詢掃描狀态

4.公衆平台代碼

說明,架構使用jfinal 1.5

繼續閱讀