Crystal.Sea 4 年之前
父節點
當前提交
18e1ddaff0

+ 8 - 4
maxkey-protocols/maxkey-protocol-saml-2.0/src/main/java/org/maxkey/authz/saml20/metadata/endpoint/MetadataEndpoint.java

@@ -23,6 +23,7 @@ import javax.servlet.http.HttpServletResponse;
 import org.apache.commons.lang.Validate;
 import org.maxkey.authz.saml.common.TrustResolver;
 import org.maxkey.authz.saml20.metadata.MetadataGenerator;
+import org.maxkey.constants.ContentType;
 import org.maxkey.crypto.keystore.KeyStoreLoader;
 import org.maxkey.domain.Saml20Metadata;
 import org.maxkey.web.WebContext;
@@ -68,11 +69,14 @@ public class MetadataEndpoint {
 	private Saml20Metadata saml20Metadata;
 	
 	private Credential signingCredential;
+	
+	public static String IDP_METADATA_PREFIX = "Idp_Metadata_";
 
 	@RequestMapping(value = "/{appid}.xml",produces = "application/xml")
 	public ModelAndView  metadata(HttpServletRequest request,
 			HttpServletResponse response, @PathVariable("appid") String appId) {
-		
+	    response.setContentType(ContentType.APPLICATION_XML_UTF8);
+	    appId = appId.substring(IDP_METADATA_PREFIX.length(), appId.length());
 		if(signingCredential==null){
 	        TrustResolver trustResolver = new TrustResolver();
 	        CredentialResolver credentialResolver=(CredentialResolver)trustResolver.buildKeyStoreCredentialResolver(
@@ -111,7 +115,7 @@ public class MetadataEndpoint {
 	        
 	        descriptor.getSingleLogoutServices().add(metadataGenerator.getSingleLogoutService(WebContext.getHttpContextPath()+"/logout",null));
 	        
-	        descriptor.getManageNameIDServices().add(metadataGenerator.getManageNameIDService(WebContext.getHttpContextPath()+"/saml/metadata/"+appId));
+	        descriptor.getManageNameIDServices().add(metadataGenerator.getManageNameIDService(WebContext.getHttpContextPath()+"/saml/metadata/"+IDP_METADATA_PREFIX+appId+".xml"));
 	             
 	        descriptor.getKeyDescriptors().add(metadataGenerator.generateEncryptionKeyDescriptor(signingCredential));  
 	         
@@ -151,8 +155,8 @@ public class MetadataEndpoint {
 	        
 	        String entityDescriptorXml=XMLHelper.prettyPrintXML(metadataGenerator.marshallerMetadata(entityDescriptor));
 	         
-	        logger.debug("EntityDescriptor element XML : \\n");
-	        logger.debug(entityDescriptorXml);
+	        logger.trace("EntityDescriptor element XML : \\n");
+	        logger.trace(entityDescriptorXml);
 	        
 	        ModelAndView mv = new ModelAndView("trusts/saml_v20_metadata");
 	        mv.addObject("metadata", entityDescriptorXml);

+ 1 - 0
maxkey-web-manage/src/main/java/org/maxkey/web/apps/contorller/SAML20DetailsController.java

@@ -73,6 +73,7 @@ public class SAML20DetailsController   extends BaseAppContorller {
 		AppsSAML20Details saml20Details=new AppsSAML20Details();
 		saml20Details.setSecret(ReciprocalUtils.generateKey(""));
 		saml20Details.setProtocol(ConstantsProtocols.SAML20);
+		saml20Details.setId(saml20Details.generateId());
 		modelAndView.addObject("model",saml20Details);
 		 
 		return modelAndView;

+ 1 - 0
maxkey-web-manage/src/main/java/org/maxkey/web/apps/contorller/TokenBasedDetailsController.java

@@ -49,6 +49,7 @@ public class TokenBasedDetailsController  extends BaseAppContorller {
 	public ModelAndView forwardAdd() {
 		ModelAndView modelAndView=new ModelAndView("apps/tokenbased/appAdd");
 		AppsTokenBasedDetails tokenBasedDetails =new AppsTokenBasedDetails();
+		tokenBasedDetails.setId(tokenBasedDetails.generateId());
 		tokenBasedDetails.setProtocol(ConstantsProtocols.TOKENBASED);
 		tokenBasedDetails.setSecret(ReciprocalUtils.generateKey(ReciprocalUtils.Algorithm.AES));
 		tokenBasedDetails.setAlgorithmKey(tokenBasedDetails.getSecret());

+ 2 - 2
maxkey-web-manage/src/main/resources/maxkey.properties

@@ -8,8 +8,8 @@ config.server.name=http://${config.server.domain.sub}
 config.server.prefix.uri=${config.server.name}:9521/maxkey-mgt
 #default.uri
 config.server.default.uri=${config.server.prefix.uri}/main
-config.maxkey.uri=${config.server.name}/maxkey
-#InMemory 0 , jdbc  1, Redis 2 
+config.maxkey.uri=https://${config.server.domain.sub}/maxkey
+#InMemory 0 , Redis 2 
 config.server.persistence=0
 #identity
 config.identity.kafkasupport=false

+ 2 - 2
maxkey-web-manage/src/main/resources/templates/views/apps/saml20/appAdd.ftl

@@ -136,8 +136,8 @@
 					<th><@locale code="apps.saml.fileType" />:</th>
 					<td>
 						<select  id="fileType" name="fileType"  class="form-control"  >
-							<option value="certificate" selected><@locale code="apps.saml.fileType.certificate" /></option>
-							<option value="metadata"><@locale code="apps.saml.fileType.metadata" /></option>
+							<option value="certificate"><@locale code="apps.saml.fileType.certificate" /></option>
+							<option value="metadata"  selected><@locale code="apps.saml.fileType.metadata" /></option>
 						</select>
 						<b class="orange">*</b><label for="fileType"></label>
 					</td>

+ 1 - 1
maxkey-web-manage/src/main/resources/templates/views/apps/saml20/appUpdate.ftl

@@ -52,7 +52,7 @@
 					</td>
 					<td></td>
                     <td  >
-                        <a target="_blank" href="${maxKeyURI}/metadata/saml20/${model.id}.xml"> SAML MetaData</a>
+                        <a target="_blank" href="${maxKeyURI}/metadata/saml20/Idp_Metadata_${model.id}.xml"> SAML MetaData</a>
                     </td>
 				</tr>
 				<tr>

+ 5 - 5
maxkey-web-maxkey/src/main/resources/maxkey.properties

@@ -147,14 +147,14 @@ config.saml.v20.sp.keystore=classpath\:config/samlClientKeystore.jks
 config.saml.v20.sp.issuing.entity.id=client.maxkey.org
 
 #Saml v20 METADATA
-config.saml.v20.metadata.orgName=maxkey
-config.saml.v20.metadata.orgDisplayName=maxkey
-config.saml.v20.metadata.orgURL=https://github.com/shimingxy/MaxKey
+config.saml.v20.metadata.orgName=MaxKeyTop
+config.saml.v20.metadata.orgDisplayName=MaxKeyTop
+config.saml.v20.metadata.orgURL=https://www.maxkey.top
 config.saml.v20.metadata.contactType=technical
-config.saml.v20.metadata.company=maxkey
+config.saml.v20.metadata.company=MaxKeyTop
 config.saml.v20.metadata.givenName=maxkey
 config.saml.v20.metadata.surName=maxkey
-config.saml.v20.metadata.emailAddress=shimingxy@163.com
+config.saml.v20.metadata.emailAddress=maxkeysupport@163.com
 config.saml.v20.metadata.telephoneNumber=4008981111
 
 ############################################################################