From 5774a8c90d925c43f91648c2ab6e59de3425b72d Mon Sep 17 00:00:00 2001 From: shimingxy Date: Sun, 28 Apr 2024 18:32:34 +0800 Subject: [PATCH] URL Fragment --- .../oauth2/provider/endpoint/AuthorizationEndpoint.java | 9 ++++++--- 1 file changed, 6 insertions(+), 3 deletions(-) diff --git a/maxkey-protocols/maxkey-protocol-oauth-2.0/src/main/java/org/dromara/maxkey/authz/oauth2/provider/endpoint/AuthorizationEndpoint.java b/maxkey-protocols/maxkey-protocol-oauth-2.0/src/main/java/org/dromara/maxkey/authz/oauth2/provider/endpoint/AuthorizationEndpoint.java index 2cfb96efd..1d9b33eea 100644 --- a/maxkey-protocols/maxkey-protocol-oauth-2.0/src/main/java/org/dromara/maxkey/authz/oauth2/provider/endpoint/AuthorizationEndpoint.java +++ b/maxkey-protocols/maxkey-protocol-oauth-2.0/src/main/java/org/dromara/maxkey/authz/oauth2/provider/endpoint/AuthorizationEndpoint.java @@ -497,8 +497,7 @@ public class AuthorizationEndpoint extends AbstractEndpoint { } template.scheme(redirectUri.getScheme()).port(redirectUri.getPort()).host(redirectUri.getHost()) .userInfo(redirectUri.getUserInfo()).path(redirectUri.getPath()); - - if (fragment) { + if (StringUtils.hasLength(redirectUri.getFragment())) { StringBuilder values = new StringBuilder(); if (redirectUri.getFragment() != null) { String append = redirectUri.getFragment(); @@ -506,7 +505,11 @@ public class AuthorizationEndpoint extends AbstractEndpoint { } for (String key : query.keySet()) { if (values.length() > 0) { - values.append("&"); + if(values.indexOf("?") == -1) { + values.append("?"); + }else { + values.append("&"); + } } String name = key; if (keys != null && keys.containsKey(key)) {