Cleanup - unused files / unused exports / duplicate exports
[ProtonMail-WebClient.git] / packages / shared / lib / helpers / twofa.ts
blob3edeb382d9ad75e562cd4bf1796c60559b3f7ce7
1 import { base32 } from '@scure/base';
3 export const generateSharedSecret = (length = 20) => {
4     const randomBytes = crypto.getRandomValues(new Uint8Array(length));
5     return base32.encode(randomBytes);
6 };
8 interface GetUriArguments {
9     identifier: string;
10     sharedSecret: string;
11     issuer?: string;
12     digits?: number;
13     algorithm?: string;
14     period?: number;
17 export const getUri = ({
18     identifier,
19     sharedSecret,
20     issuer = 'ProtonMail',
21     digits = 6,
22     algorithm = 'SHA1',
23     period = 30,
24 }: GetUriArguments) => {
25     return `otpauth://totp/${identifier}?secret=${sharedSecret}&issuer=${issuer}&algorithm=${algorithm}&digits=${digits}&period=${period}`;