|
@@ -1,20 +1,22 @@
|
|
package com.sxtvs.open.api.odata.controller;
|
|
package com.sxtvs.open.api.odata.controller;
|
|
|
|
|
|
import cn.hutool.core.util.IdUtil;
|
|
import cn.hutool.core.util.IdUtil;
|
|
|
|
+import com.sxtvs.open.api.odata.dto.wx.WxApiCreatePreAuthCodeResponse;
|
|
import com.sxtvs.open.api.odata.service.OauthService;
|
|
import com.sxtvs.open.api.odata.service.OauthService;
|
|
-import com.sxtvs.open.api.youmei.service.YoumeiAccountServiceImpl;
|
|
|
|
|
|
+import com.sxtvs.open.core.conf.OauthConfig;
|
|
import com.sxtvs.open.core.sls.AliyunLogger;
|
|
import com.sxtvs.open.core.sls.AliyunLogger;
|
|
import org.springframework.beans.factory.annotation.Autowired;
|
|
import org.springframework.beans.factory.annotation.Autowired;
|
|
import org.springframework.stereotype.Controller;
|
|
import org.springframework.stereotype.Controller;
|
|
import org.springframework.web.bind.annotation.RequestMapping;
|
|
import org.springframework.web.bind.annotation.RequestMapping;
|
|
|
|
+import org.springframework.web.bind.annotation.RequestParam;
|
|
|
|
+import org.springframework.web.servlet.ModelAndView;
|
|
|
|
+
|
|
|
|
+import java.util.Map;
|
|
|
|
|
|
@Controller
|
|
@Controller
|
|
@RequestMapping("oauth")
|
|
@RequestMapping("oauth")
|
|
public class OauthController {
|
|
public class OauthController {
|
|
|
|
|
|
- public static String kuaishouClientKey = "ks657244072487589897";
|
|
|
|
- public static String kuaishouClientSecret = "d-LL1KyA6QSDzJG3AtzKZQ";
|
|
|
|
-
|
|
|
|
|
|
|
|
@Autowired
|
|
@Autowired
|
|
private OauthService oauthService;
|
|
private OauthService oauthService;
|
|
@@ -25,7 +27,7 @@ public class OauthController {
|
|
@RequestMapping("douyin/code")
|
|
@RequestMapping("douyin/code")
|
|
public String douyinQrCode() {
|
|
public String douyinQrCode() {
|
|
var state = IdUtil.nanoId();
|
|
var state = IdUtil.nanoId();
|
|
- logger.info("key", "douyinQrCode","state",state);
|
|
|
|
|
|
+ logger.info("key", "oauth/douyin/code", "state", state);
|
|
return "redirect:https://open.douyin.com/platform/oauth/connect/?" +
|
|
return "redirect:https://open.douyin.com/platform/oauth/connect/?" +
|
|
"client_key=awfrca76s1petwh0&response_type=code&" +
|
|
"client_key=awfrca76s1petwh0&response_type=code&" +
|
|
"scope=video.data%2Cfans.list%2Cdata.external.item%2Cdata.external.user%2Cfans.data%2Cvideo.list%2Crenew_refresh_token%2Cuser_info&" +
|
|
"scope=video.data%2Cfans.list%2Cdata.external.item%2Cdata.external.user%2Cfans.data%2Cvideo.list%2Crenew_refresh_token%2Cuser_info&" +
|
|
@@ -34,30 +36,30 @@ public class OauthController {
|
|
|
|
|
|
@RequestMapping("douyin/callback")
|
|
@RequestMapping("douyin/callback")
|
|
public String douyinCallback(String code, String state) {
|
|
public String douyinCallback(String code, String state) {
|
|
- logger.info("key", "douyinCallback", "code", code, "state", state);
|
|
|
|
|
|
+ logger.info("key", "oauth/douyin/callback", "code", code, "state", state);
|
|
return "redirect:https://www.baidu.com";
|
|
return "redirect:https://www.baidu.com";
|
|
}
|
|
}
|
|
|
|
|
|
@RequestMapping("kuaishou/code")
|
|
@RequestMapping("kuaishou/code")
|
|
public String kuaishouQrCode() {
|
|
public String kuaishouQrCode() {
|
|
var state = IdUtil.nanoId();
|
|
var state = IdUtil.nanoId();
|
|
- logger.info("key", "kuaishouQrCode","state",state);
|
|
|
|
|
|
+ logger.info("key", "oauth/douyin/code", "state", state);
|
|
return "redirect:https://open.kuaishou.com/oauth2/connect?" +
|
|
return "redirect:https://open.kuaishou.com/oauth2/connect?" +
|
|
- "app_id=" + kuaishouClientKey + "&response_type=code&" +
|
|
|
|
|
|
+ "app_id=" + OauthConfig.kuaishouClientKey + "&response_type=code&" +
|
|
"scope=user_info%2Cuser_video_info&" +
|
|
"scope=user_info%2Cuser_video_info&" +
|
|
"redirect_uri=https%3A%2F%2Fimport.smcic.net%2Fkuaishou%2Fcallback-open&state=" + state;
|
|
"redirect_uri=https%3A%2F%2Fimport.smcic.net%2Fkuaishou%2Fcallback-open&state=" + state;
|
|
}
|
|
}
|
|
|
|
|
|
@RequestMapping("kuaishou/callback")
|
|
@RequestMapping("kuaishou/callback")
|
|
public String kuaishouCallback(String code, String state) {
|
|
public String kuaishouCallback(String code, String state) {
|
|
- logger.info("key", "kuaishouCallback", "code", code,"state",state);
|
|
|
|
|
|
+ logger.info("key", "oauth/kuaishou/callback", "code", code, "state", state);
|
|
return "redirect:https://www.baidu.com";
|
|
return "redirect:https://www.baidu.com";
|
|
}
|
|
}
|
|
|
|
|
|
@RequestMapping("toutiao/code")
|
|
@RequestMapping("toutiao/code")
|
|
public String toutiaoQrCode() {
|
|
public String toutiaoQrCode() {
|
|
var state = IdUtil.nanoId();
|
|
var state = IdUtil.nanoId();
|
|
- logger.info("key", "toutiaoQrCode","state",state);
|
|
|
|
|
|
+ logger.info("key", "oauth/toutiao/code", "state", state);
|
|
return "redirect:https://open.snssdk.com/oauth/authorize/?" +
|
|
return "redirect:https://open.snssdk.com/oauth/authorize/?" +
|
|
"client_key=awfrca76s1petwh0&response_type=code&" +
|
|
"client_key=awfrca76s1petwh0&response_type=code&" +
|
|
"scope=toutiao.video.data,user_info&" +
|
|
"scope=toutiao.video.data,user_info&" +
|
|
@@ -66,20 +68,53 @@ public class OauthController {
|
|
|
|
|
|
@RequestMapping("toutiao/callback")
|
|
@RequestMapping("toutiao/callback")
|
|
public String toutiaoCallback(String code, String state) {
|
|
public String toutiaoCallback(String code, String state) {
|
|
- logger.info("key", "toutiaoCallback", "code", code,"state",state);
|
|
|
|
|
|
+ logger.info("key", "oauth/toutiao/callback", "code", code, "state", state);
|
|
return "redirect:https://www.baidu.com";
|
|
return "redirect:https://www.baidu.com";
|
|
}
|
|
}
|
|
|
|
|
|
@RequestMapping("weibo/code")
|
|
@RequestMapping("weibo/code")
|
|
public String weiboQrCode() {
|
|
public String weiboQrCode() {
|
|
|
|
+ logger.info("key", "oauth/weibo/code");
|
|
var weiboUrl = oauthService.getWeiboUrl();
|
|
var weiboUrl = oauthService.getWeiboUrl();
|
|
- logger.info("key", "weiboQrCode","url",weiboUrl);
|
|
|
|
|
|
+ logger.info("key", "weiboQrCode", "url", weiboUrl);
|
|
return weiboUrl;
|
|
return weiboUrl;
|
|
}
|
|
}
|
|
|
|
|
|
@RequestMapping("weibo/callback")
|
|
@RequestMapping("weibo/callback")
|
|
- public String weiboCallback(String code) {
|
|
|
|
- logger.info("key", "weiboCallback", "code", code);
|
|
|
|
|
|
+ public String weiboCallback(String code, String state) {
|
|
|
|
+ logger.info("key", "oauth/weibo/callback", "code", code);
|
|
|
|
+ return "redirect:https://www.baidu.com";
|
|
|
|
+ }
|
|
|
|
+
|
|
|
|
+ @RequestMapping("bilibili/code")
|
|
|
|
+ public String bilibiliQrCode() {
|
|
|
|
+ var state = IdUtil.nanoId();
|
|
|
|
+ logger.info("key", "oauth/bilibili/code", "state", state);
|
|
|
|
+ return "redirect:https://passport.bilibili.com/register/pc_oauth2.html#/?client_id=e79e6fdef9d446d7" +
|
|
|
|
+ "&return_url=https%3A%2F%2Fimport.smcic.net%2Fbilibili%2Fcallback-open&response_type=code&state=" + state;
|
|
|
|
+ }
|
|
|
|
+
|
|
|
|
+ @RequestMapping("bilibili/callback")
|
|
|
|
+ public String bilibiliCallback(String code, String state) {
|
|
|
|
+ logger.info("key", "oauth/bilibili/callback", "code", code, "state", state);
|
|
|
|
+ return "redirect:https://www.baidu.com";
|
|
|
|
+ }
|
|
|
|
+
|
|
|
|
+ @RequestMapping("weixin/code")
|
|
|
|
+ public ModelAndView weixinQrCode() {
|
|
|
|
+ logger.info("key", "oauth/weixin/code");
|
|
|
|
+ WxApiCreatePreAuthCodeResponse preAuthCodeResponse = oauthService.createPreAuthCodeResponse();
|
|
|
|
+ ModelAndView view = new ModelAndView();
|
|
|
|
+ view.setViewName("weixin-code");
|
|
|
|
+ view.addObject("pre_auth_code", preAuthCodeResponse.getPreAuthCode());
|
|
|
|
+ return view;
|
|
|
|
+ }
|
|
|
|
+
|
|
|
|
+ @RequestMapping("weixin/wx7040933fd0e4b0e8/callback")
|
|
|
|
+ public String callback(
|
|
|
|
+ @RequestParam("auth_code") String authCode,
|
|
|
|
+ @RequestParam("expires_in") Integer expiresIn) {
|
|
|
|
+ logger.info("key", "oauth/wx7040933fd0e4b0e8/code", "data", Map.of("authCode", authCode, "expiresIn", expiresIn));
|
|
return "redirect:https://www.baidu.com";
|
|
return "redirect:https://www.baidu.com";
|
|
}
|
|
}
|
|
}
|
|
}
|