From 44a721452d123beb67d72f0fbcfe616df713f511 Mon Sep 17 00:00:00 2001 From: MaxKey Date: Sat, 6 Nov 2021 20:09:39 +0800 Subject: [PATCH] fix --- .../ApplicationAutoConfiguration.java | 2 +- .../constants/ldap/ActiveDirectoryUser.java | 36 +++++++++++++++++-- .../maxkey/constants/ldap/InetOrgPerson.java | 18 ++++++++-- .../main/java/org/maxkey/web/WebContext.java | 23 ++++++++---- .../persistence/service/UserInfoService.java | 2 +- .../adapter/AbstractAuthorizeAdapter.java | 2 +- .../jwt/endpoint/adapter/JwtAdapter.java | 4 +-- .../endpoint/adapter/JwtDefaultAdapter.java | 4 +-- .../jwt/endpoint/adapter/JwtHS256Adapter.java | 2 +- .../TokenEndpointAuthenticationFilter.java | 6 ++-- .../xml/AttributeStatementGenerator.java | 11 ++++-- .../contorller/RegistrationController.java | 21 +++++++---- .../resources/application-http.properties | 17 ++++----- .../resources/application-https.properties | 17 ++++----- .../contorller/SynchronizersController.java | 2 +- .../resources/application-http.properties | 18 +++++----- 16 files changed, 127 insertions(+), 58 deletions(-) diff --git a/maxkey-core/src/main/java/org/maxkey/autoconfigure/ApplicationAutoConfiguration.java b/maxkey-core/src/main/java/org/maxkey/autoconfigure/ApplicationAutoConfiguration.java index 6c08f9c7..c07bc6f1 100644 --- a/maxkey-core/src/main/java/org/maxkey/autoconfigure/ApplicationAutoConfiguration.java +++ b/maxkey-core/src/main/java/org/maxkey/autoconfigure/ApplicationAutoConfiguration.java @@ -94,7 +94,7 @@ public class ApplicationAutoConfiguration implements InitializingBean { if(_logger.isDebugEnabled()) { _logger.debug("Password Encoders :"); for (String key : encoders.keySet()) { - _logger.debug(key + "=" + encoders.get(key)); + _logger.debug(key + "=" + encoders.get(key).getClass().getName()); } } _logger.debug("default encoder " + idForEncode); diff --git a/maxkey-core/src/main/java/org/maxkey/constants/ldap/ActiveDirectoryUser.java b/maxkey-core/src/main/java/org/maxkey/constants/ldap/ActiveDirectoryUser.java index 354b021f..52dab79b 100644 --- a/maxkey-core/src/main/java/org/maxkey/constants/ldap/ActiveDirectoryUser.java +++ b/maxkey-core/src/main/java/org/maxkey/constants/ldap/ActiveDirectoryUser.java @@ -65,7 +65,7 @@ public class ActiveDirectoryUser { /* *常规 * 名 First Name givenName - * 姓 Last Name sn + * 姓 Last Name/SurName sn * 英文缩写 Initials initials * 描述 Description description * 办公室 Office physicalDeliveryOfficeName @@ -179,13 +179,45 @@ public class ActiveDirectoryUser { public static final String DISTINGUISHEDNAME = "distinguishedname"; //MaxKey EXTEND + /** + * EXTEND managerName + */ public static final String MANAGERNAME = "managerName"; + /** + * EXTEND username + */ public static final String USERNAME = "username"; + /** + * EXTEND userType + */ public static final String USERTYPE = "userType"; + /** + * EXTEND gender + */ public static final String GENDER = "gender"; + /** + * EXTEND status + */ public static final String USERSTATUS = "status"; + /** + * EXTEND firstName + */ + public static final String FIRSTNAME = "firstName"; + /** + * EXTEND lastName + */ + public static final String LASTNAME = "lastName"; + /** + * EXTEND email + */ + public static final String EMAIL = "email"; - + /** + * encodePassword for ActiveDirectory + * @param password + * @return + * @throws UnsupportedEncodingException + */ public static byte[] encodePassword(String password) throws UnsupportedEncodingException { return ("\"" + password + "\"").getBytes("UTF-16LE"); } diff --git a/maxkey-core/src/main/java/org/maxkey/constants/ldap/InetOrgPerson.java b/maxkey-core/src/main/java/org/maxkey/constants/ldap/InetOrgPerson.java index 513c6634..60194217 100644 --- a/maxkey-core/src/main/java/org/maxkey/constants/ldap/InetOrgPerson.java +++ b/maxkey-core/src/main/java/org/maxkey/constants/ldap/InetOrgPerson.java @@ -132,9 +132,21 @@ public class InetOrgPerson { public static final String MANAGER = "manager"; //MaxKey EXTEND + /** + * EXTEND department + */ public static final String DEPARTMENT = "department"; - - - + /** + * EXTEND firstName + */ + public static final String FIRSTNAME = "firstName"; + /** + * EXTEND lastName + */ + public static final String LASTNAME = "lastName"; + /** + * EXTEND email + */ + public static final String EMAIL = "email"; } diff --git a/maxkey-core/src/main/java/org/maxkey/web/WebContext.java b/maxkey-core/src/main/java/org/maxkey/web/WebContext.java index 0d446578..4afac1ed 100644 --- a/maxkey-core/src/main/java/org/maxkey/web/WebContext.java +++ b/maxkey-core/src/main/java/org/maxkey/web/WebContext.java @@ -35,6 +35,7 @@ import org.maxkey.util.IdGenerator; import org.maxkey.web.message.Message; import org.slf4j.Logger; import org.slf4j.LoggerFactory; +import org.springframework.beans.BeansException; import org.springframework.context.ApplicationContext; import org.springframework.core.env.StandardEnvironment; import org.springframework.security.core.Authentication; @@ -161,13 +162,21 @@ public final class WebContext { * @param id * @return Object */ - public static Object getBean(String id){ + public static Object getBean(String name){ if(applicationContext==null) { - return getApplicationContext().getBean(id); + return getApplicationContext().getBean(name); }else { - return applicationContext.getBean(id); + return applicationContext.getBean(name); } } + + public static T getBean(String name, Class requiredType) throws BeansException{ + if(applicationContext==null) { + return getApplicationContext().getBean(name,requiredType); + }else { + return applicationContext.getBean(name,requiredType); + } + }; // below method is common HttpServlet method /** @@ -202,8 +211,8 @@ public final class WebContext { * http://www.website.com/webcontext */ public static String getHttpContextPath(HttpServletRequest httpServletRequest) { - ApplicationConfig applicationConfig = ( - ApplicationConfig) WebContext.getBean("applicationConfig"); + ApplicationConfig applicationConfig = + WebContext.getBean("applicationConfig",ApplicationConfig.class); _logger.trace("Config ServerPrefix " + applicationConfig.getServerPrefix()); _logger.trace("Config DomainName " + applicationConfig.getDomainName()); @@ -295,7 +304,7 @@ public final class WebContext { * @return encoded String */ public static String encoding(String encodingString) { - ApplicationConfig applicationConfig = (ApplicationConfig) getBean("applicationConfig"); + ApplicationConfig applicationConfig = getBean("applicationConfig",ApplicationConfig.class); return applicationConfig.getCharacterEncodingConfig().encoding(encodingString); } @@ -309,7 +318,7 @@ public final class WebContext { Locale locale = null; try { CookieLocaleResolver cookieLocaleResolver = - (CookieLocaleResolver) getBean("localeResolver"); + getBean("localeResolver",CookieLocaleResolver.class); locale = cookieLocaleResolver.resolveLocale(getRequest()); } catch (Exception e) { diff --git a/maxkey-persistence/src/main/java/org/maxkey/persistence/service/UserInfoService.java b/maxkey-persistence/src/main/java/org/maxkey/persistence/service/UserInfoService.java index 3e8edf65..958b9736 100644 --- a/maxkey-persistence/src/main/java/org/maxkey/persistence/service/UserInfoService.java +++ b/maxkey-persistence/src/main/java/org/maxkey/persistence/service/UserInfoService.java @@ -154,7 +154,7 @@ public class UserInfoService extends JpaBaseService { if(userInfo.getStatus() != ConstantsStatus.ACTIVE) { if(accountsService==null) { accountsService = - (AccountsService)WebContext.getBean("accountsService"); + WebContext.getBean("accountsService",AccountsService.class); } Accounts queryAcount =new Accounts(); queryAcount.setUserId(userInfo.getId()); diff --git a/maxkey-protocols/maxkey-protocol-authorize/src/main/java/org/maxkey/authz/endpoint/adapter/AbstractAuthorizeAdapter.java b/maxkey-protocols/maxkey-protocol-authorize/src/main/java/org/maxkey/authz/endpoint/adapter/AbstractAuthorizeAdapter.java index e000f8ec..dcdd7b84 100644 --- a/maxkey-protocols/maxkey-protocol-authorize/src/main/java/org/maxkey/authz/endpoint/adapter/AbstractAuthorizeAdapter.java +++ b/maxkey-protocols/maxkey-protocol-authorize/src/main/java/org/maxkey/authz/endpoint/adapter/AbstractAuthorizeAdapter.java @@ -44,7 +44,7 @@ public abstract class AbstractAuthorizeAdapter { public String sign(String data,Apps app){ if(Boolean.isTrue(app.getIsSignature())){ - KeyStoreLoader keyStoreLoader=(KeyStoreLoader)WebContext.getBean("keyStoreLoader"); + KeyStoreLoader keyStoreLoader=WebContext.getBean("keyStoreLoader",KeyStoreLoader.class); try { byte[] signature= CertSigner.sign(data.getBytes(), keyStoreLoader.getKeyStore(), keyStoreLoader.getEntityName(), keyStoreLoader.getKeystorePassword()); _logger.debug("signed Token : "+data); diff --git a/maxkey-protocols/maxkey-protocol-jwt/src/main/java/org/maxkey/authz/jwt/endpoint/adapter/JwtAdapter.java b/maxkey-protocols/maxkey-protocol-jwt/src/main/java/org/maxkey/authz/jwt/endpoint/adapter/JwtAdapter.java index f81693c6..fd17d114 100644 --- a/maxkey-protocols/maxkey-protocol-jwt/src/main/java/org/maxkey/authz/jwt/endpoint/adapter/JwtAdapter.java +++ b/maxkey-protocols/maxkey-protocol-jwt/src/main/java/org/maxkey/authz/jwt/endpoint/adapter/JwtAdapter.java @@ -49,8 +49,8 @@ public class JwtAdapter extends AbstractAuthorizeAdapter { AppsJwtDetails details=(AppsJwtDetails)app; - JwtSigningAndValidationService jwtSignerService= (JwtSigningAndValidationService)WebContext.getBean("jwtSignerValidationService"); - OIDCProviderMetadata providerMetadata= (OIDCProviderMetadata)WebContext.getBean("oidcProviderMetadata"); + JwtSigningAndValidationService jwtSignerService= WebContext.getBean("jwtSignerValidationService",JwtSigningAndValidationService.class); + OIDCProviderMetadata providerMetadata= WebContext.getBean("oidcProviderMetadata",OIDCProviderMetadata.class); DateTime currentDateTime=DateTime.now(); diff --git a/maxkey-protocols/maxkey-protocol-jwt/src/main/java/org/maxkey/authz/jwt/endpoint/adapter/JwtDefaultAdapter.java b/maxkey-protocols/maxkey-protocol-jwt/src/main/java/org/maxkey/authz/jwt/endpoint/adapter/JwtDefaultAdapter.java index cce6280d..4348f21e 100644 --- a/maxkey-protocols/maxkey-protocol-jwt/src/main/java/org/maxkey/authz/jwt/endpoint/adapter/JwtDefaultAdapter.java +++ b/maxkey-protocols/maxkey-protocol-jwt/src/main/java/org/maxkey/authz/jwt/endpoint/adapter/JwtDefaultAdapter.java @@ -48,8 +48,8 @@ public class JwtDefaultAdapter extends AbstractAuthorizeAdapter { AppsJwtDetails details=(AppsJwtDetails)app; - JwtSigningAndValidationService jwtSignerService= (JwtSigningAndValidationService)WebContext.getBean("jwtSignerValidationService"); - OIDCProviderMetadata providerMetadata= (OIDCProviderMetadata)WebContext.getBean("oidcProviderMetadata"); + JwtSigningAndValidationService jwtSignerService= WebContext.getBean("jwtSignerValidationService",JwtSigningAndValidationService.class); + OIDCProviderMetadata providerMetadata= WebContext.getBean("oidcProviderMetadata",OIDCProviderMetadata.class); DateTime currentDateTime=DateTime.now(); diff --git a/maxkey-protocols/maxkey-protocol-jwt/src/main/java/org/maxkey/authz/jwt/endpoint/adapter/JwtHS256Adapter.java b/maxkey-protocols/maxkey-protocol-jwt/src/main/java/org/maxkey/authz/jwt/endpoint/adapter/JwtHS256Adapter.java index f831e6d7..9eaef06f 100644 --- a/maxkey-protocols/maxkey-protocol-jwt/src/main/java/org/maxkey/authz/jwt/endpoint/adapter/JwtHS256Adapter.java +++ b/maxkey-protocols/maxkey-protocol-jwt/src/main/java/org/maxkey/authz/jwt/endpoint/adapter/JwtHS256Adapter.java @@ -52,7 +52,7 @@ public class JwtHS256Adapter extends AbstractAuthorizeAdapter { public String generateInfo(SigninPrincipal authentication,UserInfo userInfo,Object app) { AppsJwtDetails details=(AppsJwtDetails)app; - OIDCProviderMetadata providerMetadata= (OIDCProviderMetadata)WebContext.getBean("oidcProviderMetadata"); + OIDCProviderMetadata providerMetadata= WebContext.getBean("oidcProviderMetadata",OIDCProviderMetadata.class); DateTime currentDateTime=DateTime.now(); diff --git a/maxkey-protocols/maxkey-protocol-oauth-2.0/src/main/java/org/maxkey/authz/oauth2/provider/endpoint/TokenEndpointAuthenticationFilter.java b/maxkey-protocols/maxkey-protocol-oauth-2.0/src/main/java/org/maxkey/authz/oauth2/provider/endpoint/TokenEndpointAuthenticationFilter.java index d260b95c..c844f699 100644 --- a/maxkey-protocols/maxkey-protocol-oauth-2.0/src/main/java/org/maxkey/authz/oauth2/provider/endpoint/TokenEndpointAuthenticationFilter.java +++ b/maxkey-protocols/maxkey-protocol-oauth-2.0/src/main/java/org/maxkey/authz/oauth2/provider/endpoint/TokenEndpointAuthenticationFilter.java @@ -121,13 +121,13 @@ public class TokenEndpointAuthenticationFilter implements Filter { ServletException { logger.debug("Authentication TokenEndpoint "); if(authenticationManager==null) { - authenticationManager=(AuthenticationManager)WebContext.getBean("oauth20UserAuthenticationManager"); + authenticationManager= WebContext.getBean("oauth20UserAuthenticationManager",AuthenticationManager.class); } if(oAuth2RequestFactory==null) { - oAuth2RequestFactory=(OAuth2RequestFactory)WebContext.getBean("oAuth2RequestFactory"); + oAuth2RequestFactory= WebContext.getBean("oAuth2RequestFactory",OAuth2RequestFactory.class); } if(oauth20ClientAuthenticationManager==null) { - oauth20ClientAuthenticationManager = (AuthenticationManager)WebContext.getBean("oauth20ClientAuthenticationManager"); + oauth20ClientAuthenticationManager = WebContext.getBean("oauth20ClientAuthenticationManager",AuthenticationManager.class); } final boolean debug = logger.isDebugEnabled(); diff --git a/maxkey-protocols/maxkey-protocol-saml-2.0/src/main/java/org/maxkey/authz/saml20/provider/xml/AttributeStatementGenerator.java b/maxkey-protocols/maxkey-protocol-saml-2.0/src/main/java/org/maxkey/authz/saml20/provider/xml/AttributeStatementGenerator.java index 748b14c4..334a2573 100644 --- a/maxkey-protocols/maxkey-protocol-saml-2.0/src/main/java/org/maxkey/authz/saml20/provider/xml/AttributeStatementGenerator.java +++ b/maxkey-protocols/maxkey-protocol-saml-2.0/src/main/java/org/maxkey/authz/saml20/provider/xml/AttributeStatementGenerator.java @@ -79,7 +79,7 @@ public class AttributeStatementGenerator { } logger.debug("ExtendAttr "+saml20Details.getExtendAttr()); - if(Boolean.isTrue(saml20Details.getIsExtendAttr())) { + if(Boolean.isTrue(saml20Details.getIsExtendAttr()) && saml20Details.getExtendAttr() != null) { ExtraAttrs extraAttrs=new ExtraAttrs(saml20Details.getExtendAttr()); for(ExtraAttr extraAttr : extraAttrs.getExtraAttrs()) { logger.debug("Attribute : "+extraAttr.getAttr()+" , Vale : "+extraAttr.getValue()+" , Type : "+extraAttr.getType()); @@ -140,12 +140,19 @@ public class AttributeStatementGenerator { attributeMap.put(ActiveDirectoryUser.MANAGERNAME, userInfo.getManager()); attributeMap.put(ActiveDirectoryUser.DISPLAYNAME, userInfo.getDisplayName()); + + attributeMap.put(ActiveDirectoryUser.FIRSTNAME, userInfo.getGivenName()); + attributeMap.put(ActiveDirectoryUser.LASTNAME, userInfo.getFamilyName()); + attributeMap.put(ActiveDirectoryUser.GIVENNAME, userInfo.getGivenName()); attributeMap.put(ActiveDirectoryUser.SN, userInfo.getFamilyName()); + attributeMap.put(ActiveDirectoryUser.GENDER, userInfo.getGender() + ""); - attributeMap.put(ActiveDirectoryUser.MAIL, userInfo.getEmail()); attributeMap.put(ActiveDirectoryUser.MOBILE, userInfo.getMobile()); + attributeMap.put(ActiveDirectoryUser.MAIL, userInfo.getEmail()); + attributeMap.put(ActiveDirectoryUser.EMAIL, userInfo.getEmail()); + attributeMap.put(ActiveDirectoryUser.USERSTATUS, userInfo.getStatus() + ""); return attributeMap; diff --git a/maxkey-webs/maxkey-web-maxkey/src/main/java/org/maxkey/web/contorller/RegistrationController.java b/maxkey-webs/maxkey-web-maxkey/src/main/java/org/maxkey/web/contorller/RegistrationController.java index 70be05e1..d6714271 100644 --- a/maxkey-webs/maxkey-web-maxkey/src/main/java/org/maxkey/web/contorller/RegistrationController.java +++ b/maxkey-webs/maxkey-web-maxkey/src/main/java/org/maxkey/web/contorller/RegistrationController.java @@ -23,6 +23,8 @@ import javax.servlet.ServletException; import org.apache.commons.mail.DefaultAuthenticator; import org.apache.commons.mail.EmailException; import org.apache.commons.mail.HtmlEmail; +import org.apache.ibatis.session.SqlSession; +import org.apache.ibatis.session.SqlSessionFactory; import org.maxkey.configuration.ApplicationConfig; import org.maxkey.constants.ConstantsStatus; import org.maxkey.crypto.ReciprocalUtils; @@ -35,6 +37,7 @@ import org.maxkey.util.DateUtils; import org.maxkey.util.StringUtils; import org.maxkey.web.WebContext; import org.maxkey.web.message.Message; +import org.mybatis.spring.SqlSessionUtils; import org.slf4j.Logger; import org.slf4j.LoggerFactory; import org.springframework.beans.factory.annotation.Autowired; @@ -52,8 +55,6 @@ import org.springframework.web.servlet.ModelAndView; @Controller @RequestMapping(value={"/registration"}) public class RegistrationController { - - private static Logger _logger = LoggerFactory.getLogger(RegistrationController.class); @Autowired @@ -98,7 +99,10 @@ public class RegistrationController { try { email.setHostName(applicationConfig.getEmailConfig().getSmtpHost()); email.setSmtpPort(applicationConfig.getEmailConfig().getPort()); - email.setAuthenticator(new DefaultAuthenticator(applicationConfig.getEmailConfig().getUsername(), applicationConfig.getEmailConfig().getPassword())); + email.setAuthenticator(new DefaultAuthenticator( + applicationConfig.getEmailConfig().getUsername(), + applicationConfig.getEmailConfig().getPassword() + )); email.addTo(registration.getWorkEmail(), registration.getLastName()+registration.getFirstName()); email.setFrom(applicationConfig.getEmailConfig().getSender(), "MaxKey"); @@ -141,14 +145,17 @@ public class RegistrationController { @RequestMapping(value={"/activate/{id}"}) - public ModelAndView setPassWord(@PathVariable("id") String id,@RequestParam String password,@RequestParam String confirmpassword) { + public ModelAndView setPassWord(@PathVariable("id") String id, + @RequestParam String password, + @RequestParam String confirmpassword) { _logger.debug("Registration /registration/setpassword."); ModelAndView modelAndView=new ModelAndView("registration/activated"); if(password.equals(confirmpassword)){ Registration registration=registrationService.get(id); if(registration!=null){ - org.mybatis.spring.SqlSessionUtils.getSqlSession((org.apache.ibatis.session.SqlSessionFactory)WebContext.getBean("sqlSessionFactory")).commit(false); - + SqlSession sqlSession = SqlSessionUtils.getSqlSession( + WebContext.getBean("sqlSessionFactory",SqlSessionFactory.class)); + sqlSession.commit(false); UserInfo userInfo=new UserInfo(); userInfo.setUsername(registration.getWorkEmail()); @@ -167,7 +174,7 @@ public class RegistrationController { userInfoService.insert(userInfo); registrationService.remove(id); - org.mybatis.spring.SqlSessionUtils.getSqlSession((org.apache.ibatis.session.SqlSessionFactory)WebContext.getBean("sqlSessionFactory")).commit(true); + sqlSession.commit(true); modelAndView.addObject("activate", 1); }else{ modelAndView.addObject("activate", 2); diff --git a/maxkey-webs/maxkey-web-maxkey/src/main/resources/application-http.properties b/maxkey-webs/maxkey-web-maxkey/src/main/resources/application-http.properties index 1707f716..936c3a86 100644 --- a/maxkey-webs/maxkey-web-maxkey/src/main/resources/application-http.properties +++ b/maxkey-webs/maxkey-web-maxkey/src/main/resources/application-http.properties @@ -286,20 +286,15 @@ maxkey.saml.v20.assertion.validity.time.ins.seconds =90 maxkey.saml.v20.replay.cache.life.in.millis =14400000 maxkey.saml.v20.issue.instant.check.clock.skew.in.seconds =90 maxkey.saml.v20.issue.instant.check.validity.time.in.seconds =300 -#saml idp keystore +#saml Identity Provider keystore maxkey.saml.v20.idp.keystore.password =maxkey maxkey.saml.v20.idp.keystore.private.key.password =maxkey maxkey.saml.v20.idp.keystore =classpath\:config/samlServerKeystore.jks -#keystore id for sec +#keystore Identity Provider for security maxkey.saml.v20.idp.issuing.entity.id =maxkey.top maxkey.saml.v20.idp.issuer =${maxkey.server.authz.uri}/saml maxkey.saml.v20.idp.receiver.endpoint =https\://sso.maxkey.top/ -#saml sp keystore -maxkey.saml.v20.sp.keystore.password =maxkey -maxkey.saml.v20.sp.keystore.private.key.password =maxkey -maxkey.saml.v20.sp.keystore =classpath\:config/samlClientKeystore.jks -maxkey.saml.v20.sp.issuing.entity.id =client.maxkey.org -#Saml v20 METADATA +#Saml v20 Identity Provider METADATA maxkey.saml.v20.metadata.orgName =MaxKeyTop maxkey.saml.v20.metadata.orgDisplayName =MaxKeyTop maxkey.saml.v20.metadata.orgURL =https://www.maxkey.top @@ -310,6 +305,12 @@ maxkey.saml.v20.metadata.surName =maxkey maxkey.saml.v20.metadata.emailAddress =maxkeysupport@163.com maxkey.saml.v20.metadata.telephoneNumber =4008981111 +#saml RelayParty keystore +maxkey.saml.v20.sp.keystore.password =maxkey +maxkey.saml.v20.sp.keystore.private.key.password =maxkey +maxkey.saml.v20.sp.keystore =classpath\:config/samlClientKeystore.jks +maxkey.saml.v20.sp.issuing.entity.id =client.maxkey.org + ############################################################################ #Management endpoints configuration # ############################################################################ diff --git a/maxkey-webs/maxkey-web-maxkey/src/main/resources/application-https.properties b/maxkey-webs/maxkey-web-maxkey/src/main/resources/application-https.properties index 99daf2b6..d863936d 100644 --- a/maxkey-webs/maxkey-web-maxkey/src/main/resources/application-https.properties +++ b/maxkey-webs/maxkey-web-maxkey/src/main/resources/application-https.properties @@ -288,20 +288,15 @@ maxkey.saml.v20.assertion.validity.time.ins.seconds =90 maxkey.saml.v20.replay.cache.life.in.millis =14400000 maxkey.saml.v20.issue.instant.check.clock.skew.in.seconds =90 maxkey.saml.v20.issue.instant.check.validity.time.in.seconds =300 -#saml idp keystore +#saml Identity Provider keystore maxkey.saml.v20.idp.keystore.password =maxkey maxkey.saml.v20.idp.keystore.private.key.password =maxkey maxkey.saml.v20.idp.keystore =classpath\:config/samlServerKeystore.jks -#keystore id for sec +#keystore Identity Provider for security maxkey.saml.v20.idp.issuing.entity.id =maxkey.top maxkey.saml.v20.idp.issuer =${maxkey.server.authz.uri}/saml maxkey.saml.v20.idp.receiver.endpoint =https\://sso.maxkey.top/ -#saml sp keystore -maxkey.saml.v20.sp.keystore.password =maxkey -maxkey.saml.v20.sp.keystore.private.key.password =maxkey -maxkey.saml.v20.sp.keystore =classpath\:config/samlClientKeystore.jks -maxkey.saml.v20.sp.issuing.entity.id =client.maxkey.org -#Saml v20 METADATA +#Saml v20 Identity Provider METADATA maxkey.saml.v20.metadata.orgName =MaxKeyTop maxkey.saml.v20.metadata.orgDisplayName =MaxKeyTop maxkey.saml.v20.metadata.orgURL =https://www.maxkey.top @@ -312,6 +307,12 @@ maxkey.saml.v20.metadata.surName =maxkey maxkey.saml.v20.metadata.emailAddress =maxkeysupport@163.com maxkey.saml.v20.metadata.telephoneNumber =4008981111 +#saml RelayParty keystore +maxkey.saml.v20.sp.keystore.password =maxkey +maxkey.saml.v20.sp.keystore.private.key.password =maxkey +maxkey.saml.v20.sp.keystore =classpath\:config/samlClientKeystore.jks +maxkey.saml.v20.sp.issuing.entity.id =client.maxkey.org + ############################################################################ #Management endpoints configuration # ############################################################################ diff --git a/maxkey-webs/maxkey-web-mgt/src/main/java/org/maxkey/web/contorller/SynchronizersController.java b/maxkey-webs/maxkey-web-mgt/src/main/java/org/maxkey/web/contorller/SynchronizersController.java index 79ea26fe..2e06ab88 100644 --- a/maxkey-webs/maxkey-web-mgt/src/main/java/org/maxkey/web/contorller/SynchronizersController.java +++ b/maxkey-webs/maxkey-web-mgt/src/main/java/org/maxkey/web/contorller/SynchronizersController.java @@ -111,7 +111,7 @@ public class SynchronizersController { for(String sysId : ids) { Synchronizers synchronizer = synchronizersService.get(sysId); _logger.debug("synchronizer " + synchronizer); - ISynchronizerService synchronizerService = (ISynchronizerService)WebContext.getBean(synchronizer.getService()); + ISynchronizerService synchronizerService = WebContext.getBean(synchronizer.getService(),ISynchronizerService.class); synchronizerService.setSynchronizer(synchronizer); synchronizerService.sync(); } diff --git a/maxkey-webs/maxkey-web-mgt/src/main/resources/application-http.properties b/maxkey-webs/maxkey-web-mgt/src/main/resources/application-http.properties index 252a1b3a..c86ca884 100644 --- a/maxkey-webs/maxkey-web-mgt/src/main/resources/application-http.properties +++ b/maxkey-webs/maxkey-web-mgt/src/main/resources/application-http.properties @@ -30,7 +30,7 @@ maxkey.server.scheme =http maxkey.server.basedomain =${SERVER_DOMAIN:maxkey.top} maxkey.server.domain =sso.${maxkey.server.basedomain} maxkey.server.name =${maxkey.server.scheme}://${maxkey.server.domain} -maxkey.server.uri =${maxkey.server.name}:9527/${server.servlet.context-path} +maxkey.server.uri =${maxkey.server.name}:9527${server.servlet.context-path} #default.uri maxkey.server.default.uri =${maxkey.server.uri}/main maxkey.server.mgt.uri =${maxkey.server.uri} @@ -178,20 +178,15 @@ maxkey.saml.v20.assertion.validity.time.ins.seconds =90 maxkey.saml.v20.replay.cache.life.in.millis =14400000 maxkey.saml.v20.issue.instant.check.clock.skew.in.seconds =90 maxkey.saml.v20.issue.instant.check.validity.time.in.seconds =300 -#saml idp keystore +#saml Identity Provider keystore maxkey.saml.v20.idp.keystore.password =maxkey maxkey.saml.v20.idp.keystore.private.key.password =maxkey maxkey.saml.v20.idp.keystore =classpath\:config/samlServerKeystore.jks -#keystore id for sec +#keystore Identity Provider for security maxkey.saml.v20.idp.issuing.entity.id =maxkey.top maxkey.saml.v20.idp.issuer =${maxkey.server.authz.uri}/saml maxkey.saml.v20.idp.receiver.endpoint =https\://sso.maxkey.top/ -#saml sp keystore -maxkey.saml.v20.sp.keystore.password =maxkey -maxkey.saml.v20.sp.keystore.private.key.password =maxkey -maxkey.saml.v20.sp.keystore =classpath\:config/samlClientKeystore.jks -maxkey.saml.v20.sp.issuing.entity.id =client.maxkey.org -#Saml v20 METADATA +#Saml v20 Identity Provider METADATA maxkey.saml.v20.metadata.orgName =MaxKeyTop maxkey.saml.v20.metadata.orgDisplayName =MaxKeyTop maxkey.saml.v20.metadata.orgURL =https://www.maxkey.top @@ -202,6 +197,11 @@ maxkey.saml.v20.metadata.surName =maxkey maxkey.saml.v20.metadata.emailAddress =maxkeysupport@163.com maxkey.saml.v20.metadata.telephoneNumber =4008981111 +#saml RelayParty keystore +maxkey.saml.v20.sp.keystore.password =maxkey +maxkey.saml.v20.sp.keystore.private.key.password =maxkey +maxkey.saml.v20.sp.keystore =classpath\:config/samlClientKeystore.jks +maxkey.saml.v20.sp.issuing.entity.id =client.maxkey.org ############################################################################# #OIDC V1.0 METADATA configuration #