blakeblackshear.frigate/frigate
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
..
api Authentication improvements (#21194) 2025-12-08 09:02:28 -07:00
camera Miscellaneous Fixes (#20897) 2025-11-17 08:12:05 -06:00
comms Miscellaneous Fixes (#21166) 2025-12-07 07:57:46 -07:00
config Authentication improvements (#21194) 2025-12-08 09:02:28 -07:00
data_processing Miscellaneous Fixes (#21166) 2025-12-07 07:57:46 -07:00
db Improve LPR regex support (#19767) 2025-08-26 08:11:37 -05:00
detectors Adds support for YOLO v9 models running on Google Coral (#21124) 2025-12-02 13:26:57 -07:00
embeddings Miscellaneous Fixes (#21005) 2025-11-23 08:40:25 -07:00
events Various Tweaks (#20800) 2025-11-04 17:06:14 -06:00
genai Miscellaneous fixes (#21141) 2025-12-04 12:19:07 -06:00
images
motion Dynamically update masks and zones for cameras (#18359) 2025-08-16 10:20:33 -05:00
object_detection [MemryX] Clean shutdown of detector process (#21035) 2025-11-25 10:25:07 -07:00
output Add optional idle heartbeat for Birdseye (#20453) 2025-10-19 05:20:36 -06:00
ptz Miscellaneous Fixes (#21072) 2025-11-30 06:54:42 -06:00
record Fix review summary for DST (#20770) 2025-11-03 07:34:47 -06:00
review Miscellaneous Fixes (#20850) 2025-11-09 08:38:38 -06:00
service_manager
stats Miscellaneous Fixes (#20973) 2025-11-20 17:50:17 -06:00
test Enforce default admin role requirement for API endpoints (#21065) 2025-11-26 15:07:28 -06:00
track Change clean snapshots from png to webp format (#20484) 2025-10-14 07:08:41 -06:00
util Miscellaneous Fixes (#21102) 2025-12-02 07:21:15 -07:00
__init__.py
__main__.py Handle SIGINT with forkserver (#18860) 2025-08-16 10:20:33 -05:00
app.py Add login page docs hint (#20619) 2025-10-22 12:24:53 -05:00
const.py Miscellaneous Fixes (#21024) 2025-11-24 06:34:56 -07:00
ffmpeg_presets.py Fix ffmpeg command (#20637) 2025-10-23 11:51:16 -05:00
log.py 0.17 tweaks (#18892) 2025-08-16 10:20:33 -05:00
models.py Authentication improvements (#21194) 2025-12-08 09:02:28 -07:00
mypy.ini Enable mypy for track and fix typing errors (#19529) 2025-08-17 12:27:42 -05:00
plus.py Add ability to update Frigate+ model to latest from UI (#17324) 2025-03-24 09:19:58 -06:00
storage.py Miscellaneous Fixes (#21102) 2025-12-02 07:21:15 -07:00
timeline.py Miscellaneous Fixes (#21024) 2025-11-24 06:34:56 -07:00
types.py Miscellaneous Fixes (#21005) 2025-11-23 08:40:25 -07:00
video.py Miscellaneous Fixes (#21072) 2025-11-30 06:54:42 -06:00
watchdog.py Improve async object detector support (#17712) 2025-04-15 08:55:38 -05:00