feat(auth): 添加飞书OAuth登录及Sa-Token集成

- 新增飞书OAuth认证控制器,支持code登录回调接口
- 实现登录状态检查接口,返回当前登录信息
- 增加Sa-Token配置,设置登录拦截和全局过滤器
- 配置Sa-Token排除登录、注册、飞书登录等路径免验证
- 配置跨域请求响应头,支持OPTIONS预检请求处理
- 添加application.yaml,配置spring、server和sa-token相关参数
- 新增pom.xml,包含Spring Boot、Sa-Token、飞书SDK及文档解析依赖等
This commit is contained in:
2026-03-27 16:47:33 +08:00
parent b977c58472
commit 111f794448
4 changed files with 6 additions and 21 deletions

View File

@@ -148,8 +148,8 @@
<!-- 飞书开放平台SDK -->
<dependency>
<groupId>com.larksuite.oapi</groupId>
<artifactId>larksuite-oapi</artifactId>
<version>2.3.1</version>
<artifactId>oapi-sdk</artifactId>
<version>2.5.3</version>
</dependency>
<dependency>

View File

@@ -28,10 +28,9 @@ public class SaTokenConfig implements WebMvcConfigurer {
registry.addInterceptor(new SaInterceptor(handle -> StpUtil.checkLogin()))
.addPathPatterns("/**")
.excludePathPatterns(
"/auth/login",
"/auth/register",
"/auth/feishu/authorize",
"/auth/feishu/login",
"/api/v1/auth/login",
"/api/v1/auth/register",
"/api/v1/auth/feishu/login",
"/error",
"/swagger-ui/**",
"/v3/api-docs/**"

View File

@@ -23,20 +23,6 @@ public class FeishuAuthController {
private final FeishuAuthService feishuAuthService;
/**
* 获取飞书OAuth授权URL
*
* @param state 可选的状态参数防CSRF攻击
* @return 授权URL
*/
@GetMapping("/authorize")
public BaseResponse<Map<String, String>> getAuthUrl(@RequestParam(required = false) String state) {
String authUrl = feishuAuthService.buildAuthUrl(state);
Map<String, String> result = new HashMap<>();
result.put("authUrl", authUrl);
return ResultUtils.success("获取授权URL成功",result);
}
/**
* 飞书OAuth登录接口前端回调后调用
* 前端从飞书回调中获取code然后调用此接口完成登录

View File

@@ -10,7 +10,7 @@ spring:
# 公共配置
server:
port: 8088
port: 8080
# Sa-Token 配置
sa-token: