aboutsummaryrefslogtreecommitdiffstats
path: root/src/routes/(app)/otpsecret
diff options
context:
space:
mode:
authorAdam Soltys <[email protected]>2022-11-08 02:22:18 -0800
committerAdam Soltys <[email protected]>2022-11-08 02:22:18 -0800
commit545c5a016eba8128d4ade02aa506b8821a00a38c (patch)
treed7c50889e01d2f2eea705491ed99d5904889c72a /src/routes/(app)/otpsecret
parent9af5497ee3b36db7ff1ed1fec3ae2b5eaecca220 (diff)
downloadcoinos-ui-545c5a016eba8128d4ade02aa506b8821a00a38c.tar.gz
coinos-ui-545c5a016eba8128d4ade02aa506b8821a00a38c.zip
fix 2fa
Diffstat (limited to 'src/routes/(app)/otpsecret')
-rw-r--r--src/routes/(app)/otpsecret/+server.js8
1 files changed, 8 insertions, 0 deletions
diff --git a/src/routes/(app)/otpsecret/+server.js b/src/routes/(app)/otpsecret/+server.js
new file mode 100644
index 00000000..8dec7778
--- /dev/null
+++ b/src/routes/(app)/otpsecret/+server.js
@@ -0,0 +1,8 @@
+import { auth, post } from '$lib/utils';
+import Qr from 'qrcode-base64';
+
+export async function POST({ cookies, locals, request }) {
+ let { secret } = await post('/otpsecret', await request.json(), auth(cookies));
+ let uri = `otpauth://totp/coinos:${locals.user.username}?secret=${secret}&period=30&digits=6&algorithm=SHA1&issuer=coinos`;
+ return new Response(JSON.stringify({ secret, uri, qr: Qr.drawImg(uri, { size: 600 }) }));
+}