From 49f40439a8835495173466daf3cf0740ef050e66 Mon Sep 17 00:00:00 2001 From: "shengzhaoli.shengz" Date: Mon, 16 Oct 2023 15:46:04 +0800 Subject: [PATCH] client, jsp -> html , test --- .../sos/service/dto/ClientSettingsDto.java | 17 +++- .../sos/service/dto/TokenSettingsDto.java | 13 +++ .../controller/ClientDetailsController.java | 27 +++--- .../clientdetails/client_details.html | 86 +++++++++++++++++++ .../resources/templates/mobile/dashboard.html | 33 +++++++ .../resources/templates/unity/dashboard.html | 33 +++++++ 6 files changed, 196 insertions(+), 13 deletions(-) create mode 100644 src/main/resources/templates/clientdetails/client_details.html create mode 100644 src/main/resources/templates/mobile/dashboard.html create mode 100644 src/main/resources/templates/unity/dashboard.html diff --git a/src/main/java/com/monkeyk/sos/service/dto/ClientSettingsDto.java b/src/main/java/com/monkeyk/sos/service/dto/ClientSettingsDto.java index 6adfa01..7df659f 100644 --- a/src/main/java/com/monkeyk/sos/service/dto/ClientSettingsDto.java +++ b/src/main/java/com/monkeyk/sos/service/dto/ClientSettingsDto.java @@ -40,6 +40,8 @@ public class ClientSettingsDto implements Serializable { /** * 若client有自定义的 jwk URL, * 则填写, null表示用默认的 + *

+ * todo: v3.0.0不提供自定义设置 */ private String jwkSetUrl; @@ -60,7 +62,10 @@ public class ClientSettingsDto implements Serializable { this.requireAuthorizationConsent = settings.isRequireAuthorizationConsent(); this.requireProofKey = settings.isRequireProofKey(); - this.tokenEndpointAuthenticationSigningAlgorithm = settings.getTokenEndpointAuthenticationSigningAlgorithm().getName(); + JwsAlgorithm jAlg = settings.getTokenEndpointAuthenticationSigningAlgorithm(); + if (jAlg != null) { + this.tokenEndpointAuthenticationSigningAlgorithm = jAlg.getName(); + } this.jwkSetUrl = settings.getJwkSetUrl(); } @@ -106,4 +111,14 @@ public class ClientSettingsDto implements Serializable { public void setTokenEndpointAuthenticationSigningAlgorithm(String tokenEndpointAuthenticationSigningAlgorithm) { this.tokenEndpointAuthenticationSigningAlgorithm = tokenEndpointAuthenticationSigningAlgorithm; } + + @Override + public String toString() { + return "{" + + "requireProofKey=" + requireProofKey + + ", requireAuthorizationConsent=" + requireAuthorizationConsent + +// ", jwkSetUrl='" + jwkSetUrl + '\'' + + ", tokenEndpointAuthenticationSigningAlgorithm='" + tokenEndpointAuthenticationSigningAlgorithm + '\'' + + '}'; + } } diff --git a/src/main/java/com/monkeyk/sos/service/dto/TokenSettingsDto.java b/src/main/java/com/monkeyk/sos/service/dto/TokenSettingsDto.java index c5a014b..2305f43 100644 --- a/src/main/java/com/monkeyk/sos/service/dto/TokenSettingsDto.java +++ b/src/main/java/com/monkeyk/sos/service/dto/TokenSettingsDto.java @@ -172,4 +172,17 @@ public class TokenSettingsDto implements Serializable { public void setIdTokenSignatureAlgorithm(String idTokenSignatureAlgorithm) { this.idTokenSignatureAlgorithm = idTokenSignatureAlgorithm; } + + @Override + public String toString() { + return "{" + + "authorizationCodeTimeToLive=" + authorizationCodeTimeToLive + + ", accessTokenTimeToLive=" + accessTokenTimeToLive + + ", accessTokenFormat='" + accessTokenFormat + '\'' + + ", deviceCodeTimeToLive=" + deviceCodeTimeToLive + + ", reuseRefreshTokens=" + reuseRefreshTokens + + ", refreshTokenTimeToLive=" + refreshTokenTimeToLive + + ", idTokenSignatureAlgorithm='" + idTokenSignatureAlgorithm + '\'' + + '}'; + } } diff --git a/src/main/java/com/monkeyk/sos/web/controller/ClientDetailsController.java b/src/main/java/com/monkeyk/sos/web/controller/ClientDetailsController.java index 4cdccf6..61fd490 100644 --- a/src/main/java/com/monkeyk/sos/web/controller/ClientDetailsController.java +++ b/src/main/java/com/monkeyk/sos/web/controller/ClientDetailsController.java @@ -16,8 +16,11 @@ import java.util.List; /** * Handle 'client_details' management + *

+ * v3.0.0 中叫 'RegisteredClient', table: oauth2_registered_client * * @author Shengzhao Li + * @see org.springframework.security.oauth2.server.authorization.client.RegisteredClient */ @Controller public class ClientDetailsController { @@ -38,18 +41,18 @@ public class ClientDetailsController { } - /* - * Logic delete - * */ + /** + * Logic delete + */ @RequestMapping("archive_client/{clientId}") public String archiveClient(@PathVariable("clientId") String clientId) { oauthService.archiveOauthClientDetails(clientId); return "redirect:../client_details"; } - /* - * Test client - * */ + /** + * Test client + */ @RequestMapping("test_client/{clientId}") public String testClient(@PathVariable("clientId") String clientId, Model model) { OauthClientDetailsDto clientDetailsDto = oauthService.loadOauthClientDetailsDto(clientId); @@ -58,9 +61,9 @@ public class ClientDetailsController { } - /* - * Register client - * */ + /** + * Register client + */ @RequestMapping(value = "register_client", method = RequestMethod.GET) public String registerClient(Model model) { model.addAttribute("formDto", new OauthClientDetailsDto()); @@ -68,9 +71,9 @@ public class ClientDetailsController { } - /* - * Submit register client - * */ + /** + * Submit register client + */ @RequestMapping(value = "register_client", method = RequestMethod.POST) public String submitRegisterClient(@ModelAttribute("formDto") OauthClientDetailsDto formDto, BindingResult result) { clientDetailsDtoValidator.validate(formDto, result); diff --git a/src/main/resources/templates/clientdetails/client_details.html b/src/main/resources/templates/clientdetails/client_details.html new file mode 100644 index 0000000..216b3a0 --- /dev/null +++ b/src/main/resources/templates/clientdetails/client_details.html @@ -0,0 +1,86 @@ + + + + + + + + + client_details - Spring Security&OAuth2.1 + + + + + +Home + +

+
+

client_details

+
+
+ +
+
+ +
+ +
+ +
+ 每一个item对应oauth2_registered_client表中的一条数据; 共条数据. +
+ 对数据库表的详细说明请访问 + https://andaily.com/spring-oauth-server/db_table_description_3.0.0.html + (或访问项目others目录的db_table_description.html文件) +
+
+ +
+ + \ No newline at end of file diff --git a/src/main/resources/templates/mobile/dashboard.html b/src/main/resources/templates/mobile/dashboard.html new file mode 100644 index 0000000..9ddcb76 --- /dev/null +++ b/src/main/resources/templates/mobile/dashboard.html @@ -0,0 +1,33 @@ + + + + + + + + + Mobile 资源 - Spring Security&OAuth2.1 + + + + +Home + +

Hi Mobile + 你已成功访问 [mobile] 资源 +

+ +用户信息: +
+ +
+
+

+ 访问API +

+用户信息(JSON) + + +
+ + \ No newline at end of file diff --git a/src/main/resources/templates/unity/dashboard.html b/src/main/resources/templates/unity/dashboard.html new file mode 100644 index 0000000..67d3ff7 --- /dev/null +++ b/src/main/resources/templates/unity/dashboard.html @@ -0,0 +1,33 @@ + + + + + + + + + Unity 资源 - Spring Security&OAuth2.1 + + + + +Home + +

Hi Mobile + 你已成功访问 [unity] 资源 +

+ +用户信息: +
+ +
+
+

+ 访问API +

+用户信息(JSON) + + +
+ + \ No newline at end of file