Update spring-boot 2.4.2 , update config

2.1.1
shengzhaoli.shengz 2021-10-23 12:12:35 +08:00
parent 7758326ca5
commit 2812f8e2f8
14 changed files with 80 additions and 118 deletions

16
pom.xml
View File

@ -14,7 +14,7 @@
<parent> <parent>
<groupId>org.springframework.boot</groupId> <groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-starter-parent</artifactId> <artifactId>spring-boot-starter-parent</artifactId>
<version>2.1.4.RELEASE</version> <version>2.4.2</version>
<relativePath/> <!-- lookup parent from repository --> <relativePath/> <!-- lookup parent from repository -->
</parent> </parent>
@ -30,18 +30,6 @@
<dependencies> <dependencies>
<!-- Provided -->
<dependency>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-starter-tomcat</artifactId>
<scope>provided</scope>
</dependency>
<dependency>
<groupId>org.apache.tomcat.embed</groupId>
<artifactId>tomcat-embed-jasper</artifactId>
<scope>provided</scope>
</dependency>
<dependency> <dependency>
<groupId>org.springframework.boot</groupId> <groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-starter-security</artifactId> <artifactId>spring-boot-starter-security</artifactId>
@ -170,7 +158,7 @@
<Implementation-BuildNumber>${project.version}</Implementation-BuildNumber> <Implementation-BuildNumber>${project.version}</Implementation-BuildNumber>
<Implementation-Title>spring-oauth-server(boot)</Implementation-Title> <Implementation-Title>spring-oauth-server(boot)</Implementation-Title>
<Implementation-Version>${project.version}</Implementation-Version> <Implementation-Version>${project.version}</Implementation-Version>
<Implementation-URL>http://monkeyk.com</Implementation-URL> <Implementation-URL>https://monkeyk.com</Implementation-URL>
<Implementation-Vendor>Not Vendor Yet, Inc.</Implementation-Vendor> <Implementation-Vendor>Not Vendor Yet, Inc.</Implementation-Vendor>
</manifestEntries> </manifestEntries>
<manifest> <manifest>

View File

@ -1,31 +0,0 @@
package com.monkeyk.sos;
import com.monkeyk.sos.web.WebUtils;
import org.springframework.boot.builder.SpringApplicationBuilder;
import org.springframework.boot.web.servlet.support.SpringBootServletInitializer;
import javax.servlet.ServletContext;
import javax.servlet.ServletException;
/**
* 2017-12-05
*
* @author Shengzhao Li
*/
public class SpringOauthServerServletInitializer extends SpringBootServletInitializer {
@Override
public void onStartup(ServletContext servletContext) throws ServletException {
super.onStartup(servletContext);
//主版本号
servletContext.setAttribute("mainVersion", WebUtils.VERSION);
}
@Override
protected SpringApplicationBuilder configure(SpringApplicationBuilder application) {
return application.sources(SpringOauthServerApplication.class);
}
}

View File

@ -11,14 +11,14 @@ spring.datasource.password=andaily
#Datasource properties #Datasource properties
spring.datasource.type=com.zaxxer.hikari.HikariDataSource spring.datasource.type=com.zaxxer.hikari.HikariDataSource
spring.datasource.hikari.maximum-pool-size=20 spring.datasource.hikari.maximum-pool-size=20
spring.datasource.hikari.minimum-idle=2 #spring.datasource.hikari.minimum-idle=2
# #
# MVC # MVC
spring.mvc.ignore-default-model-on-redirect=false spring.mvc.ignore-default-model-on-redirect=false
spring.http.encoding.enabled=true #spring.http.encoding.enabled=true
spring.http.encoding.charset=UTF-8 #spring.http.encoding.charset=UTF-8
spring.http.encoding.force=true #spring.http.encoding.force=true
spring.mvc.locale=zh_CN #spring.mvc.locale=zh_CN
spring.mvc.view.prefix=/WEB-INF/jsp/ spring.mvc.view.prefix=/WEB-INF/jsp/
spring.mvc.view.suffix=.jsp spring.mvc.view.suffix=.jsp
# #
@ -44,7 +44,7 @@ spring.main.allow-bean-definition-overriding=true
# #
# Condition Config # Condition Config
# @since 2.1.0 # @since 2.1.0
# 配置使用什么类型 TokenStore,支持 jdbc, jwt # <EFBFBD><EFBFBD><EFBFBD><EFBFBD>ʹ<EFBFBD><EFBFBD>ʲô<EFBFBD><EFBFBD><EFBFBD><EFBFBD> TokenStore,֧<><D6A7> jdbc, jwt
sos.token.store=jwt sos.token.store=jwt
# jwt key (length >= 16), optional # jwt key (length >= 16), optional
#sos.token.store.jwt.key=IH6S2dhCEMwGr7uE4fBakSuDh9SoIrRa #sos.token.store.jwt.key=IH6S2dhCEMwGr7uE4fBakSuDh9SoIrRa

View File

@ -1,16 +1,14 @@
package com.monkeyk.sos; package com.monkeyk.sos;
import org.junit.runner.RunWith;
import org.springframework.boot.test.context.SpringBootTest; import org.springframework.boot.test.context.SpringBootTest;
import org.springframework.test.context.TestPropertySource; import org.springframework.test.context.TestPropertySource;
import org.springframework.test.context.junit4.AbstractTransactionalJUnit4SpringContextTests; import org.springframework.test.context.junit4.AbstractTransactionalJUnit4SpringContextTests;
import org.springframework.test.context.junit4.SpringRunner;
import org.springframework.test.context.transaction.BeforeTransaction; import org.springframework.test.context.transaction.BeforeTransaction;
/** /**
* @author Shengzhao Li * @author Shengzhao Li
*/ */
@RunWith(SpringRunner.class)
@SpringBootTest @SpringBootTest
@TestPropertySource(locations = "classpath:application-test.properties") @TestPropertySource(locations = "classpath:application-test.properties")
public abstract class ContextTest extends AbstractTransactionalJUnit4SpringContextTests { public abstract class ContextTest extends AbstractTransactionalJUnit4SpringContextTests {

View File

@ -1,18 +1,16 @@
package com.monkeyk.sos; package com.monkeyk.sos;
import org.junit.Test;
import org.junit.runner.RunWith; import org.junit.jupiter.api.Test;
import org.springframework.boot.test.context.SpringBootTest; import org.springframework.boot.test.context.SpringBootTest;
import org.springframework.test.context.TestPropertySource; import org.springframework.test.context.TestPropertySource;
import org.springframework.test.context.junit4.SpringRunner;
@RunWith(SpringRunner.class)
@SpringBootTest @SpringBootTest
@TestPropertySource(locations = "classpath:application-test.properties") @TestPropertySource(locations = "classpath:application-test.properties")
public class SpringOauthServerApplicationTests { class SpringOauthServerApplicationTests {
@Test @Test
public void contextLoads() { void contextLoads() {
} }
} }

View File

@ -1,12 +1,14 @@
package com.monkeyk.sos.config; package com.monkeyk.sos.config;
import org.junit.Test;
import org.junit.jupiter.api.Test;
import org.springframework.security.oauth2.common.util.RandomValueStringGenerator; import org.springframework.security.oauth2.common.util.RandomValueStringGenerator;
import org.springframework.security.oauth2.provider.token.store.JwtAccessTokenConverter; import org.springframework.security.oauth2.provider.token.store.JwtAccessTokenConverter;
import java.util.Map; import java.util.Map;
import static org.junit.Assert.*; import static org.junit.jupiter.api.Assertions.*;
/** /**
* 2020/6/9 * 2020/6/9
@ -14,11 +16,11 @@ import static org.junit.Assert.*;
* @author Shengzhao Li * @author Shengzhao Li
* @since 2.1.0 * @since 2.1.0
*/ */
public class JWTTokenStoreConfigurationTest { class JWTTokenStoreConfigurationTest {
@Test @Test
public void keyTest() throws Exception { void keyTest() throws Exception {
RandomValueStringGenerator randomValueStringGenerator = new RandomValueStringGenerator(32); RandomValueStringGenerator randomValueStringGenerator = new RandomValueStringGenerator(32);
String verifierKey = randomValueStringGenerator.generate(); String verifierKey = randomValueStringGenerator.generate();
@ -29,7 +31,7 @@ public class JWTTokenStoreConfigurationTest {
@Test @Test
public void testJwtAccessTokenConverter() throws Exception { void testJwtAccessTokenConverter() throws Exception {
JwtAccessTokenConverter jwtAccessTokenConverter = new JwtAccessTokenConverter(); JwtAccessTokenConverter jwtAccessTokenConverter = new JwtAccessTokenConverter();
jwtAccessTokenConverter.setSigningKey("IH6S2dhCEMwGr7uE4fBakSuDh9SoIrRa"); jwtAccessTokenConverter.setSigningKey("IH6S2dhCEMwGr7uE4fBakSuDh9SoIrRa");

View File

@ -12,23 +12,23 @@
package com.monkeyk.sos.infrastructure; package com.monkeyk.sos.infrastructure;
import org.junit.Test; import org.junit.jupiter.api.Test;
import java.sql.Timestamp; import java.sql.Timestamp;
import java.time.LocalDate; import java.time.LocalDate;
import java.time.LocalDateTime; import java.time.LocalDateTime;
import static org.junit.Assert.*; import static org.junit.jupiter.api.Assertions.*;
/* /*
* @author Shengzhao Li * @author Shengzhao Li
*/ */
public class DateUtilsTest { class DateUtilsTest {
@Test @Test
public void convert() { void convert() {
LocalDateTime localDateTime = LocalDateTime.of(2015, 4, 3, 12, 30, 22); LocalDateTime localDateTime = LocalDateTime.of(2015, 4, 3, 12, 30, 22);

View File

@ -1,18 +1,18 @@
package com.monkeyk.sos.infrastructure; package com.monkeyk.sos.infrastructure;
import org.junit.Test; import org.junit.jupiter.api.Test;
import static org.junit.Assert.assertNotNull; import static org.junit.jupiter.api.Assertions.assertNotNull;
/* /*
* @author Shengzhao Li * @author Shengzhao Li
*/ */
public class PasswordHandlerTest { class PasswordHandlerTest {
@Test @Test
public void testMd5() throws Exception { void testMd5() throws Exception {
final String md5 = PasswordHandler.encode("123456"); final String md5 = PasswordHandler.encode("123456");
assertNotNull(md5); assertNotNull(md5);

View File

@ -15,19 +15,19 @@ import com.monkeyk.sos.domain.oauth.OauthClientDetails;
import com.monkeyk.sos.domain.oauth.OauthRepository; import com.monkeyk.sos.domain.oauth.OauthRepository;
import com.monkeyk.sos.domain.shared.GuidGenerator; import com.monkeyk.sos.domain.shared.GuidGenerator;
import com.monkeyk.sos.infrastructure.AbstractRepositoryTest; import com.monkeyk.sos.infrastructure.AbstractRepositoryTest;
import org.junit.Test; import org.junit.jupiter.api.Test;
import org.springframework.beans.factory.annotation.Autowired; import org.springframework.beans.factory.annotation.Autowired;
import java.util.List; import java.util.List;
import static org.junit.Assert.*; import static org.junit.jupiter.api.Assertions.*;
/* /*
* @author Shengzhao Li * @author Shengzhao Li
*/ */
public class OauthRepositoryJdbcTest extends AbstractRepositoryTest { class OauthRepositoryJdbcTest extends AbstractRepositoryTest {
@Autowired @Autowired
@ -35,7 +35,7 @@ public class OauthRepositoryJdbcTest extends AbstractRepositoryTest {
@Test @Test
public void findOauthClientDetails() { void findOauthClientDetails() {
OauthClientDetails oauthClientDetails = oauthRepositoryMyBatis.findOauthClientDetails("unity-client"); OauthClientDetails oauthClientDetails = oauthRepositoryMyBatis.findOauthClientDetails("unity-client");
assertNull(oauthClientDetails); assertNull(oauthClientDetails);
@ -43,7 +43,7 @@ public class OauthRepositoryJdbcTest extends AbstractRepositoryTest {
@Test @Test
public void saveOauthClientDetails() { void saveOauthClientDetails() {
final String clientId = GuidGenerator.generate(); final String clientId = GuidGenerator.generate();
@ -58,14 +58,14 @@ public class OauthRepositoryJdbcTest extends AbstractRepositoryTest {
} }
@Test @Test
public void findAllOauthClientDetails() { void findAllOauthClientDetails() {
final List<OauthClientDetails> allOauthClientDetails = oauthRepositoryMyBatis.findAllOauthClientDetails(); final List<OauthClientDetails> allOauthClientDetails = oauthRepositoryMyBatis.findAllOauthClientDetails();
assertNotNull(allOauthClientDetails); assertNotNull(allOauthClientDetails);
assertTrue(allOauthClientDetails.isEmpty()); assertTrue(allOauthClientDetails.isEmpty());
} }
@Test @Test
public void updateOauthClientDetailsArchive() { void updateOauthClientDetailsArchive() {
oauthRepositoryMyBatis.updateOauthClientDetailsArchive("ddooelddd", true); oauthRepositoryMyBatis.updateOauthClientDetailsArchive("ddooelddd", true);
} }

View File

@ -14,19 +14,20 @@ package com.monkeyk.sos.infrastructure.jdbc;
import com.monkeyk.sos.domain.user.User; import com.monkeyk.sos.domain.user.User;
import com.monkeyk.sos.domain.user.UserRepository; import com.monkeyk.sos.domain.user.UserRepository;
import com.monkeyk.sos.infrastructure.AbstractRepositoryTest; import com.monkeyk.sos.infrastructure.AbstractRepositoryTest;
import org.junit.Test;
import org.junit.jupiter.api.Test;
import org.springframework.beans.factory.annotation.Autowired; import org.springframework.beans.factory.annotation.Autowired;
import java.util.List; import java.util.List;
import static org.junit.Assert.*; import static org.junit.jupiter.api.Assertions.*;
/* /*
* @author Shengzhao Li * @author Shengzhao Li
*/ */
public class UserRepositoryJdbcTest extends AbstractRepositoryTest { class UserRepositoryJdbcTest extends AbstractRepositoryTest {
@Autowired @Autowired
@ -34,7 +35,7 @@ public class UserRepositoryJdbcTest extends AbstractRepositoryTest {
@Test @Test
public void findByGuid() { void findByGuid() {
User user = userRepository.findByGuid("oood"); User user = userRepository.findByGuid("oood");
assertNull(user); assertNull(user);
@ -49,7 +50,7 @@ public class UserRepositoryJdbcTest extends AbstractRepositoryTest {
} }
@Test @Test
public void findUsersByUsername() { void findUsersByUsername() {
User user = userRepository.findByGuid("oood"); User user = userRepository.findByGuid("oood");
assertNull(user); assertNull(user);
@ -65,7 +66,7 @@ public class UserRepositoryJdbcTest extends AbstractRepositoryTest {
@Test @Test
public void updateUser() { void updateUser() {
User user = new User("user", "123", "123", "ewo@honyee.cc"); User user = new User("user", "123", "123", "ewo@honyee.cc");
userRepository.saveUser(user); userRepository.saveUser(user);
@ -84,7 +85,7 @@ public class UserRepositoryJdbcTest extends AbstractRepositoryTest {
@Test @Test
public void findByUsername() { void findByUsername() {
String username = "user"; String username = "user";
User user = new User(username, "123", "123", "ewo@honyee.cc"); User user = new User(username, "123", "123", "ewo@honyee.cc");
userRepository.saveUser(user); userRepository.saveUser(user);
@ -98,7 +99,7 @@ public class UserRepositoryJdbcTest extends AbstractRepositoryTest {
* Run the test must initial db firstly * Run the test must initial db firstly
* */ * */
// @Test() // @Test()
public void testPrivilege() { void testPrivilege() {
String guid = "55b713df1c6f423e842ad68668523c49"; String guid = "55b713df1c6f423e842ad68668523c49";
final User user = userRepository.findByGuid(guid); final User user = userRepository.findByGuid(guid);

View File

@ -1,13 +1,14 @@
package com.monkeyk.sos.service.business; package com.monkeyk.sos.service.business;
import com.monkeyk.sos.service.dto.AccessTokenDto; import com.monkeyk.sos.service.dto.AccessTokenDto;
import org.junit.Test; import org.junit.jupiter.api.Test;
import org.springframework.security.oauth2.provider.NoSuchClientException; import org.springframework.security.oauth2.provider.NoSuchClientException;
import java.util.HashMap; import java.util.HashMap;
import java.util.Map; import java.util.Map;
import static org.junit.Assert.assertNotNull; import static org.junit.jupiter.api.Assertions.*;
/** /**
* 2019/7/6 * 2019/7/6
@ -39,8 +40,9 @@ public class ClientCredentialsInlineAccessTokenInvokerTest extends AbstractInlin
} }
@Test(expected = NoSuchClientException.class) // @Test(expected = NoSuchClientException.class)
public void invalidClientId() { @Test()
void invalidClientId() {
createClientDetails(); createClientDetails();
@ -62,7 +64,7 @@ public class ClientCredentialsInlineAccessTokenInvokerTest extends AbstractInlin
} }
@Test() @Test()
public void invalidClientSecret() { void invalidClientSecret() {
createClientDetails(); createClientDetails();

View File

@ -1,25 +1,25 @@
package com.monkeyk.sos.service.business; package com.monkeyk.sos.service.business;
import com.monkeyk.sos.service.dto.AccessTokenDto; import com.monkeyk.sos.service.dto.AccessTokenDto;
import org.junit.Test; import org.junit.jupiter.api.Test;
import org.springframework.security.oauth2.common.exceptions.InvalidGrantException;
import java.util.HashMap; import java.util.HashMap;
import java.util.Map; import java.util.Map;
import static org.junit.Assert.assertNotNull; import static org.junit.jupiter.api.Assertions.assertNotNull;
import static org.junit.Assert.assertNull; import static org.junit.jupiter.api.Assertions.assertNull;
/** /**
* 2019/7/6 * 2019/7/6
* *
* @author Shengzhao Li * @author Shengzhao Li
*/ */
public class PasswordInlineAccessTokenInvokerTest extends AbstractInlineAccessTokenInvokerTest { class PasswordInlineAccessTokenInvokerTest extends AbstractInlineAccessTokenInvokerTest {
@Test @Test
public void invokeNormal() { void invokeNormal() {
createClientDetails(); createClientDetails();
@ -46,8 +46,9 @@ public class PasswordInlineAccessTokenInvokerTest extends AbstractInlineAccessTo
} }
@Test(expected = InvalidGrantException.class) // @Test(expected = InvalidGrantException.class)
public void invalidUsername() { @Test
void invalidUsername() {
createClientDetails(); createClientDetails();
@ -70,8 +71,9 @@ public class PasswordInlineAccessTokenInvokerTest extends AbstractInlineAccessTo
} }
@Test(expected = IllegalStateException.class) // @Test(expected = IllegalStateException.class)
public void invalidScope() { @Test
void invalidScope() {
createClientDetails(); createClientDetails();
createUser(); createUser();

View File

@ -1,24 +1,25 @@
package com.monkeyk.sos.service.business; package com.monkeyk.sos.service.business;
import com.monkeyk.sos.service.dto.AccessTokenDto; import com.monkeyk.sos.service.dto.AccessTokenDto;
import org.junit.Test; import org.junit.jupiter.api.Test;
import org.springframework.security.oauth2.common.exceptions.InvalidGrantException; import org.springframework.security.oauth2.common.exceptions.InvalidGrantException;
import java.util.HashMap; import java.util.HashMap;
import java.util.Map; import java.util.Map;
import static org.junit.Assert.*; import static org.junit.jupiter.api.Assertions.*;
/** /**
* 2019/7/6 * 2019/7/6
* *
* @author Shengzhao Li * @author Shengzhao Li
*/ */
public class RefreshTokenInlineAccessTokenInvokerTest extends AbstractInlineAccessTokenInvokerTest { class RefreshTokenInlineAccessTokenInvokerTest extends AbstractInlineAccessTokenInvokerTest {
@Test @Test
public void invokeNormal() { void invokeNormal() {
createClientDetails(); createClientDetails();
@ -62,8 +63,9 @@ public class RefreshTokenInlineAccessTokenInvokerTest extends AbstractInlineAcce
} }
@Test(expected = InvalidGrantException.class) // @Test(expected = InvalidGrantException.class)
public void invalidRefreshToken() { @Test
void invalidRefreshToken() {
createClientDetails(); createClientDetails();

View File

@ -4,21 +4,21 @@ spring.application.name=spring-oauth-server
# #
# MySQL # MySQL
##################### #####################
spring.datasource.driver-class-name=com.mysql.jdbc.Driver spring.datasource.driver-class-name=com.mysql.cj.jdbc.Driver
spring.datasource.url=jdbc:mysql://localhost:3306/oauth2_boot_test?autoReconnect=true&autoReconnectForPools=true&useUnicode=true&characterEncoding=utf8&serverTimezone=Asia/Shanghai spring.datasource.url=jdbc:mysql://localhost:3306/oauth2_boot_test?autoReconnect=true&autoReconnectForPools=true&useUnicode=true&characterEncoding=utf8&serverTimezone=Asia/Shanghai
spring.datasource.username=andaily spring.datasource.username=andaily
spring.datasource.password=andaily spring.datasource.password=andaily
#Datasource properties #Datasource properties
spring.datasource.type=com.zaxxer.hikari.HikariDataSource spring.datasource.type=com.zaxxer.hikari.HikariDataSource
spring.datasource.hikari.maximum-pool-size=20 spring.datasource.hikari.maximum-pool-size=20
spring.datasource.hikari.minimum-idle=2 #spring.datasource.hikari.minimum-idle=2
# #
# MVC # MVC
spring.mvc.ignore-default-model-on-redirect=false spring.mvc.ignore-default-model-on-redirect=false
spring.http.encoding.enabled=true #spring.http.encoding.enabled=true
spring.http.encoding.charset=UTF-8 #spring.http.encoding.charset=UTF-8
spring.http.encoding.force=true #spring.http.encoding.force=true
spring.mvc.locale=zh_CN #spring.mvc.locale=zh_CN
spring.mvc.view.prefix=/WEB-INF/jsp/ spring.mvc.view.prefix=/WEB-INF/jsp/
spring.mvc.view.suffix=.jsp spring.mvc.view.suffix=.jsp
# #