Files
windmill/backend/windmill-api/src
claude[bot] 6f7cf2fb16 feat: add password reset flow using configured SMTP settings (#7525)
* feat: add password reset flow using configured SMTP settings

Implements password reset functionality for users with email/password login:

Backend:
- Add `/auth/request_password_reset` endpoint to request a password reset email
- Add `/auth/reset_password` endpoint to reset password using token
- Add `/auth/is_smtp_configured` endpoint to check if SMTP is available
- Uses existing `magic_link` table for storing reset tokens
- Tokens expire after 1 hour
- Invalidates all existing sessions on password reset
- Includes audit logging

Frontend:
- Add "Forgot password?" link on login page (shown when SMTP is configured)
- Add `/user/forgot-password` page for requesting password reset
- Add `/user/reset-password` page for entering new password
- Both pages follow existing Windmill design patterns

Security:
- Always returns success response to prevent email enumeration
- Password must be at least 8 characters
- Uses argon2 for password hashing (same as existing login)

Closes #7524

🤖 Generated with [Claude Code](https://claude.com/claude-code)

Co-Authored-By: windmill-internal-app[bot] <windmill-internal-app[bot]@users.noreply.github.com>

* nits

* nits

* fix oss

* nits

* fix oss

---------

Co-authored-by: claude[bot] <41898282+claude[bot]@users.noreply.github.com>
Co-authored-by: windmill-internal-app[bot] <windmill-internal-app[bot]@users.noreply.github.com>
Co-authored-by: HugoCasa <hugo@casademont.ch>
Co-authored-by: Ruben Fiszel <ruben@windmill.dev>
2026-01-09 10:31:56 +00:00
..
2025-12-23 13:24:04 +00:00
2025-06-02 22:12:33 +02:00
2025-12-23 13:24:04 +00:00
2025-12-11 13:34:17 +00:00
2025-06-02 22:12:33 +02:00
2025-11-18 23:03:35 +00:00
2025-10-16 09:19:44 +00:00
2025-10-16 09:19:44 +00:00
2025-11-18 23:03:35 +00:00
2025-12-23 13:24:04 +00:00
2025-06-02 22:12:33 +02:00
nit
2025-12-15 20:35:51 +00:00
2025-06-02 22:12:33 +02:00
2025-03-13 09:31:38 +01:00
2024-04-04 04:16:53 +02:00
2025-12-01 15:16:22 +01:00
2025-12-23 13:24:04 +00:00
2026-01-07 16:02:51 +00:00
2026-01-09 07:03:29 +00:00
2025-06-02 22:12:33 +02:00
2025-10-17 14:05:17 +00:00
2025-11-14 14:51:50 +00:00
2025-09-04 22:05:22 +00:00
2025-06-02 22:12:33 +02:00
2025-06-02 22:12:33 +02:00
2025-12-23 13:24:04 +00:00
2026-01-08 06:25:59 +00:00
2025-06-02 22:12:33 +02:00
2025-06-02 22:12:33 +02:00
2025-06-02 22:12:33 +02:00
2025-09-09 21:04:23 +00:00
nit
2025-09-11 21:57:56 +00:00
2025-09-17 12:15:33 +00:00
2025-09-02 14:34:46 +00:00
2025-06-02 22:12:33 +02:00