Sanitize the secret
This commit is contained in:
parent
92c2247aa1
commit
824c6d769b
2 changed files with 9 additions and 3 deletions
|
@ -1,3 +1,5 @@
|
|||
import 'package:ente_auth/utils/totp_util.dart';
|
||||
|
||||
class Code {
|
||||
static const defaultDigits = 6;
|
||||
static const defaultPeriod = 30;
|
||||
|
@ -51,7 +53,7 @@ class Code {
|
|||
_getIssuer(uri),
|
||||
_getDigits(uri),
|
||||
_getPeriod(uri),
|
||||
uri.queryParameters['secret']!,
|
||||
getSanitizedSecret(uri.queryParameters['secret']!),
|
||||
_getAlgorithm(uri),
|
||||
_getType(uri),
|
||||
rawData,
|
||||
|
|
|
@ -3,7 +3,7 @@ import 'package:otp/otp.dart' as otp;
|
|||
|
||||
String getTotp(Code code) {
|
||||
return otp.OTP.generateTOTPCodeString(
|
||||
code.secret,
|
||||
getSanitizedSecret(code.secret),
|
||||
DateTime.now().millisecondsSinceEpoch,
|
||||
length: code.digits,
|
||||
interval: code.period,
|
||||
|
@ -14,7 +14,7 @@ String getTotp(Code code) {
|
|||
|
||||
String getNextTotp(Code code) {
|
||||
return otp.OTP.generateTOTPCodeString(
|
||||
code.secret,
|
||||
getSanitizedSecret(code.secret),
|
||||
DateTime.now().millisecondsSinceEpoch + code.period * 1000,
|
||||
length: code.digits,
|
||||
interval: code.period,
|
||||
|
@ -33,3 +33,7 @@ otp.Algorithm _getAlgorithm(Code code) {
|
|||
return otp.Algorithm.SHA1;
|
||||
}
|
||||
}
|
||||
|
||||
String getSanitizedSecret(String secret) {
|
||||
return secret.toUpperCase().trim();
|
||||
}
|
||||
|
|
Loading…
Add table
Reference in a new issue