aboutsummaryrefslogtreecommitdiffstats
path: root/src/routes/(app)/otpsecret/+server.js
diff options
context:
space:
mode:
Diffstat (limited to 'src/routes/(app)/otpsecret/+server.js')
-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 }) }));
+}