immich/server/src/services
Tin Pecirep b7a0cf2470 feat: add oauth2 code verifier
* fix: ensure oauth state param matches before finishing oauth flow

Signed-off-by: Tin Pecirep <tin.pecirep@gmail.com>

* chore: upgrade openid-client to v6

Signed-off-by: Tin Pecirep <tin.pecirep@gmail.com>

* feat: use PKCE for oauth2 on supported clients

Signed-off-by: Tin Pecirep <tin.pecirep@gmail.com>

* feat: use state and PKCE in mobile app

Signed-off-by: Tin Pecirep <tin.pecirep@gmail.com>

* fix: remove obsolete oauth repository init

Signed-off-by: Tin Pecirep <tin.pecirep@gmail.com>

* fix: rewrite callback url if mobile redirect url is enabled

Signed-off-by: Tin Pecirep <tin.pecirep@gmail.com>

* fix: propagate oidc client error cause when oauth callback fails

Signed-off-by: Tin Pecirep <tin.pecirep@gmail.com>

* fix: adapt auth service tests to required state and PKCE params

Signed-off-by: Tin Pecirep <tin.pecirep@gmail.com>

* fix: update sdk types

Signed-off-by: Tin Pecirep <tin.pecirep@gmail.com>

* fix: adapt oauth e2e test to work with PKCE

Signed-off-by: Tin Pecirep <tin.pecirep@gmail.com>

* fix: allow insecure (http) oauth clients

Signed-off-by: Tin Pecirep <tin.pecirep@gmail.com>

---------

Signed-off-by: Tin Pecirep <tin.pecirep@gmail.com>
Co-authored-by: Jason Rasmussen <jason@rasm.me>
2025-04-23 15:08:11 +01:00
..
activity.service.spec.ts refactor: user factories instead of stubs (#17540) 2025-04-11 11:53:37 -04:00
activity.service.ts refactor: activity item (#17470) 2025-04-09 08:35:20 -04:00
album.service.spec.ts feat: improve performance for GET /api/album & /api/album/:id (#17124) 2025-03-31 11:28:41 +00:00
album.service.ts refactor: remove album entity, update types (#17450) 2025-04-18 23:10:34 +02:00
api-key.service.spec.ts refactor: user factories instead of stubs (#17540) 2025-04-11 11:53:37 -04:00
api-key.service.ts refactor: database types (#17468) 2025-04-08 12:40:03 -04:00
api.service.ts chore: finish migrating eslint config files; bump unicorn (#17200) 2025-03-31 12:18:25 +01:00
asset-media.service.spec.ts chore: remove asset entity (#17703) 2025-04-18 21:39:56 +00:00
asset-media.service.ts chore: remove asset entity (#17703) 2025-04-18 21:39:56 +00:00
asset.service.spec.ts refactor: remove album entity, update types (#17450) 2025-04-18 23:10:34 +02:00
asset.service.ts refactor: remove album entity, update types (#17450) 2025-04-18 23:10:34 +02:00
audit.service.spec.ts refactor: repository mocks (#16785) 2025-03-10 16:52:44 -04:00
audit.service.ts fix(server): full-size images not migrated or deleted correctly (#17308) 2025-04-01 18:11:46 -04:00
auth.service.spec.ts feat: add oauth2 code verifier 2025-04-23 15:08:11 +01:00
auth.service.ts feat: add oauth2 code verifier 2025-04-23 15:08:11 +01:00
backup.service.spec.ts refactor: repository mocks (#16785) 2025-03-10 16:52:44 -04:00
backup.service.ts chore: finish migrating eslint config files; bump unicorn (#17200) 2025-03-31 12:18:25 +01:00
base.service.ts refactor: email repository (#17746) 2025-04-21 12:53:37 -04:00
cli.service.spec.ts refactor: user factories instead of stubs (#17540) 2025-04-11 11:53:37 -04:00
cli.service.ts refactor: migrate user repository to kysely (#15296) 2025-01-13 20:30:34 -05:00
database.service.spec.ts refactor: database repository (#16593) 2025-03-06 13:33:24 -05:00
database.service.ts refactor: database repository (#16593) 2025-03-06 13:33:24 -05:00
download.service.spec.ts refactor: repository mocks (#16785) 2025-03-10 16:52:44 -04:00
download.service.ts refactor: download service (#16600) 2025-03-05 08:38:23 -05:00
duplicate.service.spec.ts refactor: new asset-job repository (#17622) 2025-04-15 10:24:51 -04:00
duplicate.service.ts refactor: remove album entity, update types (#17450) 2025-04-18 23:10:34 +02:00
index.ts refactor: api key spec to use factories (#16776) 2025-03-10 12:04:35 -04:00
job.service.spec.ts fix(server): queue android motion assets for transcoding (#17781) 2025-04-23 12:03:28 +01:00
job.service.ts fix(server): queue android motion assets for transcoding (#17781) 2025-04-23 12:03:28 +01:00
library.service.spec.ts refactor: remove album entity, update types (#17450) 2025-04-18 23:10:34 +02:00
library.service.ts refactor: remove album entity, update types (#17450) 2025-04-18 23:10:34 +02:00
map.service.spec.ts refactor: user factories instead of stubs (#17540) 2025-04-11 11:53:37 -04:00
map.service.ts refactor: last repository (#16042) 2025-02-11 22:15:56 +00:00
media.service.spec.ts refactor: dedicated queries for asset jobs (#17652) 2025-04-16 14:08:49 -04:00
media.service.ts refactor: dedicated queries for asset jobs (#17652) 2025-04-16 14:08:49 -04:00
memory.service.spec.ts chore: remove asset entity (#17703) 2025-04-18 21:39:56 +00:00
memory.service.ts feat: schema diff sql tools (#17116) 2025-03-28 10:40:09 -04:00
metadata.service.spec.ts fix(server): queue android motion assets for transcoding (#17781) 2025-04-23 12:03:28 +01:00
metadata.service.ts fix(server): queue android motion assets for transcoding (#17781) 2025-04-23 12:03:28 +01:00
notification.service.spec.ts refactor: email repository (#17746) 2025-04-21 12:53:37 -04:00
notification.service.ts refactor: email repository (#17746) 2025-04-21 12:53:37 -04:00
partner.service.spec.ts refactor: user factories instead of stubs (#17540) 2025-04-11 11:53:37 -04:00
partner.service.ts refactor: better types for getList and getDeletedAfter (#16926) 2025-03-17 15:32:12 -04:00
person.service.spec.ts refactor: handle detect faces job query (#17660) 2025-04-16 22:52:54 +02:00
person.service.ts refactor: remove album entity, update types (#17450) 2025-04-18 23:10:34 +02:00
search.service.spec.ts chore: remove asset entity (#17703) 2025-04-18 21:39:56 +00:00
search.service.ts refactor: remove album entity, update types (#17450) 2025-04-18 23:10:34 +02:00
server.service.spec.ts refactor: test mocks (#16008) 2025-02-11 00:47:42 +01:00
server.service.ts refactor: repositories (#16036) 2025-02-11 14:08:13 -05:00
session.service.spec.ts refactor: more database types (#17490) 2025-04-09 10:24:38 -04:00
session.service.ts refactor: last repository (#16042) 2025-02-11 22:15:56 +00:00
shared-link.service.spec.ts refactor: remove album entity, update types (#17450) 2025-04-18 23:10:34 +02:00
shared-link.service.ts refactor: remove album entity, update types (#17450) 2025-04-18 23:10:34 +02:00
smart-info.service.spec.ts refactor: more job query stuff (#17658) 2025-04-16 22:10:20 +02:00
smart-info.service.ts refactor: more job query stuff (#17658) 2025-04-16 22:10:20 +02:00
stack.service.spec.ts refactor: repository mocks (#16785) 2025-03-10 16:52:44 -04:00
stack.service.ts refactor: migrate stack repo to kysely (#15440) 2025-01-21 09:36:28 -06:00
storage-template.service.spec.ts chore(deps): update dependency @types/node to ^22.14.1 (#17770) 2025-04-22 10:18:44 +00:00
storage-template.service.ts feat: add album start and end dates for storage template (#17188) 2025-04-21 19:54:33 -04:00
storage.service.spec.ts refactor: test mocks (#16008) 2025-02-11 00:47:42 +01:00
storage.service.ts feat: schema diff sql tools (#17116) 2025-03-28 10:40:09 -04:00
sync.service.spec.ts refactor: remove album entity, update types (#17450) 2025-04-18 23:10:34 +02:00
sync.service.ts feat: sync assets, partner assets, exif, and partner exif (#16658) 2025-03-10 12:05:39 -04:00
system-config.service.spec.ts feat: original-sized previews for non-web-friendly images (#14446) 2025-03-31 13:24:28 -04:00
system-config.service.ts refactor: last repository (#16042) 2025-02-11 22:15:56 +00:00
system-metadata.service.spec.ts refactor: test mocks (#16008) 2025-02-11 00:47:42 +01:00
system-metadata.service.ts refactor: service dependencies (#13108) 2024-10-02 10:54:35 -04:00
tag.service.spec.ts refactor: repository mocks (#16785) 2025-03-10 16:52:44 -04:00
tag.service.ts refactor: migration tag repository to kysely (#16398) 2025-03-03 18:41:19 +00:00
timeline.service.spec.ts refactor: user factories instead of stubs (#17540) 2025-04-11 11:53:37 -04:00
timeline.service.ts refactor: last repository (#16042) 2025-02-11 22:15:56 +00:00
trash.service.spec.ts refactor: repository mocks (#16785) 2025-03-10 16:52:44 -04:00
trash.service.ts refactor: last repository (#16042) 2025-02-11 22:15:56 +00:00
user-admin.service.spec.ts refactor: last repository (#16042) 2025-02-11 22:15:56 +00:00
user-admin.service.ts refactor(server): narrow auth types (#16066) 2025-02-12 15:23:08 -05:00
user.service.spec.ts refactor: user factories instead of stubs (#17540) 2025-04-11 11:53:37 -04:00
user.service.ts refactor: remove user entity (#17498) 2025-04-10 10:53:21 -04:00
version.service.spec.ts refactor: repository mocks (#16785) 2025-03-10 16:52:44 -04:00
version.service.ts feat: schema diff sql tools (#17116) 2025-03-28 10:40:09 -04:00
view.service.spec.ts refactor: test mocks (#16008) 2025-02-11 00:47:42 +01:00
view.service.ts refactor: remove album entity, update types (#17450) 2025-04-18 23:10:34 +02:00