欧美一级特黄大片做受成人-亚洲成人一区二区电影-激情熟女一区二区三区-日韩专区欧美专区国产专区

Java如何實現(xiàn)二維碼掃碼授權(quán)登陸

小編給大家分享一下Java如何實現(xiàn)二維碼掃碼授權(quán)登陸,相信大部分人都還不怎么了解,因此分享這篇文章給大家參考一下,希望大家閱讀完這篇文章后大有收獲,下面讓我們一起去了解一下吧!

成都創(chuàng)新互聯(lián)主營民樂網(wǎng)站建設(shè)的網(wǎng)絡(luò)公司,主營網(wǎng)站建設(shè)方案,重慶APP開發(fā)公司,民樂h5微信小程序開發(fā)搭建,民樂網(wǎng)站營銷推廣歡迎民樂等地區(qū)企業(yè)咨詢

一:A設(shè)備生成生成二維碼:

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

二:B設(shè)備掃碼授權(quán)

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

三:A設(shè)備輪詢獲取授權(quán)狀態(tài)

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

		/**
	 * 獲取掃描登陸的二維碼
	 * @param noncestr隨機(jī)字符串
	 * @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;
		}
		//參數(shù)的有效性校驗在攔截器里實現(xiàn)
		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));
	}
	/**
	 * 掃碼確認(rèn)登陸
	 * @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()));
	}
	/**
	 * 獲取登陸狀態(tài)
	 * @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));
	}	

以上是Java如何實現(xiàn)二維碼掃碼授權(quán)登陸的所有內(nèi)容,感謝各位的閱讀!相信大家都有了一定的了解,希望分享的內(nèi)容對大家有所幫助,如果還想學(xué)習(xí)更多知識,歡迎關(guān)注創(chuàng)新互聯(lián)行業(yè)資訊頻道!

文章題目:Java如何實現(xiàn)二維碼掃碼授權(quán)登陸
分享地址:http://aaarwkj.com/article16/pchgdg.html

成都網(wǎng)站建設(shè)公司_創(chuàng)新互聯(lián),為您提供網(wǎng)站收錄、建站公司、ChatGPT、網(wǎng)站設(shè)計、微信公眾號、靜態(tài)網(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)

成都seo排名網(wǎng)站優(yōu)化
麻豆成人三级电影在线| 亚洲一区二区实拍偷拍视频| 91久久久久久人妻精品粉嫩| 热久久视频这里只有精品| 亚洲欧美日韩另类精品一区二区三区 | 亚洲一级香蕉视频东京热| 91在线免费观看国产精品| 欧美日韩国产天天干| 国内精品人妻中文字幕| 欧美日韩国产精品一区二区在线观看| 中文字幕在线看二区不卡 | 欧洲一区二区三区黄色| 夜夜嗨av一区二区三区| 亚洲男人天堂中文字幕| 久久久亚洲精品中文字幕蜜桃| 日韩欧美一区二区不卡在线| 日韩女优在线播放一区二区| 日韩av在线不卡一区二区| 国产精品亚洲av在线| 国产亚洲欧美精品在线观看| 在线高清中文字幕三区| 加藤桃香中文字幕在线| 日韩有码高清av在线| 18岁未成年禁止观看视频| 国产三级视频在线观看视频 | 亚洲性码不卡视频在线| 亚洲精品一区二区三区高潮| 日日骚国产欧美一区二区| 男人的天堂免费看看av| 国产免费av剧情演绎| 在线观看中文字幕有码| 欧美黄色一区二区三区视频| 成人免费在线国产视频| 久久女同互慰一区二区三区| 91香蕉伊人综合久久麻豆| 国产精品夜色一区二区三区不卡| 日韩精品视频高清在线观看| 免费国产三级在线观看| 亚洲av二区三区成人| 日本加勒比不卡在线视频| 爱我久久视频网免费视频|