Crystal.Sea 4 éve
szülő
commit
e2e58ac7b8

+ 3 - 1
ReleaseNotes.txt

@@ -13,7 +13,9 @@
 	*(MAXKEY-200812)  MGT管理密码修改增加自动密码生成
 	*(MAXKEY-200813)   优化TOKENBASED令牌内容的配置
 	*(MAXKEY-200814)   修复初始化密码和密码过期修改后错误问题
-	*(MAXKEY-200715)  依赖jar升级
+	*(MAXKEY-200815)  修复OAuth 2.0管理端的跳过确认提示不能修改
+	*(MAXKEY-200816)  应用管理修改时关闭修正
+	*(MAXKEY-200817)  依赖jar升级
 					 passay 1.6.0
 					 springBoot 2.3.3.RELEASE
 					 springSecurity 5.3.4.RELEASE

+ 2 - 0
maxkey-core/src/main/java/org/maxkey/domain/apps/AppsOAuth20Details.java

@@ -106,6 +106,7 @@ public class AppsOAuth20Details extends Apps {
         this.userInfoSigningAlgorithm = baseClientDetails.getUserInfoSigningAlgorithm();
 
         this.jwksUri = baseClientDetails.getJwksUri();
+        this.approvalPrompt = baseClientDetails.getApprovalPrompt();
 
     }
 
@@ -322,6 +323,7 @@ public class AppsOAuth20Details extends Apps {
         baseClientDetails.setUserInfoSigningAlgorithm(this.getUserInfoSigningAlgorithm());
 
         baseClientDetails.setJwksUri(this.getJwksUri());
+        baseClientDetails.setApprovalPrompt(this.getApprovalPrompt());
 
         return baseClientDetails;
     }

+ 2 - 0
maxkey-core/src/main/java/org/maxkey/domain/apps/oauth2/provider/ClientDetails.java

@@ -145,5 +145,7 @@ public interface ClientDetails extends Serializable {
 	public String getUserInfoEncryptionMethod();
 	
 	public String getJwksUri();
+	
+	public String getApprovalPrompt();
 
 }

+ 12 - 1
maxkey-core/src/main/java/org/maxkey/domain/apps/oauth2/provider/client/BaseClientDetails.java

@@ -92,6 +92,8 @@ public class BaseClientDetails implements ClientDetails {
 	
 	private String jwksUri;
 	
+	private String approvalPrompt;
+	
 	
 	public BaseClientDetails() {
 	}
@@ -360,7 +362,16 @@ public class BaseClientDetails implements ClientDetails {
 		this.jwksUri = jwksUri;
 	}
 
-	@Override
+	
+	public String getApprovalPrompt() {
+        return approvalPrompt;
+    }
+
+    public void setApprovalPrompt(String approvalPrompt) {
+        this.approvalPrompt = approvalPrompt;
+    }
+
+    @Override
 	public int hashCode() {
 		final int prime = 31;
 		int result = 1;

+ 5 - 5
maxkey-protocols/maxkey-protocol-oauth-2.0/src/main/java/org/maxkey/authz/oauth2/provider/client/JdbcClientDetailsService.java

@@ -47,8 +47,6 @@ import org.springframework.util.Assert;
 import org.springframework.util.ClassUtils;
 import org.springframework.util.StringUtils;
 
-import com.fasterxml.jackson.databind.ObjectMapper;
-
 /**
  * Basic, JDBC implementation of the client details service.
  */
@@ -60,7 +58,7 @@ public class JdbcClientDetailsService implements ClientDetailsService, ClientReg
 
     private static final String CLIENT_FIELDS_FOR_UPDATE = "RESOURCE_IDS, SCOPE, "
             + "AUTHORIZED_GRANT_TYPES, WEB_SERVER_REDIRECT_URI, AUTHORITIES, ACCESS_TOKEN_VALIDITY, "
-            + "REFRESH_TOKEN_VALIDITY, ADDITIONAL_INFORMATION, AUTOAPPROVE, "
+            + "REFRESH_TOKEN_VALIDITY, ADDITIONAL_INFORMATION, AUTOAPPROVE, APPROVALPROMPT , "
             + "IDTOKENSIGNINGALGORITHM, IDTOKENENCRYPTEDALGORITHM, IDTOKENENCRYPTIONMETHOD, "
             + "USERINFOSIGNINGALGORITHM, USERINFOCRYPTEDALGORITHM, USERINFOENCRYPTIONMETHOD, JWKSURI";
 
@@ -74,7 +72,7 @@ public class JdbcClientDetailsService implements ClientDetailsService, ClientReg
     private static final String DEFAULT_SELECT_STATEMENT = BASE_FIND_STATEMENT + " where client_id = ?";
 
     private static final String DEFAULT_INSERT_STATEMENT = "insert into mxk_apps_oauth_client_details (" + CLIENT_FIELDS
-            + ", client_id) values (?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?)";
+            + ", client_id) values (?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?)";
 
     private static final String DEFAULT_UPDATE_STATEMENT = "update mxk_apps_oauth_client_details " + "set "
             + CLIENT_FIELDS_FOR_UPDATE.replaceAll(", ", "=?, ") + "=? where client_id = ?";
@@ -194,7 +192,8 @@ public class JdbcClientDetailsService implements ClientDetailsService, ClientReg
                         ? StringUtils.collectionToCommaDelimitedString(clientDetails.getAuthorities())
                         : null,
                 clientDetails.getAccessTokenValiditySeconds(), clientDetails.getRefreshTokenValiditySeconds(), json,
-                getAutoApproveScopes(clientDetails), clientDetails.getIdTokenSigningAlgorithm(),
+                getAutoApproveScopes(clientDetails),clientDetails.getApprovalPrompt(),
+                clientDetails.getIdTokenSigningAlgorithm(),
                 clientDetails.getIdTokenEncryptedAlgorithm(), clientDetails.getIdTokenEncryptionMethod(),
                 clientDetails.getUserInfoSigningAlgorithm(), clientDetails.getUserInfoEncryptedAlgorithm(),
                 clientDetails.getUserInfoEncryptionMethod(), clientDetails.getJwksUri(), clientDetails.getClientId() };
@@ -279,6 +278,7 @@ public class JdbcClientDetailsService implements ClientDetailsService, ClientReg
             details.setUserInfoEncryptionMethod(rs.getString("USERINFOENCRYPTIONMETHOD"));
             details.setUserInfoSigningAlgorithm(rs.getString("USERINFOSIGNINGALGORITHM"));
             details.setJwksUri(rs.getString("JWKSURI"));
+            details.setApprovalPrompt(rs.getString("APPROVALPROMPT"));
 
             String json = rs.getString(10);
             if (json != null) {