Commit graph

8517 commits

Author SHA1 Message Date
Michael Mayer
8db853109e WebDAV: Set file mod time based on the "X-OC-MTime" header #3942 #3959
Note that this is still experimental and the implementation needs to be
tested with a WebDAV client that sends a valid "X-OC-MTime" header.

Signed-off-by: Michael Mayer <michael@photoprism.app>
2024-01-08 18:46:42 +01:00
Michael Mayer
64b8ed572d API: Add .well-known/openid-configuration route handler #808 #3943
This adds an initial "/.well-known/openid-configuration" service
discovery endpoint for use by OpenID Connect clients.

Signed-off-by: Michael Mayer <michael@photoprism.app>
2024-01-08 17:25:07 +01:00
Michael Mayer
ec13ccb6d5 OAuth2: Enforce limit for number of access tokens / sessions #808 #3943
These changes ensure that OAuth2 clients cannot create an unlimited
number of access tokens (sessions) with their client credentials.

Signed-off-by: Michael Mayer <michael@photoprism.app>
2024-01-08 16:57:07 +01:00
Michael Mayer
42fbf70dcf API: Update markers.go handler docs
Signed-off-by: Michael Mayer <michael@photoprism.app>
2024-01-08 14:56:07 +01:00
Michael Mayer
0e4d81853c API: Add .well-known/oauth-authorization-server route handler #808 #3943
This commit also adds an /api/v1/oauth/logout endpoint that allows
clients to delete their sessions (access tokens) as needed.

Signed-off-by: Michael Mayer <michael@photoprism.app>
2024-01-08 14:53:39 +01:00
Michael Mayer
f8e0615cc8 Auth: Ensure backwards compatibility for existing API clients #808 #3943
These changes ensure that the new (SHA256) session ID is returned in the
"session_id" field, so that developers have time to update their client
implementations to use the new "access_token" field.

Signed-off-by: Michael Mayer <michael@photoprism.app>
2024-01-07 12:25:56 +01:00
Michael Mayer
0d2f8be522 Auth: Use hashed auth tokens for enhanced security #3943 #808 #782
Signed-off-by: Michael Mayer <michael@photoprism.app>
2024-01-06 17:35:19 +01:00
Michael Mayer
1d28cbcd92 Frontend: Update deps in package.json and package-lock.json
Signed-off-by: Michael Mayer <michael@photoprism.app>
2024-01-06 13:31:14 +01:00
Michael Mayer
0ca37b2c92 Docs: Update year in backend and frontend package file headers
Signed-off-by: Michael Mayer <michael@photoprism.app>
2024-01-05 16:38:36 +01:00
Michael Mayer
713593da4e Auth: Add CLI command to create access tokens for apps #782 #808 #3943
You can now run "photoprism auth add" to create new client access tokens
that allow external applications to use the built-in REST API.

Signed-off-by: Michael Mayer <michael@photoprism.app>
2024-01-05 16:31:07 +01:00
Michael Mayer
d6ec8c069e Frontend: Update deps in package.json and package-lock.json
Signed-off-by: Michael Mayer <michael@photoprism.app>
2024-01-04 13:34:54 +01:00
Michael Mayer
910e3becbb Auth: Refactor existing CLI sub-commands #808 #3943
Signed-off-by: Michael Mayer <michael@photoprism.app>
2024-01-02 17:06:57 +01:00
Michael Mayer
e8939ca8d0 Frontend: Update deps in package-lock.json
Signed-off-by: Michael Mayer <michael@photoprism.app>
2024-01-02 17:02:54 +01:00
Michael Mayer
6e0d9aea67 Frontend: Update deps in package-lock.json
Signed-off-by: Michael Mayer <michael@photoprism.app>
2024-01-01 16:22:57 +01:00
Michael Mayer
0fd3c1790c Search: Add inline documentation to sortby.RandomExpr()
Signed-off-by: Michael Mayer <michael@photoprism.app>
2024-01-01 16:22:09 +01:00
Michael Mayer
95584a69ca Backend: Update deps in go.mod and go.sum
Signed-off-by: Michael Mayer <michael@photoprism.app>
2023-12-28 20:13:24 +01:00
Michael Mayer
34e5a241a6 Frontend: Update deps in package.json and package-lock.json
Signed-off-by: Michael Mayer <michael@photoprism.app>
2023-12-28 20:10:48 +01:00
graciousgrey
04e8dfe6cb Tests: Add unit tests #3943 2023-12-21 16:00:28 +01:00
graciousgrey
0f8d5073dd Tests: Add unit tests #3943 2023-12-21 11:17:33 +01:00
Michael Mayer
60bf949970 MariaDB: Change version in config examples from 11.0 to 11 #3962
Signed-off-by: Michael Mayer <michael@photoprism.app>
2023-12-20 15:39:40 +01:00
Michael Mayer
e01b027956 MariaDB: Upgrade version in config examples from 10.11 to 11.0 #3962
Signed-off-by: Michael Mayer <michael@photoprism.app>
2023-12-20 15:33:29 +01:00
Michael Mayer
ef776a1a46 Podman: Re-add "security_opt" to mariadb config in docker-compose.yml
This has been re-enabled by default after we received problem reports
that seem to be related to this option.

Signed-off-by: Michael Mayer <michael@photoprism.app>
2023-12-19 17:51:09 +01:00
Michael Mayer
b60d633c65 Develop: Remove unnecessary .PHONY targets from Makefile
Signed-off-by: Michael Mayer <michael@photoprism.app>
2023-12-19 17:47:57 +01:00
graciousgrey
b6cb478cfb Tests: Add unit tests 2023-12-19 17:03:50 +01:00
Michael Mayer
cc179e9ecf Metadata: Stack media files with the same "ContentIdentifier" #3960
Signed-off-by: Michael Mayer <michael@photoprism.app>
2023-12-19 16:55:08 +01:00
Michael Mayer
b725f08e3e Develop: Upgrade base image from 231206-mantic to 231219-mantic
Signed-off-by: Michael Mayer <michael@photoprism.app>
2023-12-19 15:43:56 +01:00
Michael Mayer
3dec8f4f48 Run "make fmt"
Signed-off-by: Michael Mayer <michael@photoprism.app>
2023-12-19 15:43:29 +01:00
Michael Mayer
1af29dafba CI: Add show-rev target to Makefile
Signed-off-by: Michael Mayer <michael@photoprism.app>
2023-12-19 14:15:48 +01:00
Michael Mayer
b536e50005 CI: Add Makefile to /frontend directory
Signed-off-by: Michael Mayer <michael@photoprism.app>
2023-12-19 11:33:55 +01:00
Michael Mayer
14caae4b02 Scripts: Upgrade TestCafe from v3.2.0 to v3.4.0 in install-nodejs.sh
Signed-off-by: Michael Mayer <michael@photoprism.app>
2023-12-19 11:32:55 +01:00
Michael Mayer
89c012495c Frontend: Update deps in package.json and package-lock.json
Signed-off-by: Michael Mayer <michael@photoprism.app>
2023-12-19 11:31:57 +01:00
Michael Mayer
e73fbe737f Backend: Update golang.org/x/crypto in go.mod and go.sum
Signed-off-by: Michael Mayer <michael@photoprism.app>
2023-12-19 10:44:26 +01:00
Michael Mayer
d8cece1d2e Setup: Update Linux package installation docs #3861
Signed-off-by: Michael Mayer <michael@photoprism.app>
2023-12-18 08:35:46 +01:00
graciousgrey
ee8de5e39f Tests: Add unit tests #3943 2023-12-15 13:16:32 +01:00
Michael Mayer
8e81f78c12 Metadata: Add "TV" to list of special terms in specialwords.go
Signed-off-by: Michael Mayer <michael@photoprism.app>
2023-12-14 16:11:32 +01:00
graciousgrey
0c4c3215f4 Tests: Add unit tests #3943 2023-12-14 14:19:43 +01:00
Michael Mayer
a29ac670f7 Metadata: Update list of special terms in specialwords.go
Signed-off-by: Michael Mayer <michael@photoprism.app>
2023-12-13 22:09:31 +01:00
Michael Mayer
cf93437b1c Frontend: Update deps in package-lock.json
Signed-off-by: Michael Mayer <michael@photoprism.app>
2023-12-13 15:39:54 +01:00
graciousgrey
759dbe540a Auth: Refactor resources.go 2023-12-13 15:36:39 +01:00
Michael Mayer
5fa0b08f20 Scripts: Add pronounceable name generator to dist/install-admin-tools.sh
Signed-off-by: Michael Mayer <michael@photoprism.app>
2023-12-13 15:27:27 +01:00
Michael Mayer
467f7b1585 OAuth2: Add Client Credentials Authentication #213 #782 #808 #3730 #3943
This adds standard OAuth2 client credentials and bearer token support as
well as scope-based authorization checks for REST API clients. Note that
this initial implementation should not be used in production and that
the access token limit has not been implemented yet.

Signed-off-by: Michael Mayer <michael@photoprism.app>
2023-12-12 18:42:50 +01:00
Michael Mayer
e80b07795c Metadata: Update list of special terms in specialwords.go
Signed-off-by: Michael Mayer <michael@photoprism.app>
2023-12-11 17:55:22 +01:00
Michael Mayer
dbe525b99a Metadata: Update list of special terms in specialwords.go
Signed-off-by: Michael Mayer <michael@photoprism.app>
2023-12-11 09:25:16 +01:00
Michael Mayer
636dad9fa1 Frontend: Update deps in package-lock.json
Signed-off-by: Michael Mayer <michael@photoprism.app>
2023-12-11 09:18:10 +01:00
Michael Mayer
fb39fc86dc Docs: Update license and copyright notice for third-party packages
Signed-off-by: Michael Mayer <michael@photoprism.app>
2023-12-11 09:10:07 +01:00
Michael Mayer
4efff4a3d1 Frontend: Add license and copyright notice for SVG brand icons
Signed-off-by: Michael Mayer <michael@photoprism.app>
2023-12-11 08:51:49 +01:00
Michael Mayer
4fe7e9cc44 Frontend: Update SVG icons in assets/static/brands
Font Awesome Free v6.5.1, Released November 2023
Downloaded from https://fontawesome.com/download

Signed-off-by: Michael Mayer <michael@photoprism.app>
2023-12-11 07:49:34 +01:00
Michael Mayer
e3857a45f9 Develop: Add Prometheus test server configuration #213 #3730 #3943
Signed-off-by: Michael Mayer <michael@photoprism.app>
2023-12-09 20:34:50 +01:00
Michael Mayer
837b2cfb40 Frontend: Update deps in package-lock.json
Signed-off-by: Michael Mayer <michael@photoprism.app>
2023-12-09 20:28:12 +01:00
Michael Mayer
2dc680adc9 Metadata: Update list of special terms in specialwords.go
Signed-off-by: Michael Mayer <michael@photoprism.app>
2023-12-09 16:37:15 +01:00