diff --git a/supabase/functions/request-otp/index.ts b/supabase/functions/request-otp/index.ts index f5704d8..7ee6556 100644 --- a/supabase/functions/request-otp/index.ts +++ b/supabase/functions/request-otp/index.ts @@ -89,11 +89,14 @@ Deno.serve(async (request) => { const clientIp = getClientIp(request); const userAgent = request.headers.get("user-agent") || null; - // Insert with OTP hash only — no plaintext in DB + // Insert with OTP hash for verification. otp_code (plaintext) is also stored + // because DB has it NOT NULL and the send_pin trigger (→ n8n webhook) emails + // this exact code to the user. verify-otp still compares the SHA-256 hash. const { error: insertError } = await supabase.from("login_otps").insert({ email, name: userName, role: userRole, + otp_code: otp, otp_code_hash: otpCodeHash, ip_address: clientIp, user_agent: userAgent,