Commit graph

2910 commits

Author SHA1 Message Date
Michael Mayer
d0ad3c23fb OAuth2: Remove client soft delete and fix client add command #213 #3943
Signed-off-by: Michael Mayer <michael@photoprism.app>
2024-01-29 21:08:01 +01:00
Michael Mayer
fd0006928e OAuth2: Remove sessions when client is deleted or disabled #213 #3943
Signed-off-by: Michael Mayer <michael@photoprism.app>
2024-01-29 18:10:32 +01:00
Michael Mayer
fe7e342692 OAuth2: Improve authentication logs and commands #213 #3730 #3943
Signed-off-by: Michael Mayer <michael@photoprism.app>
2024-01-29 17:32:53 +01:00
graciousgrey
f5bcef4086 Tests: Add unit tests 2024-01-29 16:47:51 +01:00
Michael Mayer
802bb87980 WebDAV: Improve authorization checks and rate limit enforcement #808
Signed-off-by: Michael Mayer <michael@photoprism.app>
2024-01-29 16:20:46 +01:00
Michael Mayer
75e52a6bf5 WebDAV: Refactor internal/server/webdav_auth.go #782 #808
Signed-off-by: Michael Mayer <michael@photoprism.app>
2024-01-29 15:11:23 +01:00
Michael Mayer
70f8c3be6c WebDAV: Re-enable authentication with account password #782 #808
Signed-off-by: Michael Mayer <michael@photoprism.app>
2024-01-29 14:48:15 +01:00
Michael Mayer
2243f92fd6 Prometheus: Fix "GET /api/v1/metrics" API endpoint #213 #3730 #3943
Signed-off-by: Michael Mayer <michael@photoprism.app>
2024-01-29 14:18:17 +01:00
Michael Mayer
305e7bac68 OAuth2: Refactor "client add" and "client mod" CLI commands #808 #3943
Signed-off-by: Michael Mayer <michael@photoprism.app>
2024-01-29 13:54:50 +01:00
Michael Mayer
daca63f94e Config: Update error message if .ppstorage file is in originals #1642
Signed-off-by: Michael Mayer <michael@photoprism.app>
2024-01-29 08:41:46 +01:00
Michael Mayer
f4f86baa21 WebDAV: Upgrade github.com/emersion/go-webdav in go.mod and go.sum
Signed-off-by: Michael Mayer <michael@photoprism.app>
2024-01-29 08:28:37 +01:00
graciousgrey
d478f08718 Tests: Add unit tests 2024-01-25 16:36:38 +01:00
graciousgrey
86d2ce0772 Tests: Add unit tests 2024-01-24 16:15:07 +01:00
graciousgrey
27dda3bc2b Tests: Add unit tests 2024-01-23 16:13:27 +01:00
Michael Mayer
86dc89c4b9 Config: Show error if originals and storage path seem identical #1642
Signed-off-by: Michael Mayer <michael@photoprism.app>
2024-01-21 14:22:16 +01:00
Michael Mayer
7917482580 Auth: Change "Token Name" to "Client Name" in auth add CLI subcommand
Signed-off-by: Michael Mayer <michael@photoprism.app>
2024-01-20 18:05:58 +01:00
Michael Mayer
89ca0d8899 Index: Ignore nested storage folder in the originals path #1642
This creates a .ppstorage file in the storage folder so that it can be
automatically ignored if found in the originals path while indexing.

Signed-off-by: Michael Mayer <michael@photoprism.app>
2024-01-20 17:32:10 +01:00
Michael Mayer
db9b33ddea Backend: Change alias name for map[string]interface{} from Value to Map
Signed-off-by: Michael Mayer <michael@photoprism.app>
2024-01-20 15:01:40 +01:00
Michael Mayer
01da5bdec7 CRC32: Move checksum generation to a dedicated package
Signed-off-by: Michael Mayer <michael@photoprism.app>
2024-01-20 14:56:07 +01:00
Michael Mayer
2df0b6e4b1 Server: Exclude .mp4 and .zip from compression and refactor vary #4018
Signed-off-by: Michael Mayer <michael@photoprism.app>
2024-01-20 12:48:42 +01:00
Michael Mayer
58bb52022f Server: Refactor middleware registration #4018
Signed-off-by: Michael Mayer <michael@photoprism.app>
2024-01-20 11:47:39 +01:00
Michael Mayer
d98a1cb2ab GZIP: Enable compression before API routes are registered #4018
Signed-off-by: Michael Mayer <michael@photoprism.app>
2024-01-19 22:46:31 +01:00
Michael Mayer
a4e2bb33b9 2FA: Rename "Auth Secret" to "App Password" for more clarity #782 #808
Signed-off-by: Michael Mayer <michael@photoprism.app>
2024-01-19 18:10:01 +01:00
graciousgrey
d3a67a6694 Tests: Add unit tests 2024-01-19 15:48:07 +01:00
graciousgrey
62ddac3142 Tests: Add unit tests 2024-01-19 15:29:09 +01:00
Michael Mayer
966c421cd4 Auth: Update internal/form/client_test.go #782 #808 #3943
Signed-off-by: Michael Mayer <michael@photoprism.app>
2024-01-19 15:12:47 +01:00
Michael Mayer
06a18f5818 Auth: Add "access_token" authentication provider type #782 #808 #3943
Signed-off-by: Michael Mayer <michael@photoprism.app>
2024-01-19 14:41:08 +01:00
Michael Mayer
4ba32a7220 2FA: Add two-factor authentication key model and tests #782 #808 #3943
Signed-off-by: Michael Mayer <michael@photoprism.app>
2024-01-19 13:45:30 +01:00
Michael Mayer
d70e7dd06d Auth: Improve API authentication subcommand usage information #808
Signed-off-by: Michael Mayer <michael@photoprism.app>
2024-01-18 17:53:53 +01:00
Michael Mayer
f767f6a1d9 Auth: Rename "auth clear" command to "auth reset" for consistency #808
Signed-off-by: Michael Mayer <michael@photoprism.app>
2024-01-18 17:15:22 +01:00
Michael Mayer
7e7ba69982 Auth: Add client_uid and client_name to auth_sessions table #808 #3943
This also adds the ability to change the client role if needed and
improves the usage information and output of the CLI commands.

Signed-off-by: Michael Mayer <michael@photoprism.app>
2024-01-18 16:53:05 +01:00
Michael Mayer
271e7243db Logs: Shorten the names of error log helper functions
Signed-off-by: Michael Mayer <michael@photoprism.app>
2024-01-18 11:23:59 +01:00
Michael Mayer
2ce272d60e Auth: Add tests for "photoprism auth ls" terminal command #808
Signed-off-by: Michael Mayer <michael@photoprism.app>
2024-01-18 11:13:10 +01:00
Michael Mayer
2912ac9464 Security: Refactor cache headers, auth token validation & UI #782 #808
Signed-off-by: Michael Mayer <michael@photoprism.app>
2024-01-17 14:16:02 +01:00
Michael Mayer
d4317863f7 UX: Do not redirect users if they are already on the site root
Signed-off-by: Michael Mayer <michael@photoprism.app>
2024-01-16 21:56:26 +01:00
Michael Mayer
127b30dd31 Config: Allow CORS for additional file types when using a CDN #3931
Signed-off-by: Michael Mayer <michael@photoprism.app>
2024-01-16 21:25:29 +01:00
Michael Mayer
3946e2a16f API: Refactor "404 Not Found" response handler #3931
Signed-off-by: Michael Mayer <michael@photoprism.app>
2024-01-16 20:56:43 +01:00
Michael Mayer
abfea6354c Config: Allow CORS for fonts and CSS when using a CDN #3931
see https://www.w3.org/TR/css-fonts-3/#font-fetching-requirements

Signed-off-by: Michael Mayer <michael@photoprism.app>
2024-01-16 20:04:36 +01:00
graciousgrey
c478025513 Tests: Add unit tests #3943 2024-01-16 18:10:59 +01:00
graciousgrey
2bf65737d3 Tests: Add unit tests #3943 2024-01-16 18:10:59 +01:00
Michael Mayer
da10b30fdf API: Add auth token to vary header for caching proxies and CDNs #3931
Signed-off-by: Michael Mayer <michael@photoprism.app>
2024-01-16 16:42:21 +01:00
Michael Mayer
c3b9b73d1d API: Only allow CDNs to cache GET, HEAD, and OPTIONS requests #3931
Signed-off-by: Michael Mayer <michael@photoprism.app>
2024-01-16 16:17:16 +01:00
graciousgrey
e5aa76730f Tests: Add unit tests #3943 2024-01-16 16:10:57 +01:00
graciousgrey
121a19c58c Tests: Add unit tests #3943 2024-01-16 16:10:57 +01:00
Michael Mayer
02a1b12edb Config: Update CORS header defaults and add /api/v1/echo endpoint #3931
Signed-off-by: Michael Mayer <michael@photoprism.app>
2024-01-16 14:36:08 +01:00
Michael Mayer
239708f00f Config: Add options to configure CORS origin, headers and methods #3931
Signed-off-by: Michael Mayer <michael@photoprism.app>
2024-01-16 12:14:06 +01:00
graciousgrey
4e7a61ffe5 Tests: Add unit tests 2024-01-15 17:12:34 +01:00
Michael Mayer
c5f6a28448 Config: Add PHOTOPRISM_HTTP_CORS option for CDN users #3931 #3940
In addition, the Access-Control-Allow-Origin header is set to the same
URL if an Origin header is found in the request (experimental).

Signed-off-by: Michael Mayer <michael@photoprism.app>
2024-01-15 13:06:27 +01:00
Michael Mayer
e44262d4ea Config: Ignore configured CDN URL if the same as the Site URL #3931
see https://docs.photoprism.app/getting-started/using-a-cdn/#cloudflare

Signed-off-by: Michael Mayer <michael@photoprism.app>
2024-01-15 10:54:03 +01:00
Michael Mayer
c38962e469 API: Deny client access if the scope is not authorized #782 #808
Signed-off-by: Michael Mayer <michael@photoprism.app>
2024-01-14 19:27:38 +01:00