fix(auth): log real Firebase error + add NUXT_FIREBASE_API_KEY to docker-compose
This commit is contained in:
@@ -23,10 +23,19 @@ export default defineEventHandler(async (event) => {
|
||||
throw createError({ statusCode: 500, message: 'Firebase API key not configured' })
|
||||
}
|
||||
|
||||
const verifyRes = await $fetch<any>(
|
||||
`https://identitytoolkit.googleapis.com/v1/accounts:lookup?key=${apiKey}`,
|
||||
{ method: 'POST', body: { idToken } }
|
||||
).catch(() => null)
|
||||
console.log('[Auth] Received idToken, length:', idToken?.length || 0)
|
||||
console.log('[Auth] Using API key (masked):', apiKey ? `${apiKey.slice(0, 6)}...${apiKey.slice(-4)}` : 'EMPTY')
|
||||
|
||||
let verifyRes: any
|
||||
try {
|
||||
verifyRes = await $fetch<any>(
|
||||
`https://identitytoolkit.googleapis.com/v1/accounts:lookup?key=${apiKey}`,
|
||||
{ method: 'POST', body: { idToken } }
|
||||
)
|
||||
} catch (err: any) {
|
||||
console.error('[Auth] Firebase token verification failed:', err?.data || err?.message || err)
|
||||
throw createError({ statusCode: 401, message: 'Invalid Firebase token' })
|
||||
}
|
||||
|
||||
if (!verifyRes?.users?.[0]) {
|
||||
throw createError({ statusCode: 401, message: 'Invalid Firebase token' })
|
||||
|
||||
+40
-39
@@ -1,39 +1,40 @@
|
||||
version: '3.8'
|
||||
|
||||
# XFlow CRM Service Configuration
|
||||
# Этот файл описывает только само приложение.
|
||||
# База данных, Gitea и хранилища являются внешними сервисами.
|
||||
|
||||
services:
|
||||
xflow_crm:
|
||||
image: node:22-alpine
|
||||
container_name: xflow_crm
|
||||
restart: always
|
||||
working_dir: /app
|
||||
command: node .output/server/index.mjs
|
||||
ports:
|
||||
- "${XFLOW_PORT:-3002}:3000"
|
||||
environment:
|
||||
NODE_ENV: production
|
||||
PORT: 3000
|
||||
GITEA_URL: http://xflow_gitea:3000
|
||||
GITEA_TOKEN: ${GITEA_TOKEN}
|
||||
GITEA_ORG: ${GITEA_ORG:-AVTEX}
|
||||
GITEA_MINDMAP_REPO: ${GITEA_MINDMAP_REPO:-MMAVTEX}
|
||||
GITEA_PROJECT_REPO: ${GITEA_PROJECT_REPO:-XFlow}
|
||||
DATABASE_URL: postgresql://${POSTGRES_USER:-admin}:${POSTGRES_PASSWORD}@xflow_db:5432/${DB_NAME_XFLOW:-xflow_crm_db}
|
||||
NUXT_PUBLIC_FIREBASE_API_KEY: ${FIREBASE_API_KEY}
|
||||
NUXT_PUBLIC_FIREBASE_AUTH_DOMAIN: ${FIREBASE_AUTH_DOMAIN}
|
||||
NUXT_PUBLIC_FIREBASE_PROJECT_ID: ${FIREBASE_PROJECT_ID}
|
||||
NUXT_PUBLIC_FIREBASE_APP_ID: ${FIREBASE_APP_ID}
|
||||
NUXT_PUBLIC_FIREBASE_MESSAGING_SENDER_ID: ${FIREBASE_MESSAGING_SENDER_ID}
|
||||
volumes:
|
||||
- .:/app # Монтируем текущую папку проекта
|
||||
networks:
|
||||
- xflow_infra
|
||||
|
||||
networks:
|
||||
xflow_infra:
|
||||
external: true
|
||||
|
||||
|
||||
version: '3.8'
|
||||
|
||||
# XFlow CRM Service Configuration
|
||||
# Этот файл описывает только само приложение.
|
||||
# База данных, Gitea и хранилища являются внешними сервисами.
|
||||
|
||||
services:
|
||||
xflow_crm:
|
||||
image: node:22-alpine
|
||||
container_name: xflow_crm
|
||||
restart: always
|
||||
working_dir: /app
|
||||
command: node .output/server/index.mjs
|
||||
ports:
|
||||
- "${XFLOW_PORT:-3002}:3000"
|
||||
environment:
|
||||
NODE_ENV: production
|
||||
PORT: 3000
|
||||
GITEA_URL: http://xflow_gitea:3000
|
||||
GITEA_TOKEN: ${GITEA_TOKEN}
|
||||
GITEA_ORG: ${GITEA_ORG:-AVTEX}
|
||||
GITEA_MINDMAP_REPO: ${GITEA_MINDMAP_REPO:-MMAVTEX}
|
||||
GITEA_PROJECT_REPO: ${GITEA_PROJECT_REPO:-XFlow}
|
||||
DATABASE_URL: postgresql://${POSTGRES_USER:-admin}:${POSTGRES_PASSWORD}@xflow_db:5432/${DB_NAME_XFLOW:-xflow_crm_db}
|
||||
NUXT_FIREBASE_API_KEY: ${FIREBASE_API_KEY}
|
||||
NUXT_PUBLIC_FIREBASE_API_KEY: ${FIREBASE_API_KEY}
|
||||
NUXT_PUBLIC_FIREBASE_AUTH_DOMAIN: ${FIREBASE_AUTH_DOMAIN}
|
||||
NUXT_PUBLIC_FIREBASE_PROJECT_ID: ${FIREBASE_PROJECT_ID}
|
||||
NUXT_PUBLIC_FIREBASE_APP_ID: ${FIREBASE_APP_ID}
|
||||
NUXT_PUBLIC_FIREBASE_MESSAGING_SENDER_ID: ${FIREBASE_MESSAGING_SENDER_ID}
|
||||
volumes:
|
||||
- .:/app # Монтируем текущую папку проекта
|
||||
networks:
|
||||
- xflow_infra
|
||||
|
||||
networks:
|
||||
xflow_infra:
|
||||
external: true
|
||||
|
||||
|
||||
|
||||
Reference in New Issue
Block a user