diff --git a/maxkey-protocols/maxkey-protocol-saml-2.0/src/main/java/org/maxkey/authz/saml20/metadata/endpoint/MetadataEndpoint.java b/maxkey-protocols/maxkey-protocol-saml-2.0/src/main/java/org/maxkey/authz/saml20/metadata/endpoint/MetadataEndpoint.java index 86d8e059b15959a2954d95528a718c593e6fd6a0..d9c5b45ab1e14d502b7d62c1feb444645a853487 100644 --- a/maxkey-protocols/maxkey-protocol-saml-2.0/src/main/java/org/maxkey/authz/saml20/metadata/endpoint/MetadataEndpoint.java +++ b/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); diff --git a/maxkey-web-manage/src/main/java/org/maxkey/web/apps/contorller/SAML20DetailsController.java b/maxkey-web-manage/src/main/java/org/maxkey/web/apps/contorller/SAML20DetailsController.java index 8043d69e0cfa67751a665e2b81ad8f1ba38fa120..16363153c1c98760fffca7852d5d47a687ad1304 100644 --- a/maxkey-web-manage/src/main/java/org/maxkey/web/apps/contorller/SAML20DetailsController.java +++ b/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; diff --git a/maxkey-web-manage/src/main/java/org/maxkey/web/apps/contorller/TokenBasedDetailsController.java b/maxkey-web-manage/src/main/java/org/maxkey/web/apps/contorller/TokenBasedDetailsController.java index d4c109097d84e32878b10f7645d4501e1440a884..5c82143c420dc869f3624ba17974be5bb32f0863 100644 --- a/maxkey-web-manage/src/main/java/org/maxkey/web/apps/contorller/TokenBasedDetailsController.java +++ b/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()); diff --git a/maxkey-web-manage/src/main/resources/maxkey.properties b/maxkey-web-manage/src/main/resources/maxkey.properties index f9f62443f59567bfa8d507145c958b0570e3bb7a..cdb334e4551840b3e30d43df4f90a5833e75d4be 100644 --- a/maxkey-web-manage/src/main/resources/maxkey.properties +++ b/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 diff --git a/maxkey-web-manage/src/main/resources/templates/views/apps/saml20/appAdd.ftl b/maxkey-web-manage/src/main/resources/templates/views/apps/saml20/appAdd.ftl index 6e37ba0bb580c4e94420626da75dfa4732161cd9..f47ac8ebd2687b1c9fac616de259ed093a46f425 100644 --- a/maxkey-web-manage/src/main/resources/templates/views/apps/saml20/appAdd.ftl +++ b/maxkey-web-manage/src/main/resources/templates/views/apps/saml20/appAdd.ftl @@ -136,8 +136,8 @@ <@locale code="apps.saml.fileType" />: * diff --git a/maxkey-web-manage/src/main/resources/templates/views/apps/saml20/appUpdate.ftl b/maxkey-web-manage/src/main/resources/templates/views/apps/saml20/appUpdate.ftl index eb9dfdcf3844c428b8c5a1706ea38ae754b4073c..83a37098982d9e3d68a3ca8b5b79fe11a6b4f2e6 100644 --- a/maxkey-web-manage/src/main/resources/templates/views/apps/saml20/appUpdate.ftl +++ b/maxkey-web-manage/src/main/resources/templates/views/apps/saml20/appUpdate.ftl @@ -52,7 +52,7 @@ - SAML MetaData + SAML MetaData diff --git a/maxkey-web-maxkey/src/main/resources/maxkey.properties b/maxkey-web-maxkey/src/main/resources/maxkey.properties index 1df0913abceccc6ae4c40199992e6419ddbd9cf9..f975af854cc829cea46d0de05b55fbfc98c9ede9 100644 --- a/maxkey-web-maxkey/src/main/resources/maxkey.properties +++ b/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 ############################################################################