diff --git a/app/server/api/auth/google.post.ts b/app/server/api/auth/google.post.ts index 35b6e01..a1522fe 100644 --- a/app/server/api/auth/google.post.ts +++ b/app/server/api/auth/google.post.ts @@ -23,10 +23,19 @@ export default defineEventHandler(async (event) => { throw createError({ statusCode: 500, message: 'Firebase API key not configured' }) } - const verifyRes = await $fetch( - `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( + `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' }) diff --git a/server/docker-compose.yml b/server/docker-compose.yml index 69c1b58..bf1cfa4 100644 --- a/server/docker-compose.yml +++ b/server/docker-compose.yml @@ -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 + +