style: add eslint and prettier
This commit is contained in:
@ -5,49 +5,60 @@
|
||||
import { getAuthURL, getOIDCUser } from "$lib/services/oidc";
|
||||
import * as Avatar from "$lib/components/ui/avatar";
|
||||
|
||||
let user: any = $state(null);
|
||||
interface OIDCUser {
|
||||
sub: string;
|
||||
preferred_username: string;
|
||||
name?: string;
|
||||
picture?: string;
|
||||
}
|
||||
|
||||
let user: OIDCUser | null = $state(null);
|
||||
|
||||
onMount(() => {
|
||||
if(!localStorage.getItem("lnv-token")) {
|
||||
if (!localStorage.getItem("lnv-token")) {
|
||||
user = null;
|
||||
} else {
|
||||
user = JSON.parse(atob((localStorage.getItem("lnv-id") || "").split(".")[1]));
|
||||
user = JSON.parse(
|
||||
atob((localStorage.getItem("lnv-id") || "").split(".")[1]),
|
||||
);
|
||||
}
|
||||
})
|
||||
});
|
||||
</script>
|
||||
|
||||
{#if !user}
|
||||
<SidebarHeader>
|
||||
User
|
||||
</SidebarHeader>
|
||||
<SidebarHeader>User</SidebarHeader>
|
||||
|
||||
<Button onclick={async () => {
|
||||
const auth = await getAuthURL();
|
||||
// localStorage.setItem("lnv-codeVerifier", auth.codeVerifier);
|
||||
// localStorage.setItem("lnv-oidcstate", auth.state);
|
||||
const popup = window.open(auth.url, "Login", "width=500,height=600");
|
||||
window.addEventListener("message", async (e) => {
|
||||
if(e.origin !== window.location.origin) return;
|
||||
<Button
|
||||
onclick={async () => {
|
||||
const auth = await getAuthURL();
|
||||
// localStorage.setItem("lnv-codeVerifier", auth.codeVerifier);
|
||||
// localStorage.setItem("lnv-oidcstate", auth.state);
|
||||
const popup = window.open(auth.url, "Login", "width=500,height=600");
|
||||
window.addEventListener("message", async (e) => {
|
||||
if (e.origin !== window.location.origin) return;
|
||||
|
||||
const { code, state } = e.data;
|
||||
console.log("Received data from popup:", e.data);
|
||||
if(!code || !state) {
|
||||
console.error("Invalid response from popup");
|
||||
return;
|
||||
}
|
||||
popup?.close();
|
||||
if(state !== auth.state) {
|
||||
alert("State mismatch. Please try again.");
|
||||
return;
|
||||
}
|
||||
const { code, state } = e.data;
|
||||
console.log("Received data from popup:", e.data);
|
||||
if (!code || !state) {
|
||||
console.error("Invalid response from popup");
|
||||
return;
|
||||
}
|
||||
popup?.close();
|
||||
if (state !== auth.state) {
|
||||
alert("State mismatch. Please try again.");
|
||||
return;
|
||||
}
|
||||
|
||||
const token = await getOIDCUser(code, auth.codeVerifier);
|
||||
localStorage.setItem("lnv-id", token.id_token);
|
||||
localStorage.setItem("lnv-token", token.access_token);
|
||||
localStorage.setItem("lnv-refresh", token.refresh_token);
|
||||
user = JSON.parse(atob((localStorage.getItem("lnv-id") || "").split(".")[1]));
|
||||
})
|
||||
}}>Login</Button>
|
||||
const token = await getOIDCUser(code, auth.codeVerifier);
|
||||
localStorage.setItem("lnv-id", token.id_token);
|
||||
localStorage.setItem("lnv-token", token.access_token);
|
||||
localStorage.setItem("lnv-refresh", token.refresh_token);
|
||||
user = JSON.parse(
|
||||
atob((localStorage.getItem("lnv-id") || "").split(".")[1]),
|
||||
);
|
||||
});
|
||||
}}>Login</Button
|
||||
>
|
||||
{:else}
|
||||
<SidebarHeader>
|
||||
<Avatar.Root>
|
||||
@ -58,4 +69,4 @@
|
||||
</SidebarHeader>
|
||||
<pre>{user.sub}</pre>
|
||||
{JSON.stringify(user, null, 2)}
|
||||
{/if}
|
||||
{/if}
|
||||
|
||||
Reference in New Issue
Block a user