1
0
mirror of synced 2026-05-22 14:43:15 +00:00

重构 sa-token-oauth2:提取数据加载器 Bean,提供更方便的自定义数据加载方案。

This commit is contained in:
click33
2024-08-12 07:05:43 +08:00
parent 101a577ded
commit eeed140424
14 changed files with 547 additions and 442 deletions
@@ -60,11 +60,11 @@
</dependency>
<!-- 热刷新 -->
<dependency>
<!--<dependency>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-devtools</artifactId>
<scope>provided</scope>
</dependency>
</dependency>-->
<!-- ConfigurationProperties -->
<dependency>
@@ -1,18 +1,18 @@
package com.pj.oauth2;
import cn.dev33.satoken.oauth2.dataloader.SaOAuth2DataLoader;
import cn.dev33.satoken.oauth2.model.SaClientModel;
import org.springframework.stereotype.Component;
import cn.dev33.satoken.oauth2.logic.SaOAuth2Template;
import cn.dev33.satoken.oauth2.model.SaClientModel;
/**
* Sa-Token OAuth2.0 整合实现
* Sa-Token OAuth2自定义数据加载器
*
* @author click33
*/
@Component
public class SaOAuth2TemplateImpl extends SaOAuth2Template {
public class SaOAuth2DataLoaderImpl implements SaOAuth2DataLoader {
// 根据 id 获取 Client 信息
// 根据 client_id 获取 Client 信息
@Override
public SaClientModel getClientModel(String clientId) {
// 此为模拟数据真实环境需要从数据库查询
@@ -33,7 +33,5 @@ public class SaOAuth2TemplateImpl extends SaOAuth2Template {
// 此为模拟数据真实环境需要从数据库查询
return "gr_SwoIN0MC1ewxHX_vfCW3BothWDZMMtx__";
}
// -------------- 其它需要重写的函数
}
@@ -1,21 +1,20 @@
package com.pj.oauth2;
import java.util.HashMap;
import java.util.LinkedHashMap;
import java.util.Map;
import cn.dev33.satoken.context.SaHolder;
import cn.dev33.satoken.oauth2.config.SaOAuth2Config;
import cn.dev33.satoken.oauth2.processor.SaOAuth2ServerProcessor;
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;
import cn.dev33.satoken.context.SaHolder;
import cn.dev33.satoken.oauth2.config.SaOAuth2Config;
import cn.dev33.satoken.oauth2.logic.SaOAuth2Handle;
import cn.dev33.satoken.oauth2.logic.SaOAuth2Util;
import cn.dev33.satoken.stp.StpUtil;
import cn.dev33.satoken.util.SaResult;
import java.util.HashMap;
import java.util.LinkedHashMap;
import java.util.Map;
/**
* Sa-OAuth2 Server端 控制器
@@ -29,7 +28,7 @@ public class SaOAuth2ServerController {
@RequestMapping("/oauth2/*")
public Object request() {
System.out.println("------- 进入请求: " + SaHolder.getRequest().getUrl());
return SaOAuth2Handle.serverRequest();
return SaOAuth2ServerProcessor.instance.dister();
}
// Sa-OAuth2 定制化配置