From 3dc1894c76ae3808aaccf30017f65c8f7e34ac20 Mon Sep 17 00:00:00 2001 From: lishengzhao Date: Tue, 26 May 2015 10:58:31 +0800 Subject: [PATCH] 00018 client_details list test client --- .../domain/dto/OauthClientDetailsDto.java | 23 ++++++ .../java/cc/wdcy/service/OauthService.java | 2 + .../wdcy/service/impl/OauthServiceImpl.java | 6 ++ .../controller/ClientDetailsController.java | 10 +++ .../WEB-INF/jsp/clientdetails/test_client.jsp | 79 +++++++++++++++++++ 5 files changed, 120 insertions(+) create mode 100644 src/main/webapp/WEB-INF/jsp/clientdetails/test_client.jsp diff --git a/src/main/java/cc/wdcy/domain/dto/OauthClientDetailsDto.java b/src/main/java/cc/wdcy/domain/dto/OauthClientDetailsDto.java index 4599689..4fbed70 100644 --- a/src/main/java/cc/wdcy/domain/dto/OauthClientDetailsDto.java +++ b/src/main/java/cc/wdcy/domain/dto/OauthClientDetailsDto.java @@ -173,4 +173,27 @@ public class OauthClientDetailsDto implements Serializable { } return dtos; } + + + public boolean isContainsAuthorizationCode() { + return this.authorizedGrantTypes.contains("authorization_code"); + } + + public boolean isContainsPassword() { + return this.authorizedGrantTypes.contains("password"); + } + + public boolean isContainsImplicit() { + return this.authorizedGrantTypes.contains("implicit"); + } + + public boolean isContainsClientCredentials() { + return this.authorizedGrantTypes.contains("client_credentials"); + } + + public boolean isContainsRefreshToken() { + return this.authorizedGrantTypes.contains("refresh_token"); + } + + } \ No newline at end of file diff --git a/src/main/java/cc/wdcy/service/OauthService.java b/src/main/java/cc/wdcy/service/OauthService.java index cb25da1..675f30b 100644 --- a/src/main/java/cc/wdcy/service/OauthService.java +++ b/src/main/java/cc/wdcy/service/OauthService.java @@ -16,4 +16,6 @@ public interface OauthService { List loadAllOauthClientDetailsDtos(); void archiveOauthClientDetails(String clientId); + + OauthClientDetailsDto loadOauthClientDetailsDto(String clientId); } \ No newline at end of file diff --git a/src/main/java/cc/wdcy/service/impl/OauthServiceImpl.java b/src/main/java/cc/wdcy/service/impl/OauthServiceImpl.java index 93ede50..6101efb 100644 --- a/src/main/java/cc/wdcy/service/impl/OauthServiceImpl.java +++ b/src/main/java/cc/wdcy/service/impl/OauthServiceImpl.java @@ -33,4 +33,10 @@ public class OauthServiceImpl implements OauthService { public void archiveOauthClientDetails(String clientId) { oauthRepository.updateOauthClientDetailsArchive(clientId, true); } + + @Override + public OauthClientDetailsDto loadOauthClientDetailsDto(String clientId) { + final OauthClientDetails oauthClientDetails = oauthRepository.findOauthClientDetails(clientId); + return new OauthClientDetailsDto(oauthClientDetails); + } } \ No newline at end of file diff --git a/src/main/java/cc/wdcy/web/controller/ClientDetailsController.java b/src/main/java/cc/wdcy/web/controller/ClientDetailsController.java index 16ac70f..e7fd523 100644 --- a/src/main/java/cc/wdcy/web/controller/ClientDetailsController.java +++ b/src/main/java/cc/wdcy/web/controller/ClientDetailsController.java @@ -40,5 +40,15 @@ public class ClientDetailsController { return "redirect:../client_details"; } + /* + * Test client + * */ + @RequestMapping("test_client/{clientId}") + public String testClient(@PathVariable("clientId") String clientId, Model model) { + OauthClientDetailsDto clientDetailsDto = oauthService.loadOauthClientDetailsDto(clientId); + model.addAttribute("clientDetailsDto", clientDetailsDto); + return "clientdetails/test_client"; + } + } \ No newline at end of file diff --git a/src/main/webapp/WEB-INF/jsp/clientdetails/test_client.jsp b/src/main/webapp/WEB-INF/jsp/clientdetails/test_client.jsp new file mode 100644 index 0000000..cd214b5 --- /dev/null +++ b/src/main/webapp/WEB-INF/jsp/clientdetails/test_client.jsp @@ -0,0 +1,79 @@ +<%-- + * + * @author Shengzhao Li +--%> + +<%@ page contentType="text/html;charset=UTF-8" language="java" %> +<%@ taglib prefix="c" uri="http://java.sun.com/jsp/jstl/core" %> + + + + Test [${clientDetailsDto.clientId}] + + + + + +
+ Home + +

Test [${clientDetailsDto.clientId}]

+ +

+ 针对不同的grant_type提供不同的测试URL, + 完整的Oauth测试请访问spring-oauth-client项目. +

+ +
+ +
+
Test [authorization_code]
+ +
+
+ +
+ Back +
+
+
+ + + + \ No newline at end of file