|
@@ -15,7 +15,6 @@ import org.springframework.web.bind.annotation.RequestParam;
|
|
|
import org.springframework.web.servlet.ModelAndView;
|
|
|
|
|
|
import java.util.Map;
|
|
|
-import java.util.Optional;
|
|
|
|
|
|
@Controller
|
|
|
@RequestMapping("oauth")
|
|
@@ -45,13 +44,17 @@ public class OauthController {
|
|
|
public String douyinCallback(String code, String state) {
|
|
|
var token = oauthService.loadStateMapping(state);
|
|
|
logger.info("key", "oauth/douyin/callback", "code", code, "state", state, "token", token);
|
|
|
+ // todo 用户数据入库
|
|
|
return "redirect:https://www.baidu.com";
|
|
|
}
|
|
|
|
|
|
@RequestMapping("kuaishou/code")
|
|
|
+ @LoginRequired
|
|
|
public String kuaishouQrCode() {
|
|
|
var state = IdUtil.nanoId();
|
|
|
- logger.info("key", "oauth/douyin/code", "state", state);
|
|
|
+ var token = HttpContextUtil.mustToken();
|
|
|
+ logger.info("key", "oauth/douyin/code", "state", state, "token", token);
|
|
|
+ oauthService.saveStateMapping(token, state);
|
|
|
return "redirect:https://open.kuaishou.com/oauth2/connect?" +
|
|
|
"app_id=" + OauthConfig.kuaishouClientKey + "&response_type=code&" +
|
|
|
"scope=user_info%2Cuser_video_info&" +
|
|
@@ -60,14 +63,18 @@ public class OauthController {
|
|
|
|
|
|
@RequestMapping("kuaishou/callback")
|
|
|
public String kuaishouCallback(String code, String state) {
|
|
|
- logger.info("key", "oauth/kuaishou/callback", "code", code, "state", state);
|
|
|
+ var token = oauthService.loadStateMapping(state);
|
|
|
+ logger.info("key", "oauth/kuaishou/callback", "code", code, "state", state, "token", token);
|
|
|
+ // todo 用户数据入库
|
|
|
return "redirect:https://www.baidu.com";
|
|
|
}
|
|
|
|
|
|
@RequestMapping("toutiao/code")
|
|
|
+ @LoginRequired
|
|
|
public String toutiaoQrCode() {
|
|
|
var state = IdUtil.nanoId();
|
|
|
- logger.info("key", "oauth/toutiao/code", "state", state);
|
|
|
+ var token = HttpContextUtil.mustToken();
|
|
|
+ logger.info("key", "oauth/toutiao/code", "state", state, "token", token);
|
|
|
return "redirect:https://open.snssdk.com/oauth/authorize/?" +
|
|
|
"client_key=awfrca76s1petwh0&response_type=code&" +
|
|
|
"scope=toutiao.video.data,user_info&" +
|
|
@@ -76,11 +83,14 @@ public class OauthController {
|
|
|
|
|
|
@RequestMapping("toutiao/callback")
|
|
|
public String toutiaoCallback(String code, String state) {
|
|
|
- logger.info("key", "oauth/toutiao/callback", "code", code, "state", state);
|
|
|
+ var token = oauthService.loadStateMapping(state);
|
|
|
+ logger.info("key", "oauth/toutiao/callback", "code", code, "state", state, "token", token);
|
|
|
+ // todo 用户数据入库
|
|
|
return "redirect:https://www.baidu.com";
|
|
|
}
|
|
|
|
|
|
@RequestMapping("weibo/code")
|
|
|
+ @LoginRequired
|
|
|
public String weiboQrCode() {
|
|
|
logger.info("key", "oauth/weibo/code");
|
|
|
var weiboUrl = oauthService.getWeiboUrl();
|
|
@@ -91,10 +101,12 @@ public class OauthController {
|
|
|
@RequestMapping("weibo/callback")
|
|
|
public String weiboCallback(String code, String state) {
|
|
|
logger.info("key", "oauth/weibo/callback", "code", code);
|
|
|
+ // todo 用户数据入库
|
|
|
return "redirect:https://www.baidu.com";
|
|
|
}
|
|
|
|
|
|
@RequestMapping("bilibili/code")
|
|
|
+ @LoginRequired
|
|
|
public String bilibiliQrCode() {
|
|
|
var state = IdUtil.nanoId();
|
|
|
logger.info("key", "oauth/bilibili/code", "state", state);
|
|
@@ -104,11 +116,14 @@ public class OauthController {
|
|
|
|
|
|
@RequestMapping("bilibili/callback")
|
|
|
public String bilibiliCallback(String code, String state) {
|
|
|
- logger.info("key", "oauth/bilibili/callback", "code", code, "state", state);
|
|
|
+ var token = oauthService.loadStateMapping(state);
|
|
|
+ logger.info("key", "oauth/bilibili/callback", "code", code, "state", state, "token", token);
|
|
|
+ // todo 用户数据入库
|
|
|
return "redirect:https://www.baidu.com";
|
|
|
}
|
|
|
|
|
|
@RequestMapping("weixin/code")
|
|
|
+ @LoginRequired
|
|
|
public ModelAndView weixinQrCode() {
|
|
|
logger.info("key", "oauth/weixin/code");
|
|
|
WxApiCreatePreAuthCodeResponse preAuthCodeResponse = oauthService.createPreAuthCodeResponse();
|
|
@@ -126,6 +141,7 @@ public class OauthController {
|
|
|
@PathVariable("appid") String appid) {
|
|
|
logger.info("key", "oauth/{appid}/callback", "data",
|
|
|
Map.of("authCode", authCode, "expiresIn", expiresIn, "appid", appid));
|
|
|
+ // todo 用户数据入库
|
|
|
return "redirect:https://www.baidu.com";
|
|
|
}
|
|
|
}
|