chore(auth): add 2FA database logging
Some checks failed
Staging Build / build (push) Has been cancelled

- capture and log insert errors during 2FA code generation

- print verification queries and lookup parameters to console
This commit is contained in:
DanielS
2026-08-20 17:44:30 +02:00
parent af501d18c7
commit 073dc99860

View File

@@ -185,9 +185,16 @@ async function send2FACodeInternal(userId: string, deviceHash: string, email: st
.eq('device_hash', deviceHash) .eq('device_hash', deviceHash)
// Neuen Code speichern // Neuen Code speichern
await adminClient const { data: insData, error: insError } = await adminClient
.from('device_verification_codes') .from('device_verification_codes')
.insert({ user_id: userId, code, device_hash: deviceHash, expires_at: expiresAt }) .insert({ user_id: userId, code, device_hash: deviceHash, expires_at: expiresAt })
.select()
if (insError) {
console.error("2FA CODE INSERT ERROR:", insError)
} else {
console.log("2FA CODE INSERTED:", code, insData)
}
// Mail senden // Mail senden
await sendMail({ await sendMail({
@@ -222,6 +229,7 @@ export async function verifyDevice2FA(userId: string, code: string, deviceHash:
const cleanCode = code.trim() const cleanCode = code.trim()
// Code prüfen (unter Berücksichtigung von Leerzeichen & device_hash) // Code prüfen (unter Berücksichtigung von Leerzeichen & device_hash)
console.log("VERIFYING 2FA: userId =", userId, "code =", cleanCode)
const { data: codeEntries, error: codeError } = await adminClient const { data: codeEntries, error: codeError } = await adminClient
.from('device_verification_codes') .from('device_verification_codes')
.select('*') .select('*')
@@ -231,6 +239,7 @@ export async function verifyDevice2FA(userId: string, code: string, deviceHash:
.limit(1) .limit(1)
const codeEntry = codeEntries && codeEntries.length > 0 ? codeEntries[0] : null const codeEntry = codeEntries && codeEntries.length > 0 ? codeEntries[0] : null
console.log("VERIFY 2FA DB RESULT: entry =", codeEntry, "error =", codeError)
if (codeError || !codeEntry) { if (codeError || !codeEntry) {
// Doppelklick- & Race-Condition Schutz: Prüfen ob das Gerät eben bereits verifiziert wurde // Doppelklick- & Race-Condition Schutz: Prüfen ob das Gerät eben bereits verifiziert wurde