diff --git a/src/main/java/com/monkeyk/sos/service/dto/OauthClientDetailsDto.java b/src/main/java/com/monkeyk/sos/service/dto/OauthClientDetailsDto.java index bc70b81..0457f44 100644 --- a/src/main/java/com/monkeyk/sos/service/dto/OauthClientDetailsDto.java +++ b/src/main/java/com/monkeyk/sos/service/dto/OauthClientDetailsDto.java @@ -222,6 +222,20 @@ public class OauthClientDetailsDto implements Serializable { return this.authorizationGrantTypes.contains("refresh_token"); } + /** + * @since 3.0.0 + */ + public boolean isContainsDeviceCode() { + return this.authorizationGrantTypes.contains("device_code"); + } + + /** + * @since 3.0.0 + */ + public boolean isContainsJwtBearer() { + return this.authorizationGrantTypes.contains("jwt-bearer"); + } + public OauthClientDetails createDomain() { OauthClientDetails clientDetails = new OauthClientDetails() diff --git a/src/main/resources/templates/clientdetails/test_client.html b/src/main/resources/templates/clientdetails/test_client.html new file mode 100644 index 0000000..f87588e --- /dev/null +++ b/src/main/resources/templates/clientdetails/test_client.html @@ -0,0 +1,169 @@ + + + + + + + + + Test [[${clientDetailsDto.clientId}]] - Spring Security&OAuth2.1 + + + + + +
+ Home + +

Test [[${clientDetailsDto.clientId}]]

+ +

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

+ +
+
+ 请先输入client_secret: +
+
+
+
Test [authorization_code]
+
+

输入每一步必要的信息后点击其下面的链接地址.

+
    +
  1. +

    + 从 spring-oauth-server获取 'code' +
    + redirect_uri: +
    + + /oauth/authorize?client_id={{clientId}}&redirect_uri={{redirectUri}}&response_type=code&scope={{scope}} + GET +

    +
  2. +
  3. + 用 'code' 换取 'access_token' +
    + 输入第一步获取的code: +
    + +
    + + POST +
    +
  4. +
+
+
+ +
+
Test [password]
+
+

输入username, password 后点击链接地址.

+ username: +
+ password: + +
+ +
+ + POST +
+
+
+ +
+
Test [device_code]
+
+

输入redirect_uri 后点击链接地址. 获取access_token后注意查看redirect_uri的hash部分(#号后边部分)

+ redirect_uri: + +

+ /oauth/authorize?client_id={{clientId}}&client_secret={{clientSecret}}&response_type=token&scope={{scope}}&redirect_uri={{implicitRedirectUri}} + GET +

+
+
+ +
+
Test [client_credentials]
+
+

点击链接地址即可测试

+ + +
+ + POST +
+
+
+ +
+
Test [refresh_token]
+
+

输入refresh_token 后点击链接地址.

+ refresh_token: + +
+ +
+ + POST +
+
+
+ +
+ Back +
+
+
+ + + +
+ + \ No newline at end of file