blakeblackshear.frigate/frigate/config
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
..
camera Miscellaneous Fixes (#20866) 2025-11-10 10:03:56 -07:00
__init__.py Improve Notifications (#16453) 2025-02-10 19:47:15 -07:00
auth.py Authentication improvements (#21194) 2025-12-08 09:02:28 -07:00
base.py Dynamically update masks and zones for cameras (#18359) 2025-08-16 10:20:33 -05:00
camera_group.py
classification.py Miscellaneous Fixes (#21102) 2025-12-02 07:21:15 -07:00
config.py Miscellaneous Fixes (#20989) 2025-11-21 15:40:58 -06:00
database.py
env.py Read secrets dir from CREDENTIALS_DIRECTORY (#19327) 2025-09-19 06:34:23 -06:00
logger.py Ensure logging config is propagated to forked processes (#18704) 2025-08-16 10:20:33 -05:00
mqtt.py Improve comms typing (#18599) 2025-08-16 10:20:33 -05:00
network.py Enable Optional IPv6 Support for Nginx (#19602) 2025-08-18 17:39:12 -06:00
proxy.py Add role map support for proxy auth (#19758) 2025-08-25 17:58:41 -05:00
telemetry.py Replaces sriov flag with explicit path to the Intel GPU device (#19136) 2025-07-14 07:11:25 -05:00
tls.py
ui.py Miscellaneous Fixes (#21166) 2025-12-07 07:57:46 -07:00