Commit Graph

44 Commits

Author SHA1 Message Date
Michael Mayer
42edf100ee Vision: Allow use of configured service key for API authentication #5299
Signed-off-by: Michael Mayer <michael@photoprism.app>
2025-10-30 10:02:16 +01:00
Michael Mayer
1408e99135 Auth: Fix client role lookup in auth_session.go
Signed-off-by: Michael Mayer <michael@photoprism.app>
2025-10-28 19:34:55 +01:00
Michael Mayer
9514542d44 Auth: Extend user accounts with custom scope setting
Signed-off-by: Michael Mayer <michael@photoprism.app>
2025-10-22 19:58:56 +02:00
Michael Mayer
a921f82a17 Pkg: Move /service/http/... to /http/... and add package /http/dns
Signed-off-by: Michael Mayer <michael@photoprism.app>
2025-10-19 21:08:48 +02:00
Michael Mayer
94b6631b3d Test: Use PascalCase names for all Go subtests in /internal
Signed-off-by: Michael Mayer <michael@photoprism.app>
2025-10-02 14:50:02 +02:00
Michael Mayer
887a39e7d9 Auth: Add "node" and "portal" roles, refactor session entity #98
Signed-off-by: Michael Mayer <michael@photoprism.app>
2025-09-18 13:33:18 +02:00
Michael Mayer
023fbe3a1d Pkg: Add service/cluster package & rename media/http → service/http #98
Signed-off-by: Michael Mayer <michael@photoprism.app>
2025-09-13 12:58:28 +02:00
Michael Mayer
6a89519e63 Videos: Refactor codec, content and file type specifications #4770
Signed-off-by: Michael Mayer <michael@photoprism.app>
2025-02-05 00:30:45 +01:00
Michael Mayer
1f4f65e988 Server: Add "force" and "mode" flags for sockets #4673 #4767 #4765 #4467
These changes allow you to force the re-creation of existing Unix domain
sockets and set the permissions of sockets after they have been created.

The flag or variable value for this must be formatted as follows:
--http-host="unix:/var/run/photoprism.sock?force=true&mode=660"

Signed-off-by: Michael Mayer <michael@photoprism.app>
2025-02-04 12:03:00 +01:00
Michael Mayer
0ada8d1095 API: Add additional fields to label and subject edit forms #383 #3168
Signed-off-by: Michael Mayer <michael@photoprism.app>
2025-01-17 02:55:07 +01:00
Michael Mayer
fe9caaa83b OIDC: Improve CLI commands and add AuthIssuer to users and sessions #782
Signed-off-by: Michael Mayer <michael@photoprism.app>
2024-07-09 11:01:59 +02:00
Michael Mayer
1ee04c3017 Backend: Move unix package to /pkg/time/unix
Signed-off-by: Michael Mayer <michael@photoprism.app>
2024-07-03 09:31:27 +02:00
Michael Mayer
44b94d0f62 Backend: Move report package to /pkg/txt/report
Signed-off-by: Michael Mayer <michael@photoprism.app>
2024-07-03 09:29:15 +02:00
Michael Mayer
a97f8d0795 API: Implement OIDC redirect endpoint #782
Requires further testing and refinement before it can be released.

Signed-off-by: Michael Mayer <michael@photoprism.app>
2024-07-01 16:50:53 +02:00
Michael Mayer
153bb8e564 Auth: Extend session lifetime if 2FA is enabled #808 #3943 #4114
Signed-off-by: Michael Mayer <michael@photoprism.app>
2024-04-12 13:30:30 +02:00
Michael Mayer
33fac8f404 API: Implement creation and revocation of app passwords #808 #4114
Note that these changes are not production ready yet and must be tested
well before releasing them.

Signed-off-by: Michael Mayer <michael@photoprism.app>
2024-04-07 16:44:30 +02:00
Michael Mayer
b11491c9d6 Auth: Refactor grant, method, and provider types in pkg/authn #808 #4114
Signed-off-by: Michael Mayer <michael@photoprism.app>
2024-04-06 15:13:15 +02:00
Michael Mayer
fdc2062d33 Account: Refactor access token API and request forms #808 #4114
Signed-off-by: Michael Mayer <michael@photoprism.app>
2024-04-05 14:46:11 +02:00
Michael Mayer
37c3c9d624 Account: Add auth-related error messages to pkg/authn #808 #4114
Signed-off-by: Michael Mayer <michael@photoprism.app>
2024-03-29 12:16:26 +01:00
Michael Mayer
1912cd54ca Account: Add GET /api/v1/users/:uid/sessions endpoint #808 #4114
Signed-off-by: Michael Mayer <michael@photoprism.app>
2024-03-28 13:24:12 +01:00
graciousgrey
07e1eb0b11 Tests: Add unit tests #808 #3943 2024-03-22 14:57:32 +01:00
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
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
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
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
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
graciousgrey
121a19c58c Tests: Add unit tests #3943 2024-01-16 16:10:57 +01:00
graciousgrey
4e7a61ffe5 Tests: Add unit tests 2024-01-15 17:12:34 +01:00
Michael Mayer
fed1d8ad95 Auth: Accept access token as passwd with fail rate limit #782 #808 #3943
Signed-off-by: Michael Mayer <michael@photoprism.app>
2024-01-14 18:28:17 +01:00
Michael Mayer
e03dbe5d16 OAuth2: Refactor limit for number of access tokens / sessions #808 #3943
Signed-off-by: Michael Mayer <michael@photoprism.app>
2024-01-09 13:46:55 +01:00
Michael Mayer
3e924b70c7 API: Move handling of HTTP auth headers to pkg/header #808 #3943 #3959
Signed-off-by: Michael Mayer <michael@photoprism.app>
2024-01-09 10:58:47 +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
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
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
graciousgrey
eece27a0ae Tests: Add unit tests 2023-08-07 14:46:32 +02:00
graciousgrey
9f17d64ea3 Tests: Add unit tests 2023-08-07 14:46:32 +02:00
graciousgrey
a3f253c9de Tests: Add unit tests 2023-08-04 17:34:28 +02:00
graciousgrey
a3bb4a2f0e Tests: Add unit tests 2023-08-04 16:23:08 +02:00
graciousgrey
63daf10bf9 Tests: Add unit tests 2023-08-02 16:44:12 +02:00
graciousgrey
ca40954796 Tests: Add unit tests for wildcard search #2050 2023-08-02 16:00:57 +02:00
Michael Mayer
bac6ae0cbd Sessions: Add max age and timeout config options #98 #782
Signed-off-by: Michael Mayer <michael@photoprism.app>
2022-10-03 22:59:29 +02:00
Michael Mayer
6e74f16a77 Auth: Open album share links in the regular user interface #98 #782
Signed-off-by: Michael Mayer <michael@photoprism.app>
2022-10-02 11:38:30 +02:00
Michael Mayer
f5a8c5a45d Auth: Session and ACL enhancements #98 #1746
Signed-off-by: Michael Mayer <michael@photoprism.app>
2022-09-28 09:01:17 +02:00