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