Commit Graph

10 Commits

Author SHA1 Message Date
6735d99df2 feat: implement customer authentication with JWT tokens
Implement secure customer authentication system with dedicated JWT tokens,
separate from admin/vendor authentication.

Backend Changes:
- Add customer JWT token support in deps.py
  - New get_current_customer_from_cookie_or_header dependency
  - Validates customer-specific tokens with type checking
  - Returns Customer object instead of User for shop routes
- Extend AuthService with customer token support
  - Add verify_password() method
  - Add create_access_token_with_data() for custom token payloads
- Update CustomerService authentication
  - Generate customer-specific JWT tokens with type="customer"
  - Use vendor-scoped customer lookup
- Enhance exception handler
  - Sanitize validation errors to prevent password leaks in logs
  - Fix shop login redirect to support multi-access routing
- Improve vendor context detection from Referer header
  - Consistent "path" detection method for cookie path logic

Schema Changes:
- Rename UserLogin.username to email_or_username for flexibility
- Update field validators accordingly

API Changes:
- Update admin/vendor auth endpoints to use email_or_username
- Customer auth already uses email field correctly

Route Changes:
- Update shop account routes to use Customer dependency
- Add /account redirect (without trailing slash)
- Change parameter names from current_user to current_customer

Frontend Changes:
- Update login forms to use email_or_username in API calls
- Change button text from "Log in" to "Sign in" for consistency
- Improve loading spinner layout with flexbox

Security Improvements:
- Customer tokens scoped to vendor_id
- Token type validation prevents cross-context token usage
- Password inputs redacted from validation error logs

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

Co-Authored-By: Claude <noreply@anthropic.com>
2025-11-25 21:08:49 +01:00
86f1e16ef2 Fixing vendor dashboard area 2025-11-21 23:15:25 +01:00
9cc92e5fc4 created specific route files for frontends 2025-11-02 15:26:55 +01:00
9611c03a36 migrating vendor frontend to new architecture 2025-10-31 20:51:30 +01:00
9420483ae6 migrating vendor frontend to new architecture 2025-10-30 19:11:51 +01:00
cd5097fc04 migrating vendor frontend to new architecture 2025-10-28 22:58:55 +01:00
a7d9d44a13 admin login migration to new structure, new design 2025-10-19 19:20:21 +02:00
cbe1ab09d1 admin and vendor backends features 2025-10-19 16:16:13 +02:00
d7439fce46 Created target project structure 2025-10-11 12:14:49 +02:00
199be1f1b9 major refactoring adding vendor and customer features 2025-10-11 09:11:42 +02:00