From dc65768b9b8cdac9b87ada1eea60cfb904b23c5b Mon Sep 17 00:00:00 2001 From: janeluo Date: Sun, 17 Mar 2024 20:58:32 +0800 Subject: [PATCH 1/3] =?UTF-8?q?=E4=BF=AE=E5=A4=8DOpenID=20Connect=20metada?= =?UTF-8?q?ta=20=E5=85=83=E6=95=B0=E6=8D=AE=E6=8E=A5=E5=8F=A3=E6=8E=A5?= =?UTF-8?q?=E5=8F=A3=E8=BF=94=E5=9B=9Ejson=E6=A0=BC=E5=BC=8F=E4=B8=8D?= =?UTF-8?q?=E6=AD=A3=E7=A1=AE?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../endpoint/OpenidConfigurationEndpoint.java | 40 ++++++++----------- 1 file changed, 17 insertions(+), 23 deletions(-) diff --git a/maxkey-protocols/maxkey-protocol-oauth-2.0/src/main/java/org/dromara/maxkey/authz/oauth2/provider/wellknown/endpoint/OpenidConfigurationEndpoint.java b/maxkey-protocols/maxkey-protocol-oauth-2.0/src/main/java/org/dromara/maxkey/authz/oauth2/provider/wellknown/endpoint/OpenidConfigurationEndpoint.java index c1d449599..f4e2cc326 100644 --- a/maxkey-protocols/maxkey-protocol-oauth-2.0/src/main/java/org/dromara/maxkey/authz/oauth2/provider/wellknown/endpoint/OpenidConfigurationEndpoint.java +++ b/maxkey-protocols/maxkey-protocol-oauth-2.0/src/main/java/org/dromara/maxkey/authz/oauth2/provider/wellknown/endpoint/OpenidConfigurationEndpoint.java @@ -17,30 +17,23 @@ package org.dromara.maxkey.authz.oauth2.provider.wellknown.endpoint; -import java.util.HashSet; -import java.util.Set; - -import org.dromara.maxkey.authz.oauth2.common.OAuth2Constants; -import org.dromara.maxkey.authz.oauth2.provider.endpoint.AbstractEndpoint; -import org.dromara.maxkey.authz.oauth2.provider.wellknown.OpenidConfiguration; -import org.dromara.maxkey.entity.apps.oauth2.provider.ClientDetails; -import org.dromara.maxkey.pretty.impl.JsonPretty; -import org.dromara.maxkey.web.WebContext; -import org.slf4j.Logger; -import org.slf4j.LoggerFactory; -import org.springframework.stereotype.Controller; -import org.springframework.web.bind.annotation.PathVariable; -import org.springframework.web.bind.annotation.RequestMapping; -import org.springframework.web.bind.annotation.RequestMethod; -import org.springframework.web.bind.annotation.RequestParam; -import org.springframework.web.bind.annotation.ResponseBody; - import com.alibaba.cloud.commons.lang.StringUtils; - import io.swagger.v3.oas.annotations.Operation; import io.swagger.v3.oas.annotations.tags.Tag; import jakarta.servlet.http.HttpServletRequest; import jakarta.servlet.http.HttpServletResponse; +import org.dromara.maxkey.authz.oauth2.common.OAuth2Constants; +import org.dromara.maxkey.authz.oauth2.provider.endpoint.AbstractEndpoint; +import org.dromara.maxkey.authz.oauth2.provider.wellknown.OpenidConfiguration; +import org.dromara.maxkey.entity.apps.oauth2.provider.ClientDetails; +import org.dromara.maxkey.web.WebContext; +import org.slf4j.Logger; +import org.slf4j.LoggerFactory; +import org.springframework.stereotype.Controller; +import org.springframework.web.bind.annotation.*; + +import java.util.HashSet; +import java.util.Set; @Tag(name = "2-1-OAuth v2.0 API文档模块") @Controller @@ -55,7 +48,7 @@ public class OpenidConfigurationEndpoint extends AbstractEndpoint { produces = "application/json", method={RequestMethod.POST, RequestMethod.GET}) @ResponseBody - public String configuration( + public OpenidConfiguration configuration( HttpServletRequest request, HttpServletResponse response, @RequestParam(value = "client_id", required = false) String client_id) { @@ -69,7 +62,7 @@ public class OpenidConfigurationEndpoint extends AbstractEndpoint { produces = "application/json", method={RequestMethod.POST, RequestMethod.GET}) @ResponseBody - public String configurationMetadata( + public OpenidConfiguration configurationMetadata( HttpServletRequest request, HttpServletResponse response, @PathVariable("instId") String instId, @@ -262,7 +255,8 @@ public class OpenidConfigurationEndpoint extends AbstractEndpoint { openidConfig.setClaims_supported(claims_supported); } - - return JsonPretty.getInstance().format(openidConfig,true); + + + return openidConfig; } } From cfe913abdb34d3e3ae612000dacfbb525534b1e9 Mon Sep 17 00:00:00 2001 From: janeluo Date: Sun, 17 Mar 2024 21:00:52 +0800 Subject: [PATCH 2/3] =?UTF-8?q?=E4=BF=AE=E5=A4=8DComponentScan=E6=B3=A8?= =?UTF-8?q?=E8=A7=A3=E6=89=A7=E8=A1=8C=E7=9A=84=E5=8C=85=E5=90=8D=E4=B8=8D?= =?UTF-8?q?=E5=AF=B9?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../maxkey/autoconfigure/Oauth20AutoConfiguration.java | 8 ++++---- 1 file changed, 4 insertions(+), 4 deletions(-) diff --git a/maxkey-protocols/maxkey-protocol-oauth-2.0/src/main/java/org/dromara/maxkey/autoconfigure/Oauth20AutoConfiguration.java b/maxkey-protocols/maxkey-protocol-oauth-2.0/src/main/java/org/dromara/maxkey/autoconfigure/Oauth20AutoConfiguration.java index 06383ff88..0fbc462aa 100644 --- a/maxkey-protocols/maxkey-protocol-oauth-2.0/src/main/java/org/dromara/maxkey/autoconfigure/Oauth20AutoConfiguration.java +++ b/maxkey-protocols/maxkey-protocol-oauth-2.0/src/main/java/org/dromara/maxkey/autoconfigure/Oauth20AutoConfiguration.java @@ -66,10 +66,10 @@ import jakarta.servlet.Filter; @AutoConfiguration @ComponentScan(basePackages = { - "org.maxkey.authz.oauth2.provider.endpoint", - "org.maxkey.authz.oauth2.provider.userinfo.endpoint", - "org.maxkey.authz.oauth2.provider.approval.controller", - "org.maxkey.authz.oauth2.provider.wellknown.endpoint" + "org.dromara.maxkey.authz.oauth2.provider.endpoint", + "org.dromara.maxkey.authz.oauth2.provider.userinfo.endpoint", + "org.dromara.maxkey.authz.oauth2.provider.approval.controller", + "org.dromara.maxkey.authz.oauth2.provider.wellknown.endpoint" }) public class Oauth20AutoConfiguration implements InitializingBean { private static final Logger _logger = LoggerFactory.getLogger(Oauth20AutoConfiguration.class); From 6e40596088b12de6251589a4b44db33cbdbde450 Mon Sep 17 00:00:00 2001 From: janeluo Date: Sun, 17 Mar 2024 21:01:25 +0800 Subject: [PATCH 3/3] =?UTF-8?q?=E4=BC=98=E5=8C=96=E4=BB=A3=E7=A0=81?= =?UTF-8?q?=EF=BC=8C=E5=8E=BB=E6=8E=89=E5=B7=B2=E8=BF=87=E6=97=B6=E4=BB=A3?= =?UTF-8?q?=E7=A0=81?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../provider/endpoint/TokenEndpointAuthenticationFilter.java | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) diff --git a/maxkey-protocols/maxkey-protocol-oauth-2.0/src/main/java/org/dromara/maxkey/authz/oauth2/provider/endpoint/TokenEndpointAuthenticationFilter.java b/maxkey-protocols/maxkey-protocol-oauth-2.0/src/main/java/org/dromara/maxkey/authz/oauth2/provider/endpoint/TokenEndpointAuthenticationFilter.java index fd7b19d8b..d0396026e 100644 --- a/maxkey-protocols/maxkey-protocol-oauth-2.0/src/main/java/org/dromara/maxkey/authz/oauth2/provider/endpoint/TokenEndpointAuthenticationFilter.java +++ b/maxkey-protocols/maxkey-protocol-oauth-2.0/src/main/java/org/dromara/maxkey/authz/oauth2/provider/endpoint/TokenEndpointAuthenticationFilter.java @@ -17,6 +17,7 @@ package org.dromara.maxkey.authz.oauth2.provider.endpoint; import java.io.IOException; +import java.util.Arrays; import java.util.HashMap; import java.util.Map; import java.util.Set; @@ -231,7 +232,7 @@ public class TokenEndpointAuthenticationFilter implements Filter { public Authentication ClientCredentials(HttpServletRequest request, HttpServletResponse response) throws AuthenticationException, IOException, ServletException { if (allowOnlyPost && !"POST".equalsIgnoreCase(request.getMethod())) { - throw new HttpRequestMethodNotSupportedException(request.getMethod(), new String[] { "POST","G" }); + throw new HttpRequestMethodNotSupportedException(request.getMethod(), Arrays.asList("POST","G")); } String clientId = request.getParameter(OAuth2Constants.PARAMETER.CLIENT_ID);