Skip to content

Commit e8d6e9f

Browse files
committed
feat(auth): improve auth plugin
1 parent a94077e commit e8d6e9f

1 file changed

Lines changed: 13 additions & 7 deletions

File tree

src/runtime/plugins/edgedb-auth.ts

Lines changed: 13 additions & 7 deletions
Original file line numberDiff line numberDiff line change
@@ -8,17 +8,21 @@ export default defineNuxtPlugin(async (nuxtApp) => {
88
const cookie = useCookie('edgedb-auth-token')
99

1010
const updateIdentity = async (event?: H3Event) => {
11-
if (!cookie.value)
12-
return
13-
if (process.server && event) {
14-
const req = getRequestURL(event)
15-
const url = `${req.protocol}//${req.host}/api/auth/identity`
16-
identity.value = await fetchWithEvent(event, url).then(r => r.json())
11+
if (!process.server) {
12+
identity.value = await $fetch('/api/auth/identity')
1713
return
1814
}
19-
identity.value = await $fetch('/api/auth/identity')
15+
16+
if (!cookie.value)
17+
return
18+
19+
const req = getRequestURL(event)
20+
const url = `${req.protocol}//${req.host}/api/auth/identity`
21+
identity.value = await fetchWithEvent(event, url).then(r => r.json())
2022
}
2123

24+
const isLoggedIn = computed(() => !!((identity as Ref<User>)?.value))
25+
2226
const logout = async (redirectTo: string) => {
2327
await $fetch('/api/auth/logout')
2428
identity.value = undefined
@@ -28,12 +32,14 @@ export default defineNuxtPlugin(async (nuxtApp) => {
2832

2933
if (process.server) {
3034
const event = nuxtApp?.ssrContext?.event
35+
3136
if (event)
3237
await updateIdentity(event)
3338
}
3439

3540
return {
3641
provide: {
42+
edgeDbIsLoggedIn: isLoggedIn,
3743
edgeDbCookie: cookie,
3844
edgeDbIdentity: identity,
3945
edgeDbUpdateIdentity: updateIdentity,

0 commit comments

Comments
 (0)