Notes/src/services/totp.ts

32 lines
641 B
TypeScript
Raw Normal View History

2024-09-07 10:21:41 -07:00
'use strict';
import {Totp} from 'time2fa';
function getTotpSecret() {
return process.env.TOTP_SECRET;
}
function checkForTotSecret() {
if (process.env.TOTP_SECRET !== undefined) return true;
else return false;
}
function validateTOTP(guessedPasscode: string) {
if (process.env.TOTP_SECRET === undefined) return false;
try {
const valid = Totp.validate({
passcode: guessedPasscode,
secret: process.env.TOTP_SECRET.trim()
});
return valid;
} catch (e) {
return false;
}
}
export default {
getTotpSecret,
checkForTotSecret,
validateTOTP
};