微信掃碼登錄-JAVA


參考資料(微信開發平台):https://open.weixin.qq.com/cgi-bin/showdocument?action=dir_list&t=resource/res_list&verify=1&id=open1419316518&lang=zh_CN

總結(實現流程):

  A.注冊(交錢):獲取appid,secret以及設定掃碼之后跳轉的域名

       B.獲取code

       C..獲取access_token,openid

  D.獲取微信用戶信息

  E.判斷是關聯目標系統的用戶,進而進行下一步操作

具體步驟

  A:見參考資料

  B:根據appid,redirect_uri獲取code:appid步驟A獲取,redirect_uri為包含步驟給定域名的請求

https://open.weixin.qq.com/connect/qrconnect?appid=${appid}&redirect_uri=${redirect_uri}&response_type=code&scope=snsapi_login&state=wxLogin

   b1.生成微信二維碼(實例)   

<script src="http://res.wx.qq.com/connect/zh_CN/htmledition/js/wxLogin.js"></script>
<div class="main impowerBox">
<div class="loginPanel normalPanel" style="position: absolute;top: 1%;left: 2%;">
<div class="waiting panelContent">
<div class="wrp_code" id="login_container"></div>
<div class="info">
<div class="status status_succ js_status normal" style="display:none" id="wx_after_scan">
<i class="status_icon icon38_msg succ"></i>
<div class="status_txt">
<h4>掃描成功</h4>
<p>請在微信中點擊確認即可登錄</p>
</div>
</div>
<div class="status status_fail js_status normal" style="display:none" id="wx_after_cancel">
<i class="status_icon icon38_msg warn"></i>
<div class="status_txt">
<h4>您已取消此次登錄</h4>
<p>您可再次掃描登錄,或關閉窗口</p>
</div>
</div>
</div>
</div>
</div>
</div>
<script type="text/javascript">
var obj = new WxLogin({
id:"login_container",
appid: "${appId}", //A步驟獲取
scope: "snsapi_login",
redirect_uri: "http://${dasiHost}${path}${loginBackUrl}", //dasiHost為A步驟時給定的域名
state: "wxLogin",
style: "white",
href: "${weixinCssUrl}" //當前頁面的css,必須https能夠訪問
});
</script>

   b2.掃碼之后redirect_uri會帶上code=code碼

C:根據code碼獲取access_token 、openid:appid,secret步驟A中獲取,code步驟B獲取

  https://api.weixin.qq.com/sns/oauth2/access_token?appid=${appid}&secret=${secret}&code=${code}&grant_type=authorization_code

D:獲取access_token獲取微信用戶信息:

https://api.weixin.qq.com/sns/userinfo?access_token=${access_token}&openid=ov9LUwaSPGBIsls7aZUmvu3q7ths&lang=zh_CN

####各個步驟入參和返回值在A步驟參考文檔都有詳細說明

####C、D步驟直接在JAVA代碼中通過URL請求直接獲取返信息進行操作

E:將來微信用戶信息寫入數據庫,中間表 id studentid  wx_user_id

 


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM