亚洲免费在线视频-亚洲啊v-久久免费精品视频-国产精品va-看片地址-成人在线视频网

您的位置:首頁(yè)技術(shù)文章
文章詳情頁(yè)

Java模擬實(shí)現(xiàn)QQ三方登錄(單點(diǎn)登錄2.0)

瀏覽:179日期:2022-05-29 08:18:42

本文實(shí)例為大家分享了Java模擬實(shí)現(xiàn)QQ三方登錄的具體代碼,供大家參考,具體內(nèi)容如下

本次例子模擬這樣的情況:

Java模擬實(shí)現(xiàn)QQ三方登錄(單點(diǎn)登錄2.0)

一共有2個(gè)spring boot應(yīng)用:

一個(gè)是某公司的web,第二個(gè)是QQ服務(wù)端。

某公司的應(yīng)用為127.0.0.1:8082

QQ服務(wù)端為127.0.0.1:8081

演示如下:

Java模擬實(shí)現(xiàn)QQ三方登錄(單點(diǎn)登錄2.0)

點(diǎn)擊使用QQ登錄:

Java模擬實(shí)現(xiàn)QQ三方登錄(單點(diǎn)登錄2.0)

在彈出的界面輸入數(shù)據(jù)點(diǎn)擊登錄后:

Java模擬實(shí)現(xiàn)QQ三方登錄(單點(diǎn)登錄2.0)

關(guān)鍵代碼如下:

某公司web端:

MyController.java

package cn.it1995.login.controller; import cn.it1995.login.util.CookieUtil;import cn.it1995.login.util.Result;import com.alibaba.fastjson.JSON;import org.springframework.beans.factory.annotation.Autowired;import org.springframework.http.ResponseEntity;import org.springframework.util.LinkedMultiValueMap;import org.springframework.util.MultiValueMap;import org.springframework.web.bind.annotation.GetMapping;import org.springframework.web.bind.annotation.PostMapping;import org.springframework.web.bind.annotation.RestController;import org.springframework.web.client.RestTemplate; import javax.servlet.http.HttpServletRequest;import javax.servlet.http.HttpServletResponse;import java.util.Map;import java.util.concurrent.ConcurrentHashMap;import java.util.concurrent.ConcurrentMap; @RestControllerpublic class MyController { @Autowired private RestTemplate restTemplate; private static final String USER_KEY='user_key'; private ConcurrentMap<String, Object> user = new ConcurrentHashMap<>(); @GetMapping('/getUser') public Object getUser(HttpServletRequest request, HttpServletResponse response){ String loginCookie = CookieUtil.getLoginCookie(request, response); Object o = user.get(loginCookie); return Result.success(o); } @PostMapping('/loginByQQ') public Object loginByQQ(String token, HttpServletResponse response, HttpServletRequest request){ MultiValueMap<String, Object> paramMap = new LinkedMultiValueMap(); paramMap.add('token', token); ResponseEntity<Object> objectResponseEntity = restTemplate.postForEntity('http://127.0.0.7:8081/getLoginInfo', paramMap, Object.class); Object body = objectResponseEntity.getBody(); String uuid = CookieUtil.setLoginCookie(request, response); //json標(biāo)準(zhǔn)化 String newJson = body.toString().replace('=', ':'); System.out.println(newJson); Map map = JSON.parseObject(newJson, Map.class); Map data = JSON.parseObject(map.get('data').toString(), Map.class); user.put(uuid, data); return Result.success(); }}

QQ服務(wù)端:

UserController.java

package cn.it1995.qqServer.controller; import cn.it1995.qqServer.util.JwtUtil;import cn.it1995.qqServer.util.Result;import com.alibaba.fastjson.JSON;import org.springframework.stereotype.Controller;import org.springframework.web.bind.annotation.*; import java.util.HashMap;import java.util.Map;import java.util.UUID; @Controllerpublic class UserController { @ResponseBody @RequestMapping('/login') public Object login(@RequestParam('username') String username, @RequestParam('password') String password){ Map<String, Object> map = new HashMap<>(); map.put('username', username); map.put('password', password); String jwt = JwtUtil.createJWT(UUID.randomUUID().toString(), JSON.toJSONString(map), 3600 * 24); return jwt; } @ResponseBody @RequestMapping('/getLoginInfo') public Object getLoginInfo(String token){ String subject = JwtUtil.parseJWT(token).getSubject(); return Result.success().data(subject); } }

項(xiàng)目打包下載地址:SSODemo

以上就是本文的全部?jī)?nèi)容,希望對(duì)大家的學(xué)習(xí)有所幫助,也希望大家多多支持好吧啦網(wǎng)。

標(biāo)簽: qq
相關(guān)文章:
主站蜘蛛池模板: 美女黄页网站免费进入 | 久久亚洲国产最新网站 | 欧美成人毛片一级在线 | 中文字幕一二三区乱码老 | 中文在线视频 | 免费观看欧美一区二区三区 | 五月色婷婷琪琪综合伊人 | 在线视免费频观看韩国aaa | 免费观看a毛片一区二区不卡 | 久久这里只有精品视频99 | 亚洲成人一级 | 请看一下欧美一级毛片 | 女人张开腿让男人桶视频 | 亚州精品一区二区三区 | 青草福利在线 | 亚洲性在线 | 免费看一区二区三区 | 成年女人毛片免费播放视频m | 97国产大学生情侣11在线视频 | 91视频国产一区 | 精品无码久久久久久国产 | 欧美人与zoxxxx另类9 | 国产农村一二三区 | 亚洲天堂美女视频 | 一区二区三区免费视频播放器 | 欧美笫一页| 国产v在线播放 | 九九国产在线 | 91久久香蕉青青草原娱乐 | 日本a级精品一区二区三区 日本a级毛片免费视频播放 | 久草网站在线 | 日韩精品免费一区二区三区 | 国产成人aaa在线视频免费观看 | 国产午夜亚洲精品第一区 | 男人的天堂在线 | 日本高清色本在线www游戏 | 99视频免费在线 | 黄 色 免费网 站 成 人 | 可以免费看黄的网站 | 午夜两性试爱视频免费 | 夜色视频一区二区三区 |