blakeblackshear.frigate/frigate/api
Josh Hawkins 152e585206
Authentication improvements (#21194)
* jwt permissions

* add old password to body req

* add model and migration

need to track the datetime that passwords were changed for the jwt

* auth api backend changes

- use os.open to create jwt secret with restrictive permissions (0o600: read/write for owner only)
- add backend validation for password strength
- add iat claim to jwt so the server can determine when a token was issued and reject any jwts issued before a user's password_changed_at timestamp, ensuring old tokens are invalidated after a password change
- set logout route to public to avoid 401 when logging out
- issue new jwt for users who change their own password so they stay logged in

* improve set password dialog

- add field to verify old password
- add password strength requirements

* frontend tweaks for password dialog

* i18n

* use verify endpoint for existing password verification

avoid /login side effects (creating a new session)

* public logout

* only check if password has changed on jwt refresh

* fix tests

Fix migration 030 by using raw sql to select usernames (avoid ORM selecting nonexistent columns)

* add multi device warning to password dialog

* remove password verification endpoint

Just send old_password + new password in one request, let the backend handle verification in a single operation
2025-12-08 09:02:28 -07:00
..
defs Authentication improvements (#21194) 2025-12-08 09:02:28 -07:00
__init__.py Update flask and restructure into api folder with apis put into separate folders (#10193) 2024-03-02 22:10:37 +00:00
app.py Enforce default admin role requirement for API endpoints (#21065) 2025-11-26 15:07:28 -06:00
auth.py Authentication improvements (#21194) 2025-12-08 09:02:28 -07:00
camera.py Enforce default admin role requirement for API endpoints (#21065) 2025-11-26 15:07:28 -06:00
classification.py Miscellaneous Fixes (#21063) 2025-11-27 07:58:35 -06:00
event.py Miscellaneous fixes (#21141) 2025-12-04 12:19:07 -06:00
export.py API admin exemptions and route guard updates (#21094) 2025-11-29 07:30:04 -06:00
fastapi_app.py Enforce default admin role requirement for API endpoints (#21065) 2025-11-26 15:07:28 -06:00
media.py Fix intermittent hangs in Tracking Details videos (#21185) 2025-12-07 12:58:33 -06:00
notification.py API admin exemptions and route guard updates (#21094) 2025-11-29 07:30:04 -06:00
preview.py Api docs updates (#20388) 2025-10-08 14:55:38 -05:00
review.py API admin exemptions and route guard updates (#21094) 2025-11-29 07:30:04 -06:00