13 | Redirecting... 14 |
15 | 16 | -------------------------------------------------------------------------------- /src/runtime/composables/useFirebaseFunctions.ts: -------------------------------------------------------------------------------- 1 | import { type Functions } from 'firebase/functions' 2 | import { useNuxtApp } from '#imports' 3 | 4 | export const useFirebaseFunctions = (): Functions => { 5 | const { $firebaseFunctions } = useNuxtApp() 6 | return $firebaseFunctions 7 | } 8 | -------------------------------------------------------------------------------- /playground/server/api/me.ts: -------------------------------------------------------------------------------- 1 | import { serverFirebaseUser } from '#firebase/server' 2 | export default defineEventHandler(async (event) => { 3 | const user = await serverFirebaseUser(event) 4 | 5 | if (!user) { 6 | event.res.statusCode = 400 7 | return 'Must be signed in' 8 | } 9 | 10 | return user 11 | }) 12 | -------------------------------------------------------------------------------- /src/runtime/composables/useFirebaseToken.ts: -------------------------------------------------------------------------------- 1 | import { useCookie, useRuntimeConfig } from '#imports' 2 | 3 | export const useFirebaseToken = () => { 4 | const { firebase: { cookies: cookieOptions } } = useRuntimeConfig().public 5 | const cookieName = `${cookieOptions.name}-access-token` 6 | 7 | return useCookie(cookieName) 8 | } 9 | -------------------------------------------------------------------------------- /demo/package.json: -------------------------------------------------------------------------------- 1 | { 2 | "private": true, 3 | "scripts": { 4 | "build": "nuxt build", 5 | "dev": "nuxt dev", 6 | "generate": "nuxt generate", 7 | "preview": "nuxt preview", 8 | "postinstall": "nuxt prepare" 9 | }, 10 | "devDependencies": { 11 | "@oswld/nuxt-firebase": "0.3.1", 12 | "nuxt": "3.0.0-rc.12" 13 | }, 14 | "dependencies": { 15 | "firebase": "^9.12.1", 16 | "firebase-admin": "^11.2.0" 17 | } 18 | } 19 | -------------------------------------------------------------------------------- /src/runtime/composables/useFirebaseUser.ts: -------------------------------------------------------------------------------- 1 | import type { Ref } from 'vue' 2 | import { User } from 'firebase/auth' 3 | import { useFirebaseToken } from './useFirebaseToken' 4 | import { useState } from '#imports' 5 | 6 | export const useFirebaseUser = (): Ref
13 | {{ userFromServer }}
14 |
15 |
16 |
19 |
10 | {{ userFromServer }}
11 |
12 |
15 |
16 | {{ dataFromServer }}
17 |
18 |
19 |
22 |