瀏覽代碼

!37 修复OpenID Connect metadata 元数据接口接口返回json格式不正确
Merge pull request !37 from yangyn/main

MaxKeyTop 1 年之前
父節點
當前提交
e56b239693

+ 2 - 1
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);

+ 13 - 19
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 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.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 org.springframework.web.bind.annotation.*;
 
-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 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;
 	}
 }

+ 4 - 4
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);