Lauris
f389909a23
fix(auth): sign session cookie store with sessionSecret, not clientId
...
cookie-parser was initialized with settings.clientId (the Plex client
UUID), but express-session signs connect.sid with settings.sessionSecret.
The secrets differ, so cookie-parser's signature check on connect.sid
fails, the cookie is dropped from req.cookies, and the OpenAPI validator
rejects every authenticated request with "cookie 'connect.sid' required"
even though the browser is sending it correctly.
This also matches the signing secret used by the OIDC code-verifier and
state cookies that are stored via res.cookie(..., {signed: true}), which
read back through req.signedCookies during the callback.
2026-06-29 15:49:40 -04:00
Michael Thomas
baea24cd52
fix: strip query params when redirecting to provider
2026-06-29 15:49:40 -04:00
Michael Thomas
f7eab9d591
fix(oidcloginbutton): ensure router is initialized in callback hook
2026-06-29 15:49:40 -04:00
Michael Thomas
93b8a59a60
fix: explicitly set sameSite: strict for OIDC correlation cookies
2026-06-29 15:49:40 -04:00
Michael Thomas
66dbf7df0f
fix: normalize email addresses from IDP before lookup / storage
2026-06-29 15:49:40 -04:00
Michael Thomas
3f0f7ec66e
fix: only count active OIDC providers as a fallback sign-in method
2026-06-29 15:49:40 -04:00
Michael Thomas
173c813ab6
chore(api): clarify the 403 semantics on linked-account listing
...
Co-authored-by: coderabbitai[bot] <136622811+coderabbitai[bot]@users.noreply.github.com>
2026-06-29 15:49:40 -04:00
Michael Thomas
f1b4cf782e
fix: ensure that OIDC correlation cookies are present in callback
2026-06-29 15:49:40 -04:00
Michael Thomas
3d6acd721e
fix(auth): always send state regardless of PKCE support
...
This improves CSRF protection somewhat, and also improves compatibilty
with Authelia and Authentik, which both have strange handling of the
`state` parameter either beyond or non-compliant with the specification.
2026-06-29 15:49:40 -04:00
Michael Thomas
6127da571f
fix(user): filter linkedAccounts from user entity
2026-06-29 15:49:40 -04:00
Michael Thomas
5d3056bbf8
refactor: remove login-specific classes from ButtonWithLoader
2026-06-29 15:49:40 -04:00
Michael Thomas
f09d65a49d
test: add cookie secret to express app for auth tests
2026-06-29 15:49:40 -04:00
Michael Thomas
5712d0f50a
test: ensure test runner does not hang
2026-06-29 15:49:40 -04:00
Michael Thomas
b727361c0e
fix: update unlink account endpoint guards to match client-side logic
2026-06-29 15:49:39 -04:00
Michael Thomas
7ec660b78a
fix(seerr-api.yml): add additional return types to API schema
2026-06-29 15:49:39 -04:00
Michael Thomas
69e1c8cd3d
docs: add OpenID Connect documentation
2026-06-29 15:49:39 -04:00
Michael Thomas
17d1b9f76d
fix(Login): make error messages look a bit nicer
2026-06-29 15:49:39 -04:00
Michael Thomas
de03975e10
fix: handle errors in OIDC callback params
2026-06-29 15:49:39 -04:00
Michael Thomas
31ecc927ef
style: error condition null check -> truthiness check
2026-06-29 15:49:39 -04:00
Michael Thomas
1e54f15abe
refactor: for new user login, save user and linked account entities in single transaction
2026-06-29 15:49:39 -04:00
Michael Thomas
4ac63903cf
refactor: store OIDC provider in sessionStorage
2026-06-29 15:49:39 -04:00
Michael Thomas
c10d5495a8
refactor: rename LoginButton -> ButtonWithLoader
2026-06-29 15:49:39 -04:00
Michael Thomas
0f2ec32c87
fix: use signed session cookie to persist state & code_verifier, clear after login
2026-06-29 15:49:39 -04:00
Michael Thomas
658a359824
fix(seerr-api.yml): uri -> uri-reference
2026-06-29 15:49:39 -04:00
Michael Thomas
8a1bd4d5f5
fix: add indexes and constraints for linked accounts
2026-06-29 15:49:39 -04:00
Michael Thomas
6fc33b1963
feat(client): support login & account linking with OpenID Connect
2026-06-29 15:49:39 -04:00
Michael Thomas
f3b3e207ef
test(auth): add tests for OpenID Connect endpoints
2026-06-29 15:49:39 -04:00
Michael Thomas
e56ff623fa
feat: support login with OpenID Connect
2026-06-29 15:49:39 -04:00
Michael Thomas
61ee8dd00f
feat: support linking OpenID Connect accounts to users
2026-06-29 15:49:39 -04:00
Michael Thomas
ff4867c98c
feat: add OpenID Connect provider settings
2026-06-29 15:49:39 -04:00
A. Schueler
ebac489c8a
docs: update truenas migration section to include chown ( #3143 )
2026-06-26 12:32:12 +02:00
fallenbagel
8ad191f42b
fix(proxy): proxy clients built before proxy init ( #3196 )
2026-06-25 01:49:58 +02:00
fallenbagel
ef9edc832f
fix(i18n): fallback to server locale for "Default" user lang in notifs ( #3190 )
2026-06-23 17:07:34 +08:00
John Fletcher
0a1f7035d0
fix: close manage movie sidebar without back reopening ( #2590 )
...
Co-authored-by: John Fletcher <johnfletcherdev@gmail.com>
Co-authored-by: gauthier-th <mail@gauthierth.fr>
2026-06-19 09:02:23 +02:00
Weblate
8d351bce65
chore(i18n): update translations from Weblate
...
Co-authored-by: Kisnov <gabrielmarfil0@gmail.com>
Co-authored-by: Weblate <noreply@weblate.org>
2026-06-18 17:39:02 +02:00
0xsysr3ll
72536da50e
feat(requests): allow admins to bypass user quota limits ( #2026 )
2026-06-18 12:37:07 +02:00
Ludovic Ortega
d2ffe4f75c
chore(dev): add devenv setup ( #3138 )
...
Signed-off-by: Ludovic Ortega <ludovic.ortega@adminafk.fr>
2026-06-17 18:46:13 +02:00
Weblate
3f3384265e
chore(i18n): update translations from Weblate
...
Co-authored-by: Kisnov <gabrielmarfil0@gmail.com>
Co-authored-by: Weblate <noreply@weblate.org>
Co-authored-by: dtalens <dtalens@users.noreply.translate.seerr.dev>
2026-06-16 16:02:25 +02:00
Weblate
6c8527fea3
chore(i18n): update translations from Weblate
...
Co-authored-by: Anatoly Tarasenko <fm.ksbw@gmail.com>
Co-authored-by: Weblate <noreply@weblate.org>
2026-06-14 14:58:55 +02:00
Weblate
ab26f068f2
chore(i18n): update translations from Weblate
...
Co-authored-by: Daniel G <daniel.guerra.997@gmail.com>
Co-authored-by: Weblate <noreply@weblate.org>
2026-06-14 01:54:04 +08:00
fallenbagel
784faa9f84
fix: availability sync demotion and orphan season rollup edge cases ( #3148 )
2026-06-12 00:04:36 +02:00
renovate[bot]
0438710761
ci(actions): update github actions ( #3041 )
...
Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
2026-06-11 12:15:04 +02:00
Gauthier
a8f1780bee
fix(notifications): make the Discord IDs available even when the notification is disabled on Seerr ( #3139 )
...
Co-authored-by: coderabbitai[bot] <136622811+coderabbitai[bot]@users.noreply.github.com>
2026-06-09 19:44:12 +02:00
Austin
6e9ba06e88
feat(notifications): add Discord thread ID support ( #3065 )
2026-06-09 10:11:11 +02:00
0xsysr3ll
5f2722da30
feat(api): support userId when creating issues ( #3100 )
2026-06-08 23:34:00 +02:00
Adam Toy
7379c73703
chore(helm): bump seerr to 3.3.0 ( #3131 )
2026-06-07 21:30:36 +02:00
ud
6829850bbc
fix(webpush): guard subscriptions request until user loads ( #3113 )
2026-06-07 17:09:02 +02:00
Weblate
0a305f6e18
chore(i18n): update translations from Weblate
...
Co-authored-by: Bas <910100490+weblate@proton.me>
Co-authored-by: Weblate <noreply@weblate.org>
2026-06-05 11:22:24 +02:00
Gauthier
4e7a227bff
docs(blog): fix "monitorNewItems" feature description and previous post author ( #3103 )
2026-06-05 10:55:17 +02:00
Weblate
32249f26fe
chore(i18n): update translations from Weblate
...
Co-authored-by: Bas Trebus <bas.trebus@maastrichtuniversity.nl>
Co-authored-by: Gallyam <gallyamb@gmail.com>
Co-authored-by: Gökhan GÜRBÜZ <gkhn.gurbuz@hotmail.com>
Co-authored-by: Marek <mara.pavelka@gmail.com>
Co-authored-by: Mateusz Lesiak <mateusz.lesiak01@gmail.com>
Co-authored-by: Nils Karlsson Pyssling <nisse@users.noreply.translate.seerr.dev>
Co-authored-by: RobertRvB <Robert_RB@live.nl>
Co-authored-by: SulliL <susu.leduc@gmail.com>
Co-authored-by: Thadah D. Denyse <thadahdenyse@protonmail.com>
Co-authored-by: Ulrik J <ulrikj@users.noreply.translate.seerr.dev>
Co-authored-by: Weblate <noreply@weblate.org>
Co-authored-by: markspoiss007-web <markspoiss007@gmail.com>
Co-authored-by: tkymmm <lempicka@sluice.xyz>
Co-authored-by: ugyes <ferenc.bodi@live.com>
2026-06-04 19:27:17 +02:00