官方文檔:網站應用微信登錄開發指南
流程圖
使用步驟
- 在使用的頁面中引入:
http://res.wx.qq.com/connect/zh_CN/htmledition/js/wxLogin.js
-
在需要使用微信登錄的地方實例以下JS對象:
var obj = new WxLogin({ id:"login_container", // 需要顯示的容器id appid: "", // 公衆號appid wx******* scope: "snsapi_login", // 網頁默認即可 redirect_uri: "", // 授權成功後回調的url state: "", // 可設置爲簡單的隨機數加session用來校驗 style: "black", // 提供"black"、"white"可選。二維碼的樣式 href: "" // 外部css文件url,需要https });
- 過程詳解:
當使用微信掃碼,微信校驗成功後,會訪問redirect_uri,並在redirect_uri的參數上添加code和設置的state。在node層,添加一個redirect_uri對應的路由,當路由接受到對應請求,先校驗一下state,然後將拿到的code和appid, secret, grant_type參數請求 https://api.weixin.qq.com/sns...,拿到用戶的ACCESS_TOKEN
通過ACCESS_TOKEN訪問https://api.weixin.qq.com/sns...,便可以拿到用戶的微信信息了。
將拿到的用戶信息(有用戶的唯一的openid),調用後臺的微信登錄接口,成功redirect到進入登錄頁面之前的url便可以了。
備註:有的情況可能需要校驗或刷新用戶的ACCESS_TOKEN.