完整适配拆分式路由写法

This commit is contained in:
click33
2024-08-19 23:29:05 +08:00
parent 25b24414ff
commit 174a94db01
13 changed files with 335 additions and 160 deletions

View File

@@ -1,5 +1,6 @@
package com.pj;
import cn.dev33.satoken.oauth2.SaOAuth2Manager;
import org.springframework.boot.SpringApplication;
import org.springframework.boot.autoconfigure.SpringBootApplication;
@@ -12,7 +13,8 @@ public class SaOAuth2ServerApplication {
public static void main(String[] args) {
SpringApplication.run(SaOAuth2ServerApplication.class, args);
System.out.println("\nSa-Token-OAuth Server端启动成功");
System.out.println("\nSa-Token-OAuth Server端启动成功,配置如下:");
System.out.println(SaOAuth2Manager.getConfig());
}
}

View File

@@ -22,7 +22,11 @@ public class SaOAuth2DataLoaderImpl implements SaOAuth2DataLoader {
.setClientSecret("aaaa-bbbb-cccc-dddd-eeee") // client 秘钥
.addAllowUrls("*") // 所有允许授权的 url
.addContractScopes("openid", "userid", "userinfo") // 所有签约的权限
.setIsAutoMode(true); // 是否自动判断开放的授权模式
.setEnableCode(true) // 是否开启授权模式
.setEnableImplicit(true) // 是否开启隐式模式
.setEnablePassword(true) // 是否开启密码模式
.setEnableClient(true) // 是否开启客户端模式
;
}
return null;
}

View File

@@ -7,7 +7,6 @@ import cn.dev33.satoken.oauth2.template.SaOAuth2Util;
import cn.dev33.satoken.stp.StpUtil;
import cn.dev33.satoken.util.SaResult;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.web.bind.annotation.ExceptionHandler;
import org.springframework.web.bind.annotation.RequestMapping;
import org.springframework.web.bind.annotation.RestController;
import org.springframework.web.servlet.ModelAndView;
@@ -17,20 +16,20 @@ import java.util.LinkedHashMap;
import java.util.Map;
/**
* Sa-OAuth2 Server端 控制器
* Sa-Token-OAuth2 Server端 Controller
*
* @author click33
*
*/
@RestController
public class SaOAuth2ServerController {
// 处理所有OAuth相关请求
// OAuth2-Server 端:处理所有OAuth相关请求
@RequestMapping("/oauth2/*")
public Object request() {
System.out.println("------- 进入请求: " + SaHolder.getRequest().getUrl());
return SaOAuth2ServerProcessor.instance.dister();
}
// Sa-OAuth2 定制化配置
@Autowired
public void configOAuth2Server(SaOAuth2Config cfg) {
@@ -57,13 +56,6 @@ public class SaOAuth2ServerController {
};
}
// 全局异常拦截
@ExceptionHandler
public SaResult handlerException(Exception e) {
e.printStackTrace();
return SaResult.error(e.getMessage());
}
// ---------- 开放相关资源接口: Client端根据 Access-Token ,置换相关资源 ------------

View File

@@ -3,15 +3,19 @@ server:
# sa-token配置
sa-token:
# token名称 (同时也是cookie名称)
token-name: satoken-server
# token名称 (同时也是 Cookie 名称)
token-name: satoken-oauth2-server
# OAuth2.0 配置
oauth2:
is-code: true
is-implicit: true
is-password: true
is-client: true
oauth2:
# 是否全局开启授权码模式
enable-code: true
# 是否全局开启 Implicit 模式
enable-implicit: true
# 是否全局开启密码模式
enable-password: true
# 是否全局开启客户端模式
enable-client: true
spring:
# redis配置
redis: