mirror of
https://gitee.com/dromara/sa-token.git
synced 2025-10-21 19:17:25 +08:00
Id-Token 模块更名为 Same-Token
This commit is contained in:
@@ -20,30 +20,25 @@
|
||||
<dependency>
|
||||
<groupId>cn.dev33</groupId>
|
||||
<artifactId>sa-token-spring-boot-starter</artifactId>
|
||||
<version>${revision}</version>
|
||||
</dependency>
|
||||
</dependency>
|
||||
<dependency>
|
||||
<groupId>cn.dev33</groupId>
|
||||
<artifactId>sa-token-sso</artifactId>
|
||||
<version>${revision}</version>
|
||||
<scope>test</scope>
|
||||
</dependency>
|
||||
<dependency>
|
||||
<groupId>cn.dev33</groupId>
|
||||
<artifactId>sa-token-oauth2</artifactId>
|
||||
<version>${revision}</version>
|
||||
<scope>test</scope>
|
||||
</dependency>
|
||||
<!-- 冗余(生成单元测试报告) -->
|
||||
<dependency>
|
||||
<groupId>cn.dev33</groupId>
|
||||
<artifactId>sa-token-servlet</artifactId>
|
||||
<version>${revision}</version>
|
||||
</dependency>
|
||||
<dependency>
|
||||
<groupId>cn.dev33</groupId>
|
||||
<artifactId>sa-token-core</artifactId>
|
||||
<version>${revision}</version>
|
||||
</dependency>
|
||||
</dependencies>
|
||||
|
||||
|
@@ -71,8 +71,8 @@ public class SaTokenConfigTest {
|
||||
config.setJwtSecretKey("NgdfaXasARggr");
|
||||
Assertions.assertEquals(config.getJwtSecretKey(), "NgdfaXasARggr");
|
||||
|
||||
config.setIdTokenTimeout(1004);
|
||||
Assertions.assertEquals(config.getIdTokenTimeout(), 1004);
|
||||
config.setSameTokenTimeout(1004);
|
||||
Assertions.assertEquals(config.getSameTokenTimeout(), 1004);
|
||||
|
||||
config.setBasic("sa:123456");
|
||||
Assertions.assertEquals(config.getBasic(), "sa:123456");
|
||||
@@ -80,8 +80,8 @@ public class SaTokenConfigTest {
|
||||
config.setCurrDomain("http://127.0.0.1:8084");
|
||||
Assertions.assertEquals(config.getCurrDomain(), "http://127.0.0.1:8084");
|
||||
|
||||
config.setCheckIdToken(false);
|
||||
Assertions.assertEquals(config.getCheckIdToken(), false);
|
||||
config.setCheckSameToken(false);
|
||||
Assertions.assertEquals(config.getCheckSameToken(), false);
|
||||
|
||||
SaCookieConfig scc = new SaCookieConfig();
|
||||
config.setCookie(scc);
|
||||
|
@@ -90,11 +90,11 @@ public class SaFoxUtilTest {
|
||||
|
||||
|
||||
// 不做分页
|
||||
List<String> list5 = SaFoxUtil.searchList(dataList, "", "", -1, 0, true);
|
||||
List<String> list5 = SaFoxUtil.searchList(dataList, "", "", 0, -1, true);
|
||||
Assertions.assertEquals(list5.size(), dataList.size());
|
||||
|
||||
// 反序排列 list6的第一个元素 == dataList最后一个元素
|
||||
List<String> list6 = SaFoxUtil.searchList(dataList, "", "", -1, 0, false);
|
||||
List<String> list6 = SaFoxUtil.searchList(dataList, "", "", 0, -1, false);
|
||||
Assertions.assertEquals(list6.get(0), dataList.get(dataList.size() - 1));
|
||||
}
|
||||
|
||||
|
@@ -4,12 +4,12 @@ import org.springframework.web.bind.annotation.ExceptionHandler;
|
||||
import org.springframework.web.bind.annotation.RestControllerAdvice;
|
||||
|
||||
import cn.dev33.satoken.exception.DisableServiceException;
|
||||
import cn.dev33.satoken.exception.IdTokenInvalidException;
|
||||
import cn.dev33.satoken.exception.NotBasicAuthException;
|
||||
import cn.dev33.satoken.exception.NotLoginException;
|
||||
import cn.dev33.satoken.exception.NotPermissionException;
|
||||
import cn.dev33.satoken.exception.NotRoleException;
|
||||
import cn.dev33.satoken.exception.NotSafeException;
|
||||
import cn.dev33.satoken.exception.SameTokenInvalidException;
|
||||
import cn.dev33.satoken.util.SaResult;
|
||||
|
||||
/**
|
||||
@@ -44,9 +44,9 @@ public class HandlerException {
|
||||
return SaResult.error().setCode(901);
|
||||
}
|
||||
|
||||
// id-token 校验失败,code=902
|
||||
@ExceptionHandler(IdTokenInvalidException.class)
|
||||
public SaResult handlerIdTokenInvalidException(IdTokenInvalidException e) {
|
||||
// same-token 校验失败,code=902
|
||||
@ExceptionHandler(SameTokenInvalidException.class)
|
||||
public SaResult handlerSameTokenInvalidException(SameTokenInvalidException e) {
|
||||
return SaResult.error().setCode(902);
|
||||
}
|
||||
|
||||
|
@@ -2,9 +2,9 @@ package cn.dev33.satoken.integrate.configure.inject;
|
||||
|
||||
import org.springframework.stereotype.Component;
|
||||
|
||||
import cn.dev33.satoken.id.SaIdTemplate;
|
||||
import cn.dev33.satoken.same.SaSameTemplate;
|
||||
|
||||
@Component
|
||||
public class MySaIdTemplate extends SaIdTemplate {
|
||||
public class MySaSameTemplate extends SaSameTemplate {
|
||||
|
||||
}
|
@@ -1,28 +1,28 @@
|
||||
package cn.dev33.satoken.integrate.id;
|
||||
package cn.dev33.satoken.integrate.same;
|
||||
|
||||
import org.springframework.web.bind.annotation.RequestMapping;
|
||||
import org.springframework.web.bind.annotation.RestController;
|
||||
|
||||
import cn.dev33.satoken.id.SaIdUtil;
|
||||
import cn.dev33.satoken.same.SaSameUtil;
|
||||
import cn.dev33.satoken.spring.SpringMVCUtil;
|
||||
import cn.dev33.satoken.util.SaResult;
|
||||
|
||||
/**
|
||||
* id-token Controller
|
||||
* same-token Controller
|
||||
*
|
||||
* @author kong
|
||||
*
|
||||
*/
|
||||
@RestController
|
||||
@RequestMapping("/id/")
|
||||
public class SaIdTokenController {
|
||||
@RequestMapping("/same/")
|
||||
public class SaSameTokenController {
|
||||
|
||||
// 获取信息
|
||||
@RequestMapping("getInfo")
|
||||
public SaResult getInfo() {
|
||||
// 获取并校验id-token
|
||||
String idToken = SpringMVCUtil.getRequest().getHeader(SaIdUtil.ID_TOKEN);
|
||||
SaIdUtil.checkToken(idToken);
|
||||
// 获取并校验same-token
|
||||
String sameToken = SpringMVCUtil.getRequest().getHeader(SaSameUtil.SAME_TOKEN);
|
||||
SaSameUtil.checkToken(sameToken);
|
||||
// 返回信息
|
||||
return SaResult.data("info=zhangsan");
|
||||
}
|
||||
@@ -30,8 +30,8 @@ public class SaIdTokenController {
|
||||
// 获取信息2
|
||||
@RequestMapping("getInfo2")
|
||||
public SaResult getInfo2() {
|
||||
// 获取并校验id-token
|
||||
SaIdUtil.checkCurrentRequestToken();
|
||||
// 获取并校验same-token
|
||||
SaSameUtil.checkCurrentRequestToken();
|
||||
// 返回信息
|
||||
return SaResult.data("info=zhangsan2");
|
||||
}
|
@@ -1,4 +1,4 @@
|
||||
package cn.dev33.satoken.integrate.id;
|
||||
package cn.dev33.satoken.integrate.same;
|
||||
|
||||
import java.util.Map;
|
||||
|
||||
@@ -16,19 +16,19 @@ import org.springframework.test.web.servlet.setup.MockMvcBuilders;
|
||||
import org.springframework.web.context.WebApplicationContext;
|
||||
|
||||
import cn.dev33.satoken.SaManager;
|
||||
import cn.dev33.satoken.exception.IdTokenInvalidException;
|
||||
import cn.dev33.satoken.id.SaIdUtil;
|
||||
import cn.dev33.satoken.exception.SameTokenInvalidException;
|
||||
import cn.dev33.satoken.integrate.StartUpApplication;
|
||||
import cn.dev33.satoken.same.SaSameUtil;
|
||||
import cn.dev33.satoken.util.SaResult;
|
||||
|
||||
/**
|
||||
* id-token Controller 测试
|
||||
* same-token Controller 测试
|
||||
*
|
||||
* @author kong
|
||||
*
|
||||
*/
|
||||
@SpringBootTest(classes = StartUpApplication.class)
|
||||
public class SaIdTokenControllerTest {
|
||||
public class SaSameTokenControllerTest {
|
||||
|
||||
@Autowired
|
||||
private WebApplicationContext wac;
|
||||
@@ -44,73 +44,73 @@ public class SaIdTokenControllerTest {
|
||||
// 获取信息
|
||||
@Test
|
||||
public void testGetInfo() {
|
||||
String token = SaIdUtil.getToken();
|
||||
String token = SaSameUtil.getToken();
|
||||
// 加token,能调通
|
||||
SaResult res = request("/id/getInfo", token);
|
||||
SaResult res = request("/same/getInfo", token);
|
||||
Assertions.assertEquals(res.getCode(), 200);
|
||||
// 不加token,不能调通
|
||||
SaResult res2 = request("/id/getInfo", "xxx");
|
||||
SaResult res2 = request("/same/getInfo", "xxx");
|
||||
Assertions.assertEquals(res2.getCode(), 902);
|
||||
|
||||
// 获取信息2
|
||||
token = SaIdUtil.getTokenNh();
|
||||
token = SaSameUtil.getTokenNh();
|
||||
// 加token,能调通
|
||||
SaResult res3 = request("/id/getInfo2", token);
|
||||
SaResult res3 = request("/same/getInfo2", token);
|
||||
Assertions.assertEquals(res3.getCode(), 200);
|
||||
// 不加token,不能调通
|
||||
SaResult res4 = request("/id/getInfo2", "xxx");
|
||||
SaResult res4 = request("/same/getInfo2", "xxx");
|
||||
Assertions.assertEquals(res4.getCode(), 902);
|
||||
}
|
||||
|
||||
// 基础测试
|
||||
@Test
|
||||
public void testApi() {
|
||||
String token = SaIdUtil.getToken();
|
||||
String token = SaSameUtil.getToken();
|
||||
|
||||
// 刷新一下,会有变化
|
||||
SaIdUtil.refreshToken();
|
||||
String token2 = SaIdUtil.getToken();
|
||||
SaSameUtil.refreshToken();
|
||||
String token2 = SaSameUtil.getToken();
|
||||
Assertions.assertNotEquals(token, token2);
|
||||
|
||||
// 旧token,变为次级token
|
||||
String pastToken = SaIdUtil.getPastTokenNh();
|
||||
String pastToken = SaSameUtil.getPastTokenNh();
|
||||
Assertions.assertEquals(token, pastToken);
|
||||
|
||||
// dao中应该有值
|
||||
String daoToken = SaManager.getSaTokenDao().get("satoken:var:id-token");
|
||||
String daoToken2 = SaManager.getSaTokenDao().get("satoken:var:past-id-token");
|
||||
String daoToken = SaManager.getSaTokenDao().get("satoken:var:same-token");
|
||||
String daoToken2 = SaManager.getSaTokenDao().get("satoken:var:past-same-token");
|
||||
Assertions.assertEquals(token2, daoToken);
|
||||
Assertions.assertEquals(token, daoToken2);
|
||||
|
||||
// 新旧都有效
|
||||
Assertions.assertTrue(SaIdUtil.isValid(token));
|
||||
Assertions.assertTrue(SaIdUtil.isValid(token2));
|
||||
Assertions.assertTrue(SaSameUtil.isValid(token));
|
||||
Assertions.assertTrue(SaSameUtil.isValid(token2));
|
||||
|
||||
// 空的不行
|
||||
Assertions.assertFalse(SaIdUtil.isValid(null));
|
||||
Assertions.assertFalse(SaIdUtil.isValid(""));
|
||||
Assertions.assertFalse(SaSameUtil.isValid(null));
|
||||
Assertions.assertFalse(SaSameUtil.isValid(""));
|
||||
|
||||
// 不抛出异常
|
||||
Assertions.assertDoesNotThrow(() -> SaIdUtil.checkToken(token));
|
||||
Assertions.assertDoesNotThrow(() -> SaIdUtil.checkToken(token2));
|
||||
Assertions.assertDoesNotThrow(() -> SaSameUtil.checkToken(token));
|
||||
Assertions.assertDoesNotThrow(() -> SaSameUtil.checkToken(token2));
|
||||
|
||||
// 抛出异常
|
||||
Assertions.assertThrows(IdTokenInvalidException.class, () -> SaIdUtil.checkToken(null));
|
||||
Assertions.assertThrows(IdTokenInvalidException.class, () -> SaIdUtil.checkToken(""));
|
||||
Assertions.assertThrows(IdTokenInvalidException.class, () -> SaIdUtil.checkToken("aaa"));
|
||||
Assertions.assertThrows(SameTokenInvalidException.class, () -> SaSameUtil.checkToken(null));
|
||||
Assertions.assertThrows(SameTokenInvalidException.class, () -> SaSameUtil.checkToken(""));
|
||||
Assertions.assertThrows(SameTokenInvalidException.class, () -> SaSameUtil.checkToken("aaa"));
|
||||
}
|
||||
|
||||
|
||||
|
||||
// 封装请求
|
||||
private SaResult request(String path, String idToken) {
|
||||
private SaResult request(String path, String sameToken) {
|
||||
try {
|
||||
// 发请求
|
||||
MvcResult mvcResult = mvc.perform(
|
||||
MockMvcRequestBuilders.post(path)
|
||||
.contentType(MediaType.APPLICATION_PROBLEM_JSON)
|
||||
.accept(MediaType.APPLICATION_PROBLEM_JSON)
|
||||
.header(SaIdUtil.ID_TOKEN, idToken)
|
||||
.header(SaSameUtil.SAME_TOKEN, sameToken)
|
||||
)
|
||||
.andExpect(MockMvcResultMatchers.status().isOk())
|
||||
.andReturn();
|
Reference in New Issue
Block a user