Package tv.hd3g.authkit.mod.service
Class TOTPServiceImpl
java.lang.Object
tv.hd3g.authkit.mod.service.TOTPServiceImpl
- All Implemented Interfaces:
TOTPService
-
Field Summary
Fields -
Constructor Summary
Constructors -
Method Summary
Modifier and TypeMethodDescriptionvoidcheckCode(Credential credential, String stringCode) booleanisCodeIsValid(byte[] secret, String code) static StringmakeCodeAtTime(byte[] secret, long timeMillis, int timeStepSeconds) See https://github.com/j256/two-factor-auth/blob/master/src/main/java/com/j256/twofactorauth/TimeBasedOneTimePasswordUtil.javamakeQRCode(URI url) voidremoveTOTP(Credential credential) voidsetupTOTP(String base32Secret, Collection<String> backupCodes, String userUUID)
-
Field Details
-
base32
public static final org.apache.commons.codec.binary.Base32 base32
-
-
Constructor Details
-
TOTPServiceImpl
public TOTPServiceImpl()
-
-
Method Details
-
makeSecret
- Specified by:
makeSecretin interfaceTOTPService- Returns:
- base32 coded
-
makeURI
- Specified by:
makeURIin interfaceTOTPService
-
makeQRCode
- Specified by:
makeQRCodein interfaceTOTPService- Returns:
- base64 coded
-
makeBackupCodes
- Specified by:
makeBackupCodesin interfaceTOTPService
-
setupTOTP
@Transactional(readOnly=false) public void setupTOTP(String base32Secret, Collection<String> backupCodes, String userUUID) - Specified by:
setupTOTPin interfaceTOTPService
-
isCodeIsValid
- Specified by:
isCodeIsValidin interfaceTOTPService
-
checkCode
@Transactional(readOnly=false) public void checkCode(Credential credential, String stringCode) throws UserCantLoginException.BadTOTPCodeCantLoginException - Specified by:
checkCodein interfaceTOTPService- Throws:
UserCantLoginException.BadTOTPCodeCantLoginException
-
removeTOTP
- Specified by:
removeTOTPin interfaceTOTPService
-
makeCodeAtTime
public static String makeCodeAtTime(byte[] secret, long timeMillis, int timeStepSeconds) throws GeneralSecurityException See https://github.com/j256/two-factor-auth/blob/master/src/main/java/com/j256/twofactorauth/TimeBasedOneTimePasswordUtil.java- Throws:
GeneralSecurityException
-