mirror of
https://github.com/TriliumNext/Notes.git
synced 2025-10-09 15:31:34 +08:00
32 lines
641 B
TypeScript
32 lines
641 B
TypeScript
![]() |
'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
|
||
|
};
|