mirror of
https://gitee.com/dromara/MaxKey.git
synced 2026-05-14 04:22:08 +08:00
大量代码调整和优化
This commit is contained in:
@@ -21,7 +21,7 @@ import org.dromara.maxkey.constants.ConstsPersistence;
|
||||
import org.dromara.maxkey.password.onetimepwd.MailOtpAuthnService;
|
||||
import org.dromara.maxkey.password.onetimepwd.token.RedisOtpTokenStore;
|
||||
import org.dromara.maxkey.persistence.redis.RedisConnectionFactory;
|
||||
import org.dromara.maxkey.persistence.service.EmailSendersService;
|
||||
import org.dromara.maxkey.persistence.service.CnfEmailSendersService;
|
||||
import org.slf4j.Logger;
|
||||
import org.slf4j.LoggerFactory;
|
||||
import org.springframework.beans.factory.annotation.Value;
|
||||
@@ -38,7 +38,7 @@ public class OneTimePasswordAutoConfiguration {
|
||||
@Bean(name = "mailOtpAuthnService")
|
||||
public MailOtpAuthnService mailOtpAuthnService(
|
||||
@Value("${maxkey.server.persistence}") int persistence,
|
||||
EmailSendersService emailSendersService,
|
||||
CnfEmailSendersService emailSendersService,
|
||||
RedisConnectionFactory redisConnFactory) {
|
||||
MailOtpAuthnService otpAuthnService =
|
||||
new MailOtpAuthnService(emailSendersService);
|
||||
|
||||
@@ -17,7 +17,7 @@
|
||||
|
||||
package org.dromara.maxkey.password.onetimepwd;
|
||||
|
||||
import org.dromara.maxkey.entity.UserInfo;
|
||||
import org.dromara.maxkey.entity.idm.UserInfo;
|
||||
import org.dromara.maxkey.password.onetimepwd.token.AbstractOtpTokenStore;
|
||||
import org.dromara.maxkey.password.onetimepwd.token.InMemoryOtpTokenStore;
|
||||
import org.dromara.maxkey.util.StringGenerator;
|
||||
|
||||
@@ -23,10 +23,10 @@ import java.util.concurrent.TimeUnit;
|
||||
import org.dromara.maxkey.configuration.EmailConfig;
|
||||
import org.dromara.maxkey.constants.ConstsBoolean;
|
||||
import org.dromara.maxkey.crypto.password.PasswordReciprocal;
|
||||
import org.dromara.maxkey.entity.EmailSenders;
|
||||
import org.dromara.maxkey.entity.cnf.CnfEmailSenders;
|
||||
import org.dromara.maxkey.password.onetimepwd.impl.MailOtpAuthn;
|
||||
import org.dromara.maxkey.password.onetimepwd.token.RedisOtpTokenStore;
|
||||
import org.dromara.maxkey.persistence.service.EmailSendersService;
|
||||
import org.dromara.maxkey.persistence.service.CnfEmailSendersService;
|
||||
|
||||
import com.github.benmanes.caffeine.cache.Cache;
|
||||
import com.github.benmanes.caffeine.cache.Caffeine;
|
||||
@@ -38,11 +38,11 @@ public class MailOtpAuthnService {
|
||||
.expireAfterWrite(60, TimeUnit.MINUTES)
|
||||
.build();
|
||||
|
||||
EmailSendersService emailSendersService;
|
||||
CnfEmailSendersService emailSendersService;
|
||||
|
||||
RedisOtpTokenStore redisOptTokenStore;
|
||||
|
||||
public MailOtpAuthnService(EmailSendersService emailSendersService) {
|
||||
public MailOtpAuthnService(CnfEmailSendersService emailSendersService) {
|
||||
this.emailSendersService = emailSendersService;
|
||||
}
|
||||
|
||||
@@ -54,7 +54,7 @@ public class MailOtpAuthnService {
|
||||
public AbstractOtpAuthn getMailOtpAuthn(String instId) {
|
||||
AbstractOtpAuthn otpAuthn = otpAuthnStore.getIfPresent(instId);
|
||||
if(otpAuthn == null) {
|
||||
EmailSenders emailSender =
|
||||
CnfEmailSenders emailSender =
|
||||
emailSendersService.findOne("where instid = ? ", new Object[]{instId}, new int[]{Types.VARCHAR});
|
||||
|
||||
String credentials = PasswordReciprocal.getInstance().decoder(emailSender.getCredentials());
|
||||
|
||||
@@ -17,7 +17,7 @@
|
||||
|
||||
package org.dromara.maxkey.password.onetimepwd.impl;
|
||||
|
||||
import org.dromara.maxkey.entity.UserInfo;
|
||||
import org.dromara.maxkey.entity.idm.UserInfo;
|
||||
import org.dromara.maxkey.password.onetimepwd.AbstractOtpAuthn;
|
||||
|
||||
/**
|
||||
|
||||
@@ -19,7 +19,7 @@ package org.dromara.maxkey.password.onetimepwd.impl;
|
||||
|
||||
import org.apache.commons.codec.binary.Hex;
|
||||
import org.dromara.maxkey.crypto.Base32Utils;
|
||||
import org.dromara.maxkey.entity.UserInfo;
|
||||
import org.dromara.maxkey.entity.idm.UserInfo;
|
||||
import org.dromara.maxkey.password.onetimepwd.AbstractOtpAuthn;
|
||||
import org.dromara.maxkey.password.onetimepwd.algorithm.TimeBasedOTP;
|
||||
import org.slf4j.Logger;
|
||||
|
||||
@@ -21,7 +21,7 @@ import java.security.InvalidKeyException;
|
||||
import java.security.NoSuchAlgorithmException;
|
||||
|
||||
import org.dromara.maxkey.crypto.Base32Utils;
|
||||
import org.dromara.maxkey.entity.UserInfo;
|
||||
import org.dromara.maxkey.entity.idm.UserInfo;
|
||||
import org.dromara.maxkey.password.onetimepwd.AbstractOtpAuthn;
|
||||
import org.dromara.maxkey.password.onetimepwd.algorithm.HOTP;
|
||||
import org.slf4j.Logger;
|
||||
|
||||
@@ -21,7 +21,7 @@ import java.text.MessageFormat;
|
||||
import java.util.Properties;
|
||||
|
||||
import org.dromara.maxkey.configuration.EmailConfig;
|
||||
import org.dromara.maxkey.entity.UserInfo;
|
||||
import org.dromara.maxkey.entity.idm.UserInfo;
|
||||
import org.dromara.maxkey.password.onetimepwd.AbstractOtpAuthn;
|
||||
import org.slf4j.Logger;
|
||||
import org.slf4j.LoggerFactory;
|
||||
|
||||
@@ -17,7 +17,7 @@
|
||||
|
||||
package org.dromara.maxkey.password.onetimepwd.impl;
|
||||
|
||||
import org.dromara.maxkey.entity.UserInfo;
|
||||
import org.dromara.maxkey.entity.idm.UserInfo;
|
||||
import org.dromara.maxkey.password.onetimepwd.AbstractOtpAuthn;
|
||||
|
||||
public class MobileOtpAuthn extends AbstractOtpAuthn {
|
||||
|
||||
@@ -17,7 +17,7 @@
|
||||
|
||||
package org.dromara.maxkey.password.onetimepwd.impl;
|
||||
|
||||
import org.dromara.maxkey.entity.UserInfo;
|
||||
import org.dromara.maxkey.entity.idm.UserInfo;
|
||||
import org.dromara.maxkey.password.onetimepwd.AbstractOtpAuthn;
|
||||
|
||||
/**
|
||||
|
||||
@@ -24,7 +24,7 @@ import java.util.TimeZone;
|
||||
import org.apache.commons.codec.binary.Hex;
|
||||
import org.dromara.maxkey.crypto.Base32Utils;
|
||||
import org.dromara.maxkey.crypto.password.PasswordReciprocal;
|
||||
import org.dromara.maxkey.entity.UserInfo;
|
||||
import org.dromara.maxkey.entity.idm.UserInfo;
|
||||
import org.dromara.maxkey.password.onetimepwd.AbstractOtpAuthn;
|
||||
import org.dromara.maxkey.password.onetimepwd.algorithm.TimeBasedOTP;
|
||||
import org.slf4j.Logger;
|
||||
|
||||
@@ -17,7 +17,7 @@
|
||||
|
||||
package org.dromara.maxkey.password.onetimepwd.token;
|
||||
|
||||
import org.dromara.maxkey.entity.UserInfo;
|
||||
import org.dromara.maxkey.entity.idm.UserInfo;
|
||||
|
||||
public abstract class AbstractOtpTokenStore {
|
||||
|
||||
|
||||
@@ -19,7 +19,7 @@ package org.dromara.maxkey.password.onetimepwd.token;
|
||||
|
||||
import java.util.concurrent.TimeUnit;
|
||||
|
||||
import org.dromara.maxkey.entity.UserInfo;
|
||||
import org.dromara.maxkey.entity.idm.UserInfo;
|
||||
import org.dromara.maxkey.password.onetimepwd.OneTimePassword;
|
||||
import org.joda.time.DateTime;
|
||||
import org.joda.time.Duration;
|
||||
@@ -61,8 +61,8 @@ public class InMemoryOtpTokenStore extends AbstractOtpTokenStore {
|
||||
DateTimeFormat.forPattern("yyyy-MM-dd HH:mm:ss"));
|
||||
Duration duration = new Duration(oneCreateTime, currentdateTime);
|
||||
int intDuration = Integer.parseInt(duration.getStandardSeconds() + "");
|
||||
logger.debug("validate duration " + intDuration);
|
||||
logger.debug("validate result " + (intDuration <= interval));
|
||||
logger.debug("validate duration {}" , intDuration);
|
||||
logger.debug("validate result {}" , (intDuration <= interval));
|
||||
if (intDuration <= interval) {
|
||||
return true;
|
||||
}
|
||||
|
||||
@@ -18,7 +18,7 @@
|
||||
package org.dromara.maxkey.password.onetimepwd.token;
|
||||
|
||||
import org.dromara.maxkey.constants.ConstsTimeInterval;
|
||||
import org.dromara.maxkey.entity.UserInfo;
|
||||
import org.dromara.maxkey.entity.idm.UserInfo;
|
||||
import org.dromara.maxkey.password.onetimepwd.OneTimePassword;
|
||||
import org.dromara.maxkey.persistence.redis.RedisConnection;
|
||||
import org.dromara.maxkey.persistence.redis.RedisConnectionFactory;
|
||||
@@ -35,7 +35,7 @@ public class RedisOtpTokenStore extends AbstractOtpTokenStore {
|
||||
this.connectionFactory = connectionFactory;
|
||||
}
|
||||
|
||||
public static String PREFIX = "REDIS_OTP_SERVICE_";
|
||||
public static final String PREFIX = "REDIS_OTP_SERVICE_";
|
||||
|
||||
@Override
|
||||
public void store(UserInfo userInfo, String token, String receiver, String type) {
|
||||
@@ -59,10 +59,7 @@ public class RedisOtpTokenStore extends AbstractOtpTokenStore {
|
||||
PREFIX + userInfo.getUsername() + "_" + type + "_" + token);
|
||||
// conn.delete(PREFIX + userInfo.getUsername() + "_" + type + "_" + token);
|
||||
conn.close();
|
||||
if (otp != null) {
|
||||
return true;
|
||||
}
|
||||
return false;
|
||||
return (otp != null) ;
|
||||
}
|
||||
|
||||
}
|
||||
|
||||
@@ -21,8 +21,8 @@ import org.dromara.maxkey.constants.ConstsPersistence;
|
||||
import org.dromara.maxkey.password.onetimepwd.token.RedisOtpTokenStore;
|
||||
import org.dromara.maxkey.password.sms.SmsOtpAuthnService;
|
||||
import org.dromara.maxkey.persistence.redis.RedisConnectionFactory;
|
||||
import org.dromara.maxkey.persistence.service.EmailSendersService;
|
||||
import org.dromara.maxkey.persistence.service.SmsProviderService;
|
||||
import org.dromara.maxkey.persistence.service.CnfEmailSendersService;
|
||||
import org.dromara.maxkey.persistence.service.CnfSmsProviderService;
|
||||
import org.slf4j.Logger;
|
||||
import org.slf4j.LoggerFactory;
|
||||
import org.springframework.beans.factory.annotation.Value;
|
||||
@@ -38,8 +38,8 @@ public class SmsAutoConfiguration {
|
||||
@Bean(name = "smsOtpAuthnService")
|
||||
public SmsOtpAuthnService smsOtpAuthnService(
|
||||
@Value("${maxkey.server.persistence}") int persistence,
|
||||
SmsProviderService smsProviderService,
|
||||
EmailSendersService emailSendersService,
|
||||
CnfSmsProviderService smsProviderService,
|
||||
CnfEmailSendersService emailSendersService,
|
||||
RedisConnectionFactory redisConnFactory) {
|
||||
SmsOtpAuthnService smsOtpAuthnService =
|
||||
new SmsOtpAuthnService(smsProviderService,emailSendersService);
|
||||
|
||||
@@ -19,7 +19,7 @@ package org.dromara.maxkey.password.sms;
|
||||
|
||||
import java.io.IOException;
|
||||
|
||||
import org.dromara.maxkey.entity.UserInfo;
|
||||
import org.dromara.maxkey.entity.idm.UserInfo;
|
||||
import org.dromara.maxkey.password.onetimepwd.AbstractOtpAuthn;
|
||||
import org.slf4j.Logger;
|
||||
import org.slf4j.LoggerFactory;
|
||||
|
||||
@@ -23,16 +23,16 @@ import java.util.concurrent.TimeUnit;
|
||||
import org.dromara.maxkey.configuration.EmailConfig;
|
||||
import org.dromara.maxkey.constants.ConstsBoolean;
|
||||
import org.dromara.maxkey.crypto.password.PasswordReciprocal;
|
||||
import org.dromara.maxkey.entity.EmailSenders;
|
||||
import org.dromara.maxkey.entity.SmsProvider;
|
||||
import org.dromara.maxkey.entity.cnf.CnfEmailSenders;
|
||||
import org.dromara.maxkey.entity.cnf.CnfSmsProvider;
|
||||
import org.dromara.maxkey.password.onetimepwd.AbstractOtpAuthn;
|
||||
import org.dromara.maxkey.password.onetimepwd.impl.MailOtpAuthn;
|
||||
import org.dromara.maxkey.password.onetimepwd.token.RedisOtpTokenStore;
|
||||
import org.dromara.maxkey.password.sms.impl.SmsOtpAuthnAliyun;
|
||||
import org.dromara.maxkey.password.sms.impl.SmsOtpAuthnTencentCloud;
|
||||
import org.dromara.maxkey.password.sms.impl.SmsOtpAuthnYunxin;
|
||||
import org.dromara.maxkey.persistence.service.EmailSendersService;
|
||||
import org.dromara.maxkey.persistence.service.SmsProviderService;
|
||||
import org.dromara.maxkey.persistence.service.CnfEmailSendersService;
|
||||
import org.dromara.maxkey.persistence.service.CnfSmsProviderService;
|
||||
|
||||
import com.github.benmanes.caffeine.cache.Cache;
|
||||
import com.github.benmanes.caffeine.cache.Caffeine;
|
||||
@@ -44,18 +44,18 @@ public class SmsOtpAuthnService {
|
||||
.expireAfterWrite(60, TimeUnit.MINUTES)
|
||||
.build();
|
||||
|
||||
SmsProviderService smsProviderService;
|
||||
CnfSmsProviderService smsProviderService;
|
||||
|
||||
EmailSendersService emailSendersService;
|
||||
CnfEmailSendersService emailSendersService;
|
||||
|
||||
RedisOtpTokenStore redisOptTokenStore;
|
||||
|
||||
public SmsOtpAuthnService(SmsProviderService smsProviderService, EmailSendersService emailSendersService) {
|
||||
public SmsOtpAuthnService(CnfSmsProviderService smsProviderService, CnfEmailSendersService emailSendersService) {
|
||||
this.smsProviderService = smsProviderService;
|
||||
this.emailSendersService = emailSendersService;
|
||||
}
|
||||
|
||||
public SmsOtpAuthnService(SmsProviderService smsProviderService,EmailSendersService emailSendersService,RedisOtpTokenStore redisOptTokenStore) {
|
||||
public SmsOtpAuthnService(CnfSmsProviderService smsProviderService,CnfEmailSendersService emailSendersService,RedisOtpTokenStore redisOptTokenStore) {
|
||||
this.smsProviderService = smsProviderService;
|
||||
this.emailSendersService = emailSendersService;
|
||||
this.redisOptTokenStore = redisOptTokenStore;
|
||||
@@ -64,7 +64,7 @@ public class SmsOtpAuthnService {
|
||||
public AbstractOtpAuthn getByInstId(String instId) {
|
||||
AbstractOtpAuthn otpAuthn = smsAuthnStore.getIfPresent(instId);
|
||||
if(otpAuthn == null) {
|
||||
SmsProvider smsProvider =
|
||||
CnfSmsProvider smsProvider =
|
||||
smsProviderService.findOne("where instid = ? ", new Object[]{instId}, new int[]{Types.VARCHAR});
|
||||
if(smsProvider != null ) {
|
||||
|
||||
@@ -102,7 +102,7 @@ public class SmsOtpAuthnService {
|
||||
}
|
||||
otpAuthn = yunxin;
|
||||
}else if(smsProvider.getProvider().equalsIgnoreCase("email")) {
|
||||
EmailSenders emailSender =
|
||||
CnfEmailSenders emailSender =
|
||||
emailSendersService.findOne("where instid = ? ", new Object[]{instId}, new int[]{Types.VARCHAR});
|
||||
|
||||
String credentials = PasswordReciprocal.getInstance().decoder(emailSender.getCredentials());
|
||||
|
||||
@@ -24,7 +24,7 @@ import com.aliyuncs.IAcsClient;
|
||||
import com.aliyuncs.http.MethodType;
|
||||
import com.aliyuncs.profile.DefaultProfile;
|
||||
|
||||
import org.dromara.maxkey.entity.UserInfo;
|
||||
import org.dromara.maxkey.entity.idm.UserInfo;
|
||||
import org.dromara.maxkey.password.sms.SmsOtpAuthn;
|
||||
import org.slf4j.Logger;
|
||||
import org.slf4j.LoggerFactory;
|
||||
|
||||
@@ -24,7 +24,7 @@ import com.tencentcloudapi.sms.v20190711.SmsClient;
|
||||
import com.tencentcloudapi.sms.v20190711.models.SendSmsRequest;
|
||||
import com.tencentcloudapi.sms.v20190711.models.SendSmsResponse;
|
||||
|
||||
import org.dromara.maxkey.entity.UserInfo;
|
||||
import org.dromara.maxkey.entity.idm.UserInfo;
|
||||
import org.dromara.maxkey.password.sms.SmsOtpAuthn;
|
||||
import org.slf4j.Logger;
|
||||
import org.slf4j.LoggerFactory;
|
||||
|
||||
@@ -29,7 +29,7 @@ import org.apache.http.client.methods.HttpPost;
|
||||
import org.apache.http.impl.client.HttpClientBuilder;
|
||||
import org.apache.http.message.BasicNameValuePair;
|
||||
import org.apache.http.util.EntityUtils;
|
||||
import org.dromara.maxkey.entity.UserInfo;
|
||||
import org.dromara.maxkey.entity.idm.UserInfo;
|
||||
import org.dromara.maxkey.password.sms.SmsOtpAuthn;
|
||||
import org.dromara.maxkey.util.JsonUtils;
|
||||
import org.dromara.maxkey.util.StringGenerator;
|
||||
|
||||
@@ -35,7 +35,6 @@ import org.dromara.maxkey.persistence.cache.MomentaryService;
|
||||
import org.dromara.maxkey.persistence.cache.RedisMomentaryService;
|
||||
import org.dromara.maxkey.persistence.redis.RedisConnectionFactory;
|
||||
import org.dromara.maxkey.persistence.repository.InstitutionsRepository;
|
||||
import org.dromara.maxkey.persistence.repository.LocalizationRepository;
|
||||
import org.dromara.maxkey.util.IdGenerator;
|
||||
import org.dromara.maxkey.util.SnowFlakeId;
|
||||
import org.dromara.maxkey.web.WebContext;
|
||||
@@ -73,12 +72,6 @@ public class ApplicationAutoConfiguration {
|
||||
return new InstitutionsRepository(jdbcTemplate);
|
||||
}
|
||||
|
||||
@Bean
|
||||
public LocalizationRepository localizationRepository(JdbcTemplate jdbcTemplate,
|
||||
InstitutionsRepository institutionsRepository) {
|
||||
return new LocalizationRepository(jdbcTemplate,institutionsRepository);
|
||||
}
|
||||
|
||||
/**
|
||||
* Authentication Password Encoder .
|
||||
* @return
|
||||
|
||||
Reference in New Issue
Block a user