feat: share oauth access token with svelte via LocalStorage component
This commit is contained in:
@@ -0,0 +1,19 @@
|
||||
<script lang="ts">
|
||||
let { set, remove }: { set: any; remove: any } = $props();
|
||||
|
||||
$effect(() => {
|
||||
const toSet = Object.entries(set);
|
||||
|
||||
for (const [key, value] of toSet) {
|
||||
localStorage.setItem(key, JSON.stringify(value));
|
||||
}
|
||||
});
|
||||
|
||||
$effect(() => {
|
||||
const toRemove = Object.entries(remove);
|
||||
|
||||
for (const [key] of toRemove) {
|
||||
localStorage.removeItem(key);
|
||||
}
|
||||
});
|
||||
</script>
|
||||
@@ -1,5 +1,6 @@
|
||||
---
|
||||
import CSRF from "csrf";
|
||||
import LocalStorage from "../../../components/LocalStorage.svelte";
|
||||
|
||||
const code = Astro.url.searchParams.get("code");
|
||||
if (code === null) {
|
||||
@@ -37,6 +38,6 @@ const accessToken = await fetch(oauth2Token, {
|
||||
body: params,
|
||||
headers: { "Content-Type": "application/x-www-form-urlencoded" },
|
||||
}).then((res) => res.json());
|
||||
|
||||
console.log(accessToken);
|
||||
---
|
||||
|
||||
<LocalStorage set={{ oauth2: accessToken }} client:load />
|
||||
|
||||
Reference in New Issue
Block a user