diff options
| author | Adam Soltys <[email protected]> | 2025-01-10 22:18:08 -0800 |
|---|---|---|
| committer | Adam Soltys <[email protected]> | 2025-01-10 22:18:08 -0800 |
| commit | d1c66a57288261763e40e4bec53823a7eafbee4d (patch) | |
| tree | 152b4de6ad3d3eb48d08781ef6b5a73b5642bc7f /src/routes/(static) | |
| parent | 978d287e2f20e218288070583be21ccc5062d639 (diff) | |
| download | coinos-ui-d1c66a57288261763e40e4bec53823a7eafbee4d.tar.gz coinos-ui-d1c66a57288261763e40e4bec53823a7eafbee4d.zip | |
store nsec on registration
Diffstat (limited to 'src/routes/(static)')
| -rw-r--r-- | src/routes/(static)/login/+page.svelte | 4 | ||||
| -rw-r--r-- | src/routes/(static)/register/+page.server.ts | 12 | ||||
| -rw-r--r-- | src/routes/(static)/register/+page.svelte | 5 |
3 files changed, 16 insertions, 5 deletions
diff --git a/src/routes/(static)/login/+page.svelte b/src/routes/(static)/login/+page.svelte index e4dcbf15..e9c238c4 100644 --- a/src/routes/(static)/login/+page.svelte +++ b/src/routes/(static)/login/+page.svelte @@ -17,7 +17,7 @@ let { data, form } = $props(); - page.subscribe(async () => { + onMount(() => { if (browser) { setTimeout(() => { password.set(undefined); @@ -25,7 +25,7 @@ signer.set(undefined); localStorage.clear(); sessionStorage.clear(); - }, 500); + }, 50); } }); diff --git a/src/routes/(static)/register/+page.server.ts b/src/routes/(static)/register/+page.server.ts index 2e5c5f19..2c2807bd 100644 --- a/src/routes/(static)/register/+page.server.ts +++ b/src/routes/(static)/register/+page.server.ts @@ -22,8 +22,9 @@ export const actions = { if (loginRedirect === "undefined") loginRedirect = undefined; + let sk; try { - await post("/register", { user }, { "cf-connecting-ip": ip }); + ({ sk } = await post("/register", { user }, { "cf-connecting-ip": ip })); } catch (e) { ({ message: error } = e as Error); } @@ -36,6 +37,15 @@ export const actions = { error ||= message; } + const expires = new Date(); + expires.setSeconds(expires.getSeconds() + 21000000); + cookies.set("sk", sk, { + path: "/", + expires, + httpOnly: false, + sameSite: "lax", + }); + if (error) return fail(400, { error }); redirect(303, loginRedirect || `/${user.username}`); }, diff --git a/src/routes/(static)/register/+page.svelte b/src/routes/(static)/register/+page.svelte index 468b322a..45c7c06f 100644 --- a/src/routes/(static)/register/+page.svelte +++ b/src/routes/(static)/register/+page.svelte @@ -1,4 +1,5 @@ <script> + import { onMount } from "svelte"; import { browser } from "$app/environment"; import punks from "$lib/punks"; import { upload } from "$lib/upload"; @@ -28,7 +29,7 @@ let { form, data } = $props(); let { challenge } = $derived(data); - page.subscribe(async () => { + onMount(() => { if (browser) { setTimeout(() => { password.set(undefined); @@ -36,7 +37,7 @@ signer.set(undefined); localStorage.clear(); sessionStorage.clear(); - }, 500); + }, 50); } }); |
