本文實例為大家分享了java微信掃描公眾號二維碼實現(xiàn)登陸的具體代碼,供大家參考,具體內(nèi)容如下

前提條件:
1.微信公眾平臺為服務(wù)號,
2.服務(wù)號實現(xiàn)了賬號綁定功能,即將open_id 與業(yè)務(wù)系統(tǒng)中的用戶名有對應(yīng)關(guān)系
具體實現(xiàn)原理:
1.用戶訪問業(yè)務(wù)系統(tǒng)登陸頁時,調(diào)用二維碼接口,獲得二維碼的ticketid,同時將sessionid,ticketid和二維碼的seceneid保存
2.返回登陸頁時,根據(jù)ticketid獲得微信二維碼
3.頁面通過ajax發(fā)送請求,判斷是否已經(jīng)掃描成功。
4.公眾平臺服務(wù)監(jiān)測到掃描事件,更新seceneid中掃描二維碼的業(yè)務(wù)系統(tǒng)用戶名
5.當(dāng)ajax監(jiān)測到掃描成功,并返回有業(yè)務(wù)系統(tǒng)用戶名,即可做模擬登陸!
具體代碼:
根據(jù)sceneID獲取,獲取ticketId, sceneId可以為sessionID,或者自定義的其他任何值,但必須保證不重復(fù)
注意:這里請求的type可以為臨時二維碼或永久二維碼,具體區(qū)別可以參看微信公眾平臺的開發(fā)者文檔。
public static String getSceneTicket(String type,String sceneId){
WxScene scene = new WxScene();
scene.setAction_name(type);
scene.setSceneId(Integer.parseInt(sceneId));
scene.setExpire_seconds(1800);
String jsonScene = JSONObject.fromObject(scene).toString();
String url = WeixinContents.qr_scene_ticket_url.replaceAll("ACCESS_TOKEN", getAccessToken(WeixinContents.appid,WeixinContents.appsecret).getToken());
System.out.println(jsonScene);
JSONObject jsonObject = httpRequest(url, "POST", jsonScene);
int result = 0;
String ticket = "";
if (null != jsonObject) {
if (jsonObject.containsKey("errcode")) {
result = jsonObject.getInt("errcode");
}else{
ticket = jsonObject.getString("ticket");
}
}
return ticket;
}
文章標(biāo)題:java微信掃描公眾號二維碼實現(xiàn)登陸功能-創(chuàng)新互聯(lián)
當(dāng)前路徑:http://www.chinadenli.net/article24/ccsoje.html
成都網(wǎng)站建設(shè)公司_創(chuàng)新互聯(lián),為您提供云服務(wù)器、外貿(mào)網(wǎng)站建設(shè)、響應(yīng)式網(wǎng)站、移動網(wǎng)站建設(shè)、建站公司、品牌網(wǎng)站制作
聲明:本網(wǎng)站發(fā)布的內(nèi)容(圖片、視頻和文字)以用戶投稿、用戶轉(zhuǎn)載內(nèi)容為主,如果涉及侵權(quán)請盡快告知,我們將會在第一時間刪除。文章觀點不代表本網(wǎng)站立場,如需處理請聯(lián)系客服。電話:028-86922220;郵箱:631063699@qq.com。內(nèi)容未經(jīng)允許不得轉(zhuǎn)載,或轉(zhuǎn)載時需注明來源: 創(chuàng)新互聯(lián)
猜你還喜歡下面的內(nèi)容