mirror of
https://gitee.com/dromara/MaxKey.git
synced 2025-12-07 09:28:49 +08:00
onetimepwd
This commit is contained in:
parent
99a4fd879c
commit
101fd1c70b
@ -22,12 +22,12 @@ import java.util.HashMap;
|
||||
|
||||
import org.maxkey.authn.online.OnlineTicketServices;
|
||||
import org.maxkey.authn.realm.AbstractAuthenticationRealm;
|
||||
import org.maxkey.authn.support.onetimepwd.AbstractOtpAuthn;
|
||||
import org.maxkey.authn.support.rememberme.AbstractRemeberMeService;
|
||||
import org.maxkey.configuration.ApplicationConfig;
|
||||
import org.maxkey.constants.ConstantsLoginType;
|
||||
import org.maxkey.crypto.password.PasswordReciprocal;
|
||||
import org.maxkey.domain.UserInfo;
|
||||
import org.maxkey.onetimepwd.AbstractOtpAuthn;
|
||||
import org.maxkey.web.WebConstants;
|
||||
import org.maxkey.web.WebContext;
|
||||
import org.slf4j.Logger;
|
||||
|
||||
@ -22,10 +22,10 @@ import java.util.ArrayList;
|
||||
import org.maxkey.authn.online.OnlineTicket;
|
||||
import org.maxkey.authn.online.OnlineTicketServices;
|
||||
import org.maxkey.authn.realm.AbstractAuthenticationRealm;
|
||||
import org.maxkey.authn.support.onetimepwd.AbstractOtpAuthn;
|
||||
import org.maxkey.authn.support.rememberme.AbstractRemeberMeService;
|
||||
import org.maxkey.configuration.ApplicationConfig;
|
||||
import org.maxkey.domain.UserInfo;
|
||||
import org.maxkey.onetimepwd.AbstractOtpAuthn;
|
||||
import org.maxkey.web.WebConstants;
|
||||
import org.maxkey.web.WebContext;
|
||||
import org.slf4j.Logger;
|
||||
|
||||
@ -27,7 +27,6 @@ import org.maxkey.authn.online.InMemoryOnlineTicketServices;
|
||||
import org.maxkey.authn.online.OnlineTicketServices;
|
||||
import org.maxkey.authn.online.RedisOnlineTicketServices;
|
||||
import org.maxkey.authn.realm.AbstractAuthenticationRealm;
|
||||
import org.maxkey.authn.support.onetimepwd.AbstractOtpAuthn;
|
||||
import org.maxkey.authn.support.rememberme.AbstractRemeberMeService;
|
||||
import org.maxkey.authn.support.rememberme.InMemoryRemeberMeService;
|
||||
import org.maxkey.authn.support.rememberme.RedisRemeberMeService;
|
||||
@ -40,6 +39,7 @@ import org.maxkey.crypto.password.NoOpPasswordEncoder;
|
||||
import org.maxkey.crypto.password.MessageDigestPasswordEncoder;
|
||||
import org.maxkey.crypto.password.SM3PasswordEncoder;
|
||||
import org.maxkey.crypto.password.StandardPasswordEncoder;
|
||||
import org.maxkey.onetimepwd.AbstractOtpAuthn;
|
||||
import org.maxkey.persistence.db.PasswordPolicyValidator;
|
||||
import org.maxkey.persistence.redis.RedisConnectionFactory;
|
||||
import org.slf4j.Logger;
|
||||
|
||||
@ -15,11 +15,11 @@
|
||||
*/
|
||||
|
||||
|
||||
package org.maxkey.authn.support.onetimepwd;
|
||||
package org.maxkey.onetimepwd;
|
||||
|
||||
import org.maxkey.authn.support.onetimepwd.token.AbstractOtpTokenStore;
|
||||
import org.maxkey.authn.support.onetimepwd.token.InMemoryOtpTokenStore;
|
||||
import org.maxkey.domain.UserInfo;
|
||||
import org.maxkey.onetimepwd.token.AbstractOtpTokenStore;
|
||||
import org.maxkey.onetimepwd.token.InMemoryOtpTokenStore;
|
||||
import org.maxkey.util.StringGenerator;
|
||||
import org.slf4j.Logger;
|
||||
import org.slf4j.LoggerFactory;
|
||||
@ -15,7 +15,7 @@
|
||||
*/
|
||||
|
||||
|
||||
package org.maxkey.authn.support.onetimepwd;
|
||||
package org.maxkey.onetimepwd;
|
||||
|
||||
import java.io.Serializable;
|
||||
|
||||
@ -15,7 +15,7 @@
|
||||
*/
|
||||
|
||||
|
||||
package org.maxkey.authn.support.onetimepwd.algorithm;
|
||||
package org.maxkey.onetimepwd.algorithm;
|
||||
|
||||
import java.security.InvalidKeyException;
|
||||
import java.security.NoSuchAlgorithmException;
|
||||
@ -15,7 +15,7 @@
|
||||
*/
|
||||
|
||||
|
||||
package org.maxkey.authn.support.onetimepwd.algorithm;
|
||||
package org.maxkey.onetimepwd.algorithm;
|
||||
|
||||
import java.security.InvalidKeyException;
|
||||
import java.security.NoSuchAlgorithmException;
|
||||
@ -15,7 +15,7 @@
|
||||
*/
|
||||
|
||||
|
||||
package org.maxkey.authn.support.onetimepwd.algorithm;
|
||||
package org.maxkey.onetimepwd.algorithm;
|
||||
|
||||
public class KeyUriFormat {
|
||||
|
||||
@ -15,7 +15,7 @@
|
||||
*/
|
||||
|
||||
|
||||
package org.maxkey.authn.support.onetimepwd.algorithm;
|
||||
package org.maxkey.onetimepwd.algorithm;
|
||||
|
||||
import java.util.Arrays;
|
||||
import java.util.Random;
|
||||
@ -15,7 +15,7 @@
|
||||
*/
|
||||
|
||||
|
||||
package org.maxkey.authn.support.onetimepwd.algorithm;
|
||||
package org.maxkey.onetimepwd.algorithm;
|
||||
|
||||
import java.lang.reflect.UndeclaredThrowableException;
|
||||
import java.math.BigInteger;
|
||||
@ -15,10 +15,10 @@
|
||||
*/
|
||||
|
||||
|
||||
package org.maxkey.authn.support.onetimepwd.impl;
|
||||
package org.maxkey.onetimepwd.impl;
|
||||
|
||||
import org.maxkey.authn.support.onetimepwd.AbstractOtpAuthn;
|
||||
import org.maxkey.domain.UserInfo;
|
||||
import org.maxkey.onetimepwd.AbstractOtpAuthn;
|
||||
|
||||
/**
|
||||
* Chip Authentication Program EMV stands for Europay, MasterCard and Visa, a
|
||||
@ -15,13 +15,13 @@
|
||||
*/
|
||||
|
||||
|
||||
package org.maxkey.authn.support.onetimepwd.impl;
|
||||
package org.maxkey.onetimepwd.impl;
|
||||
|
||||
import org.apache.commons.codec.binary.Hex;
|
||||
import org.maxkey.authn.support.onetimepwd.AbstractOtpAuthn;
|
||||
import org.maxkey.authn.support.onetimepwd.algorithm.TimeBasedOTP;
|
||||
import org.maxkey.crypto.Base32Utils;
|
||||
import org.maxkey.domain.UserInfo;
|
||||
import org.maxkey.onetimepwd.AbstractOtpAuthn;
|
||||
import org.maxkey.onetimepwd.algorithm.TimeBasedOTP;
|
||||
import org.slf4j.Logger;
|
||||
import org.slf4j.LoggerFactory;
|
||||
|
||||
@ -15,15 +15,15 @@
|
||||
*/
|
||||
|
||||
|
||||
package org.maxkey.authn.support.onetimepwd.impl;
|
||||
package org.maxkey.onetimepwd.impl;
|
||||
|
||||
import java.security.InvalidKeyException;
|
||||
import java.security.NoSuchAlgorithmException;
|
||||
|
||||
import org.maxkey.authn.support.onetimepwd.AbstractOtpAuthn;
|
||||
import org.maxkey.authn.support.onetimepwd.algorithm.HOTP;
|
||||
import org.maxkey.crypto.Base32Utils;
|
||||
import org.maxkey.domain.UserInfo;
|
||||
import org.maxkey.onetimepwd.AbstractOtpAuthn;
|
||||
import org.maxkey.onetimepwd.algorithm.HOTP;
|
||||
import org.slf4j.Logger;
|
||||
import org.slf4j.LoggerFactory;
|
||||
|
||||
@ -15,15 +15,15 @@
|
||||
*/
|
||||
|
||||
|
||||
package org.maxkey.authn.support.onetimepwd.impl;
|
||||
package org.maxkey.onetimepwd.impl;
|
||||
|
||||
import java.text.MessageFormat;
|
||||
import org.apache.commons.mail.DefaultAuthenticator;
|
||||
import org.apache.commons.mail.Email;
|
||||
import org.apache.commons.mail.SimpleEmail;
|
||||
import org.maxkey.authn.support.onetimepwd.AbstractOtpAuthn;
|
||||
import org.maxkey.configuration.EmailConfig;
|
||||
import org.maxkey.domain.UserInfo;
|
||||
import org.maxkey.onetimepwd.AbstractOtpAuthn;
|
||||
import org.slf4j.Logger;
|
||||
import org.slf4j.LoggerFactory;
|
||||
import org.springframework.beans.factory.annotation.Autowired;
|
||||
@ -15,10 +15,10 @@
|
||||
*/
|
||||
|
||||
|
||||
package org.maxkey.authn.support.onetimepwd.impl;
|
||||
package org.maxkey.onetimepwd.impl;
|
||||
|
||||
import org.maxkey.authn.support.onetimepwd.AbstractOtpAuthn;
|
||||
import org.maxkey.domain.UserInfo;
|
||||
import org.maxkey.onetimepwd.AbstractOtpAuthn;
|
||||
|
||||
public class MobileOtpAuthn extends AbstractOtpAuthn {
|
||||
|
||||
@ -15,10 +15,10 @@
|
||||
*/
|
||||
|
||||
|
||||
package org.maxkey.authn.support.onetimepwd.impl;
|
||||
package org.maxkey.onetimepwd.impl;
|
||||
|
||||
import org.maxkey.authn.support.onetimepwd.AbstractOtpAuthn;
|
||||
import org.maxkey.domain.UserInfo;
|
||||
import org.maxkey.onetimepwd.AbstractOtpAuthn;
|
||||
|
||||
/**
|
||||
* Chip Authentication Program EMV stands for Europay, MasterCard and Visa, a
|
||||
@ -15,14 +15,14 @@
|
||||
*/
|
||||
|
||||
|
||||
package org.maxkey.authn.support.onetimepwd.impl;
|
||||
package org.maxkey.onetimepwd.impl;
|
||||
|
||||
import java.io.IOException;
|
||||
import java.util.Properties;
|
||||
|
||||
import org.maxkey.authn.support.onetimepwd.AbstractOtpAuthn;
|
||||
import org.maxkey.constants.ConstantsProperties;
|
||||
import org.maxkey.domain.UserInfo;
|
||||
import org.maxkey.onetimepwd.AbstractOtpAuthn;
|
||||
import org.slf4j.Logger;
|
||||
import org.slf4j.LoggerFactory;
|
||||
import org.springframework.core.io.ClassPathResource;
|
||||
@ -15,17 +15,17 @@
|
||||
*/
|
||||
|
||||
|
||||
package org.maxkey.authn.support.onetimepwd.impl;
|
||||
package org.maxkey.onetimepwd.impl;
|
||||
|
||||
import java.text.DateFormat;
|
||||
import java.text.SimpleDateFormat;
|
||||
import java.util.Date;
|
||||
import java.util.TimeZone;
|
||||
import org.apache.commons.codec.binary.Hex;
|
||||
import org.maxkey.authn.support.onetimepwd.AbstractOtpAuthn;
|
||||
import org.maxkey.authn.support.onetimepwd.algorithm.TimeBasedOTP;
|
||||
import org.maxkey.crypto.Base32Utils;
|
||||
import org.maxkey.domain.UserInfo;
|
||||
import org.maxkey.onetimepwd.AbstractOtpAuthn;
|
||||
import org.maxkey.onetimepwd.algorithm.TimeBasedOTP;
|
||||
import org.slf4j.Logger;
|
||||
import org.slf4j.LoggerFactory;
|
||||
|
||||
@ -15,7 +15,7 @@
|
||||
*/
|
||||
|
||||
|
||||
package org.maxkey.authn.support.onetimepwd.impl.sms;
|
||||
package org.maxkey.onetimepwd.impl.sms;
|
||||
|
||||
import com.aliyuncs.CommonRequest;
|
||||
import com.aliyuncs.CommonResponse;
|
||||
@ -26,8 +26,8 @@ import com.aliyuncs.profile.DefaultProfile;
|
||||
|
||||
import java.io.IOException;
|
||||
|
||||
import org.maxkey.authn.support.onetimepwd.impl.SmsOtpAuthn;
|
||||
import org.maxkey.domain.UserInfo;
|
||||
import org.maxkey.onetimepwd.impl.SmsOtpAuthn;
|
||||
import org.slf4j.Logger;
|
||||
import org.slf4j.LoggerFactory;
|
||||
|
||||
@ -15,7 +15,7 @@
|
||||
*/
|
||||
|
||||
|
||||
package org.maxkey.authn.support.onetimepwd.impl.sms;
|
||||
package org.maxkey.onetimepwd.impl.sms;
|
||||
|
||||
import com.tencentcloudapi.common.Credential;
|
||||
import com.tencentcloudapi.common.profile.ClientProfile;
|
||||
@ -26,8 +26,8 @@ import com.tencentcloudapi.sms.v20190711.models.SendSmsResponse;
|
||||
|
||||
import java.io.IOException;
|
||||
|
||||
import org.maxkey.authn.support.onetimepwd.impl.SmsOtpAuthn;
|
||||
import org.maxkey.domain.UserInfo;
|
||||
import org.maxkey.onetimepwd.impl.SmsOtpAuthn;
|
||||
import org.slf4j.Logger;
|
||||
import org.slf4j.LoggerFactory;
|
||||
|
||||
@ -15,7 +15,7 @@
|
||||
*/
|
||||
|
||||
|
||||
package org.maxkey.authn.support.onetimepwd.impl.sms;
|
||||
package org.maxkey.onetimepwd.impl.sms;
|
||||
|
||||
import java.io.IOException;
|
||||
import java.util.ArrayList;
|
||||
@ -29,8 +29,8 @@ 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.maxkey.authn.support.onetimepwd.impl.SmsOtpAuthn;
|
||||
import org.maxkey.domain.UserInfo;
|
||||
import org.maxkey.onetimepwd.impl.SmsOtpAuthn;
|
||||
import org.maxkey.util.JsonUtils;
|
||||
import org.maxkey.util.StringGenerator;
|
||||
import org.slf4j.Logger;
|
||||
@ -15,7 +15,7 @@
|
||||
*/
|
||||
|
||||
|
||||
package org.maxkey.authn.support.onetimepwd.impl.sms;
|
||||
package org.maxkey.onetimepwd.impl.sms;
|
||||
|
||||
import java.security.MessageDigest;
|
||||
|
||||
@ -15,7 +15,7 @@
|
||||
*/
|
||||
|
||||
|
||||
package org.maxkey.authn.support.onetimepwd.token;
|
||||
package org.maxkey.onetimepwd.token;
|
||||
|
||||
import org.maxkey.domain.UserInfo;
|
||||
|
||||
@ -15,7 +15,7 @@
|
||||
*/
|
||||
|
||||
|
||||
package org.maxkey.authn.support.onetimepwd.token;
|
||||
package org.maxkey.onetimepwd.token;
|
||||
|
||||
import org.ehcache.UserManagedCache;
|
||||
import org.ehcache.config.builders.ExpiryPolicyBuilder;
|
||||
@ -23,9 +23,9 @@ import org.ehcache.config.builders.UserManagedCacheBuilder;
|
||||
import org.joda.time.DateTime;
|
||||
import org.joda.time.Duration;
|
||||
import org.joda.time.format.DateTimeFormat;
|
||||
import org.maxkey.authn.support.onetimepwd.OneTimePassword;
|
||||
import org.maxkey.constants.ConstantsTimeInterval;
|
||||
import org.maxkey.domain.UserInfo;
|
||||
import org.maxkey.onetimepwd.OneTimePassword;
|
||||
import org.slf4j.Logger;
|
||||
import org.slf4j.LoggerFactory;
|
||||
|
||||
@ -15,12 +15,12 @@
|
||||
*/
|
||||
|
||||
|
||||
package org.maxkey.authn.support.onetimepwd.token;
|
||||
package org.maxkey.onetimepwd.token;
|
||||
|
||||
import org.joda.time.DateTime;
|
||||
import org.maxkey.authn.support.onetimepwd.OneTimePassword;
|
||||
import org.maxkey.constants.ConstantsTimeInterval;
|
||||
import org.maxkey.domain.UserInfo;
|
||||
import org.maxkey.onetimepwd.OneTimePassword;
|
||||
import org.maxkey.persistence.redis.RedisConnection;
|
||||
import org.maxkey.persistence.redis.RedisConnectionFactory;
|
||||
|
||||
@ -21,9 +21,9 @@ package org.maxkey.otp.algorithm;
|
||||
import java.security.InvalidKeyException;
|
||||
import java.security.NoSuchAlgorithmException;
|
||||
|
||||
import org.maxkey.authn.support.onetimepwd.algorithm.HOTP;
|
||||
import org.maxkey.authn.support.onetimepwd.algorithm.HmacOTP;
|
||||
import org.maxkey.crypto.Base32Utils;
|
||||
import org.maxkey.onetimepwd.algorithm.HOTP;
|
||||
import org.maxkey.onetimepwd.algorithm.HmacOTP;
|
||||
|
||||
|
||||
public class HmacOTPTest {
|
||||
|
||||
@ -19,7 +19,7 @@ package org.maxkey.otp.algorithm;
|
||||
|
||||
import java.io.File;
|
||||
|
||||
import org.maxkey.authn.support.onetimepwd.algorithm.KeyUriFormat;
|
||||
import org.maxkey.onetimepwd.algorithm.KeyUriFormat;
|
||||
import org.maxkey.util.QRCode;
|
||||
|
||||
import com.google.zxing.BarcodeFormat;
|
||||
|
||||
@ -24,9 +24,9 @@ import java.util.Date;
|
||||
import java.util.TimeZone;
|
||||
|
||||
import org.apache.commons.codec.binary.Hex;
|
||||
import org.maxkey.authn.support.onetimepwd.algorithm.TimeBasedOTP;
|
||||
import org.maxkey.crypto.Base32Utils;
|
||||
import org.maxkey.crypto.HexUtils;
|
||||
import org.maxkey.onetimepwd.algorithm.TimeBasedOTP;
|
||||
/**
|
||||
* goole
|
||||
* @author Crystal.Sea
|
||||
|
||||
@ -26,6 +26,7 @@ import org.maxkey.authz.oauth2.provider.token.store.JdbcTokenStore;
|
||||
import org.maxkey.authz.oauth2.provider.token.store.RedisTokenStore;
|
||||
import org.maxkey.constants.ConstantsProperties;
|
||||
import org.maxkey.jobs.DynamicGroupsJob;
|
||||
import org.maxkey.onetimepwd.impl.TimeBasedOtpAuthn;
|
||||
import org.maxkey.persistence.db.LoginHistoryService;
|
||||
import org.maxkey.persistence.db.LoginService;
|
||||
import org.maxkey.persistence.db.PasswordPolicyValidator;
|
||||
@ -41,7 +42,6 @@ import org.quartz.Scheduler;
|
||||
import org.quartz.SchedulerException;
|
||||
import org.quartz.TriggerBuilder;
|
||||
import org.maxkey.authn.realm.jdbc.JdbcAuthenticationRealm;
|
||||
import org.maxkey.authn.support.onetimepwd.impl.TimeBasedOtpAuthn;
|
||||
import org.maxkey.authn.support.rememberme.AbstractRemeberMeService;
|
||||
import org.slf4j.Logger;
|
||||
import org.slf4j.LoggerFactory;
|
||||
|
||||
@ -27,18 +27,18 @@ import org.maxkey.authn.realm.activedirectory.ActiveDirectoryAuthenticationRealm
|
||||
import org.maxkey.authn.realm.activedirectory.ActiveDirectoryServer;
|
||||
import org.maxkey.authn.support.kerberos.KerberosProxy;
|
||||
import org.maxkey.authn.support.kerberos.RemoteKerberosService;
|
||||
import org.maxkey.authn.support.onetimepwd.AbstractOtpAuthn;
|
||||
import org.maxkey.authn.support.onetimepwd.algorithm.KeyUriFormat;
|
||||
import org.maxkey.authn.support.onetimepwd.impl.MailOtpAuthn;
|
||||
import org.maxkey.authn.support.onetimepwd.impl.SmsOtpAuthn;
|
||||
import org.maxkey.authn.support.onetimepwd.impl.TimeBasedOtpAuthn;
|
||||
import org.maxkey.authn.support.onetimepwd.impl.sms.SmsOtpAuthnAliyun;
|
||||
import org.maxkey.authn.support.onetimepwd.impl.sms.SmsOtpAuthnTencentCloud;
|
||||
import org.maxkey.authn.support.onetimepwd.impl.sms.SmsOtpAuthnYunxin;
|
||||
import org.maxkey.authn.support.onetimepwd.token.RedisOtpTokenStore;
|
||||
import org.maxkey.authn.support.rememberme.AbstractRemeberMeService;
|
||||
import org.maxkey.constants.ConstantsPersistence;
|
||||
import org.maxkey.constants.ConstantsProperties;
|
||||
import org.maxkey.onetimepwd.AbstractOtpAuthn;
|
||||
import org.maxkey.onetimepwd.algorithm.KeyUriFormat;
|
||||
import org.maxkey.onetimepwd.impl.MailOtpAuthn;
|
||||
import org.maxkey.onetimepwd.impl.SmsOtpAuthn;
|
||||
import org.maxkey.onetimepwd.impl.TimeBasedOtpAuthn;
|
||||
import org.maxkey.onetimepwd.impl.sms.SmsOtpAuthnAliyun;
|
||||
import org.maxkey.onetimepwd.impl.sms.SmsOtpAuthnTencentCloud;
|
||||
import org.maxkey.onetimepwd.impl.sms.SmsOtpAuthnYunxin;
|
||||
import org.maxkey.onetimepwd.token.RedisOtpTokenStore;
|
||||
import org.maxkey.persistence.db.LoginHistoryService;
|
||||
import org.maxkey.persistence.db.LoginService;
|
||||
import org.maxkey.persistence.db.PasswordPolicyValidator;
|
||||
|
||||
@ -20,8 +20,8 @@ package org.maxkey.web.contorller;
|
||||
import java.util.regex.Matcher;
|
||||
import java.util.regex.Pattern;
|
||||
|
||||
import org.maxkey.authn.support.onetimepwd.AbstractOtpAuthn;
|
||||
import org.maxkey.domain.UserInfo;
|
||||
import org.maxkey.onetimepwd.AbstractOtpAuthn;
|
||||
import org.maxkey.persistence.service.UserInfoService;
|
||||
import org.maxkey.web.WebConstants;
|
||||
import org.maxkey.web.WebContext;
|
||||
|
||||
@ -20,11 +20,11 @@ package org.maxkey.web.contorller;
|
||||
import java.awt.image.BufferedImage;
|
||||
import java.util.UUID;
|
||||
import org.apache.commons.codec.binary.Hex;
|
||||
import org.maxkey.authn.support.onetimepwd.algorithm.KeyUriFormat;
|
||||
import org.maxkey.authn.support.onetimepwd.algorithm.OtpSecret;
|
||||
import org.maxkey.crypto.Base32Utils;
|
||||
import org.maxkey.crypto.password.PasswordReciprocal;
|
||||
import org.maxkey.domain.UserInfo;
|
||||
import org.maxkey.onetimepwd.algorithm.KeyUriFormat;
|
||||
import org.maxkey.onetimepwd.algorithm.OtpSecret;
|
||||
import org.maxkey.persistence.service.UserInfoService;
|
||||
import org.maxkey.util.RQCodeUtils;
|
||||
import org.maxkey.web.WebContext;
|
||||
|
||||
@ -27,13 +27,13 @@ import javax.servlet.http.HttpServletResponse;
|
||||
import org.maxkey.authn.AbstractAuthenticationProvider;
|
||||
import org.maxkey.authn.LoginCredential;
|
||||
import org.maxkey.authn.support.kerberos.KerberosService;
|
||||
import org.maxkey.authn.support.onetimepwd.AbstractOtpAuthn;
|
||||
import org.maxkey.authn.support.rememberme.AbstractRemeberMeService;
|
||||
import org.maxkey.authn.support.socialsignon.service.SocialSignOnProviderService;
|
||||
import org.maxkey.authn.support.wsfederation.WsFederationConstants;
|
||||
import org.maxkey.configuration.ApplicationConfig;
|
||||
import org.maxkey.constants.ConstantsStatus;
|
||||
import org.maxkey.domain.UserInfo;
|
||||
import org.maxkey.onetimepwd.AbstractOtpAuthn;
|
||||
import org.maxkey.persistence.service.UserInfoService;
|
||||
import org.maxkey.util.StringUtils;
|
||||
import org.maxkey.web.WebConstants;
|
||||
|
||||
Loading…
x
Reference in New Issue
Block a user