亚洲香蕉成人av网站在线观看_欧美精品成人91久久久久久久_久久久久久久久久久亚洲_热久久视久久精品18亚洲精品_国产精自产拍久久久久久_亚洲色图国产精品_91精品国产网站_中文字幕欧美日韩精品_国产精品久久久久久亚洲调教_国产精品久久一区_性夜试看影院91社区_97在线观看视频国产_68精品久久久久久欧美_欧美精品在线观看_国产精品一区二区久久精品_欧美老女人bb

首頁 > 開發 > Java > 正文

java實現二維碼掃碼授權登陸

2024-07-14 08:42:38
字體:
來源:轉載
供稿:網友

假設現在有2個設備,A設備需要掃碼授權登陸,B設備是已經登陸了的設備。然后實現如下:

一、A設備生成生成二維碼:

A設備向服務器請求getLoginCode接口,這個接口根據請求的sessionId進行base64或其他加密方式進行加密,然后以此作為二維碼的值,并將這個loginCode寫到redis里,設置5分鐘過期。然后將這個loginCode返回給A設備,A設備以此值來生成登陸的二維碼。

二、B設備掃碼授權

B設備來掃A設備的二維碼的時候,攜帶二維碼的值,請求授權登陸的接口scanConfirmLogin,此接口里先校驗二維碼是否過期,沒過期的話進行后面的業務邏輯處理,將用戶的基本信息和token寫到redis里。

三、A設備輪詢獲取授權狀態

B設備以每秒一次的頻率來刷 獲取用戶授權狀態接口,若狀態為已授權,拿到用戶信息去做后面的邏輯處理。

 /** * 獲取掃描登陸的二維碼 * @param noncestr隨機字符串 * @throws Exception  */  @RequestMapping(value = "user/getLoginCode.json") public void getLoginCode(String noncestr,HttpServletRequest request,HttpServletResponse response) throws Exception { if(StringUtil.isBlank(noncestr)){ apiData(request, response,ReqJson.error(CommonError.PARAMS_IMPERFECT)); return; } //參數的有效性校驗在攔截器里實現 int expirationTime=300; //時效5分鐘 final String sessionId=request.getSession().getId(); String loginCode=ToolUtils.getBase64(sessionId); JedisUtil.set(loginCode, loginCode, expirationTime); Map<String,Object> map=new HashMap<>(); map.put("loginCode", loginCode); map.put("expirationTime", expirationTime); apiData(request, response, ReqJson.ok(map)); } /** * 掃碼確認登陸 * @param loginCode * @param request * @param response * @throws Exception */ @RequestMapping(value = "user/scanConfirmLogin.json") @AuthorizationApi public void scanConfirmLogin(@CurrentToken final Token token,String loginCode,HttpServletRequest request,HttpServletResponse response) throws Exception { if(StringUtil.isBlank(loginCode)){ apiData(request, response,ReqJson.error(CommonError.PARAMS_IMPERFECT)); return; } String userId=token.getUserId(); Map<String,String> map=new HashMap<>(); String loginTicket=JedisUtil.get(loginCode); if(StringUtil.isBlank(loginTicket)){ //二維碼過期 apiData(request, response,ReqJson.error(CommonError.TWO_DIMENSIONAL_CODE_HAS_EXPIRED)); return; } UserInfo userInfo = userInfoBiz.getUser(new UserInfo(userId));  if(userInfo==null){ apiData(request, response,ReqJson.error(UserError.USER_NOT_FOUND)); return; } //將用戶信息放在緩存中 map.put(BaseConfig.ACCESS_TOKEN, token.getAccessToken()); map.put("userId", userInfo.getUserId()); map.put("rongCloudToken", userInfo.getRongCloudToken()); map.put("identity", userInfo.getIdentity()); JedisUtil.setMap(loginCode+"scanConfirmLogin", map, 300); apiData(request, response, ReqJson.ok(new Object())); } /** * 獲取登陸狀態 * @param loginCode * @param request * @param response * @throws Exception */ @RequestMapping(value = "user/getScanConfirmLoginStatus.json") public void getLoginStatus(final String loginCode,HttpServletRequest request,HttpServletResponse response) throws Exception { if(StringUtil.isBlank(loginCode)){ apiData(request, response,ReqJson.error(CommonError.PARAMS_IMPERFECT)); return; } Map<String,String> map= JedisUtil.getMap(loginCode+"scanConfirmLogin"); if(map==null){ apiData(request, response,ReqJson.error(CommonError.AUTHORIZATION_HAS_EXPIRED)); return; } apiData(request, response, ReqJson.ok(map)); }

以上就是本文的全部內容,希望對大家的學習有所幫助,也希望大家多多支持VeVb武林網。


注:相關教程知識閱讀請移步到JAVA教程頻道。
發表評論 共有條評論
用戶名: 密碼:
驗證碼: 匿名發表
亚洲香蕉成人av网站在线观看_欧美精品成人91久久久久久久_久久久久久久久久久亚洲_热久久视久久精品18亚洲精品_国产精自产拍久久久久久_亚洲色图国产精品_91精品国产网站_中文字幕欧美日韩精品_国产精品久久久久久亚洲调教_国产精品久久一区_性夜试看影院91社区_97在线观看视频国产_68精品久久久久久欧美_欧美精品在线观看_国产精品一区二区久久精品_欧美老女人bb
亚洲第一精品夜夜躁人人躁| 欧美床上激情在线观看| 国产视频在线一区二区| 日韩女在线观看| 91精品国产91久久久久久吃药| 久久婷婷国产麻豆91天堂| 久久综合伊人77777尤物| 亚洲男人第一av网站| 日韩亚洲欧美成人| 欧美高清videos高潮hd| 久久精品亚洲热| 亚洲成在人线av| 欧美日韩高清在线观看| 久久99国产精品久久久久久久久| 久久视频在线播放| 中文字幕综合一区| 久久久精品国产亚洲| 国产精品久久久久久久9999| 亚洲一区中文字幕| 午夜剧场成人观在线视频免费观看| 日韩av电影免费观看高清| 高清在线视频日韩欧美| 91伊人影院在线播放| 91在线视频九色| 91色精品视频在线| 九九久久综合网站| yw.139尤物在线精品视频| 97国产精品免费视频| 日韩av片永久免费网站| 欧美日韩午夜剧场| 欧美日韩国产限制| 5566日本婷婷色中文字幕97| 久久久精品电影| 亚洲аv电影天堂网| 亚洲精品在线不卡| 欧美精品在线观看91| 欧美精品www在线观看| 亚洲一区二区三| 久久久成人的性感天堂| 日韩av在线网| 国产精品久久久久久久久久三级| 欧美丝袜第一区| 国产午夜精品一区理论片飘花| 色偷偷9999www| 久久人人看视频| 韩国精品美女www爽爽爽视频| 成人在线观看视频网站| 亚洲精品在线观看www| 欧美超级免费视 在线| 精品无人区太爽高潮在线播放| 欧美日韩在线第一页| 国产精品xxx视频| 国产精品一区二区av影院萌芽| 秋霞av国产精品一区| 亚洲性夜色噜噜噜7777| 久久99国产精品自在自在app| 在线a欧美视频| 精品福利樱桃av导航| 欧洲成人在线视频| 亚洲自拍偷拍网址| 欧美性视频精品| 久久久这里只有精品视频| 欧美精品激情视频| 国产精品电影在线观看| 国产女精品视频网站免费| 97国产suv精品一区二区62| 亚洲欧洲日韩国产| 久久久伊人日本| 91日本在线观看| 国产午夜精品美女视频明星a级| 国产成+人+综合+亚洲欧美丁香花| 久久国产精品视频| 成人福利网站在线观看| 国产网站欧美日韩免费精品在线观看| 中文字幕欧美日韩精品| 国产97在线|日韩| 亚洲午夜色婷婷在线| 一区二区在线视频| 久久久久久久久久久免费精品| 欧美一级免费视频| 亚洲精品在线观看www| 日韩在线视频观看正片免费网站| 亚洲级视频在线观看免费1级| 亚洲japanese制服美女| 欧美性猛交xxxx偷拍洗澡| 精品久久久久久久中文字幕| 一区二区日韩精品| 国产成人涩涩涩视频在线观看| 欧美疯狂做受xxxx高潮| 国产精品一区二区三区成人| 国产精品精品视频| 国产精品久久久久久av下载红粉| 2020国产精品视频| 在线播放日韩专区| 精品久久中文字幕| 青草青草久热精品视频在线网站| 久久精品福利视频| 97久久精品视频| 91色在线视频| 欧美精品www| 情事1991在线| 亚洲一级一级97网| 亚洲精品视频中文字幕| 国产精品成人一区| 上原亚衣av一区二区三区| 欧美日韩国产精品一区二区三区四区| 国产专区精品视频| 一区二区三区无码高清视频| 欧美在线国产精品| 午夜精品美女自拍福到在线| 精品视频在线播放| 日韩精品在线免费观看视频| 成人美女免费网站视频| 色婷婷亚洲mv天堂mv在影片| 欧美性生活大片免费观看网址| 亚洲自拍偷拍在线| 国产91精品网站| 美女av一区二区| 91高清免费在线观看| 日韩福利在线播放| 26uuu久久噜噜噜噜| 国产成人自拍视频在线观看| 91精品国产91久久久久| 色999日韩欧美国产| 黄色成人在线免费| 久久久久亚洲精品成人网小说| 亚洲国产精品久久久久秋霞不卡| 日韩中文av在线| 国语自产偷拍精品视频偷| 91精品国产色综合久久不卡98| 97热精品视频官网| 91夜夜揉人人捏人人添红杏| 亚洲人成网站999久久久综合| 日韩欧美精品网址| 国产亚洲激情视频在线| 欧美中文字幕在线| 欧美激情精品久久久久久免费印度| 亚洲综合色激情五月| 国内精品视频在线| 97超碰蝌蚪网人人做人人爽| 久久久成人精品| 国产精品丝袜高跟| 国产精品自拍视频| 热久久免费视频精品| 久久久久久久久国产| 亚洲图中文字幕| 色无极影院亚洲| 久久久久久久999精品视频| 亚洲欧美精品在线| 亚洲欧美制服另类日韩| 亚洲欧洲一区二区三区在线观看| 欧美极品美女电影一区| 国产精品激情自拍| 日韩精品视频在线播放| 欧美日韩aaaa| 91久久久久久久久| 欧美成aaa人片免费看| 日本aⅴ大伊香蕉精品视频| 2018中文字幕一区二区三区| 性欧美视频videos6一9| 国产精品96久久久久久又黄又硬| 欧美巨乳在线观看| 久久伊人色综合| www.日韩视频|