Break out contact form into separate component and implement OTP and rate
limiting, add iconify-icon dependency Add src/components/ContactForm.astro implementing OTP verify/send flows and server-side validation Add src/lib/Otp.ts (otplib-backed) with per-hour OTP and per-week message rate limits and helper functions Expose OTP_SUPER_SECRET_SALT in astro.config and add otplib Rename src/lib/cap.ts to src/lib/CapAdapter.ts and update imports Replace inline contact page logic with ContactForm and adjust SMS client Add iconify-icon dependency
This commit is contained in:
parent
d5a7887ad2
commit
72e57fb7ff
10 changed files with 516 additions and 129 deletions
|
|
@ -41,6 +41,10 @@ export default defineConfig({
|
|||
context: "server",
|
||||
access: "secret",
|
||||
}),
|
||||
OTP_SUPER_SECRET_SALT: envField.string({
|
||||
context: "server",
|
||||
access: "secret",
|
||||
}),
|
||||
},
|
||||
},
|
||||
integrations: [alpinejs(), sitemap(), htmx(), db()],
|
||||
|
|
|
|||
Loading…
Add table
Add a link
Reference in a new issue