Unify bridge auth header and add live telemetry panel

This commit is contained in:
itsrubberduck
2026-02-15 16:04:07 +01:00
parent 57fc0e3150
commit ae0f0b0f86
7 changed files with 161 additions and 35 deletions

View File

@@ -1,21 +1,20 @@
import { createError, readBody } from 'h3'
import { createError } from 'h3'
import { requireUserSession } from '../../utils/auth'
import { normalizeBridgeToken } from '../../utils/bridge'
import { getBridgeTokenFromHeader } from '../../utils/bridge'
import { BridgeToken } from '../../models/BridgeToken'
interface ConnectBody {
token?: string
}
export default defineEventHandler(async (event) => {
const user = await requireUserSession(event)
const body = await readBody<ConnectBody>(event)
const token = normalizeBridgeToken(body.token)
const token = getBridgeTokenFromHeader(event)
if (!token) {
throw createError({ statusCode: 400, statusMessage: 'Ungültiger Token übergeben.' })
throw createError({ statusCode: 401, statusMessage: 'x-bridge-token header fehlt oder ist ungültig.' })
}
console.info(
`\x1b[32m[bridge:connect]\x1b[0m token=\x1b[96m${token.slice(0, 6)}...\x1b[0m user=\x1b[92m${String(user._id)}\x1b[0m`,
)
const now = new Date()
const document = await BridgeToken.findOneAndUpdate(
@@ -47,4 +46,3 @@ export default defineEventHandler(async (event) => {
},
}
})