Commit Graph

75 Commits

Author SHA1 Message Date
Michael Mayer
57060844ba Auth: Improve user model and search in backend and frontend
Signed-off-by: Michael Mayer <michael@photoprism.app>
2025-03-18 09:00:50 +01:00
Michael Mayer
d0239ba209 UX: Improve quota calculation and checks in config and api #4266
Signed-off-by: Michael Mayer <michael@photoprism.app>
2025-03-17 16:12:47 +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
fc5d8cb9a9 Entities: Improve Stringer interface implementations for logging #4490
Signed-off-by: Michael Mayer <michael@photoprism.app>
2024-08-29 10:35:18 +02:00
Michael Mayer
1f51d9cfea Auth: Add --remove flag to "photoprism passwd" command #782
see https://docs.photoprism.app/known-issues/#openid-connect-oidc

Signed-off-by: Michael Mayer <michael@photoprism.app>
2024-07-09 17:40:26 +02:00
Michael Mayer
20eec57b02 OIDC: Prevent duplicate super admin accounts from getting disabled #782
Signed-off-by: Michael Mayer <michael@photoprism.app>
2024-07-09 16:13:37 +02:00
Michael Mayer
ec379d1ad3 Auth: Prevent admins from locking themselves out #782
Signed-off-by: Michael Mayer <michael@photoprism.app>
2024-07-09 13:50:34 +02:00
Michael Mayer
4243032629 OIDC: Refactor Subject and Issuer update in redirect API endpoint #782
Signed-off-by: Michael Mayer <michael@photoprism.app>
2024-07-09 12:06:56 +02:00
Michael Mayer
0afb4ddee9 OIDC: Add UpdateAuthID() method to User entity model #782
Signed-off-by: Michael Mayer <michael@photoprism.app>
2024-07-09 11:47:26 +02: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
11e5246e33 OIDC: Ensure subject IDs are unique and super-admins can edit them #782
Signed-off-by: Michael Mayer <michael@photoprism.app>
2024-07-08 18:16:24 +02:00
Michael Mayer
8db269a742 OIDC: Upgrade "zitadel/oidc" from v2 to v3 #782
Signed-off-by: Michael Mayer <michael@photoprism.app>
2024-07-06 11:27:03 +02:00
Michael Mayer
c970511c82 OIDC: Upgrade "zitadel/oidc" from v1 to v2 #782
Signed-off-by: Michael Mayer <michael@photoprism.app>
2024-07-06 11:15:23 +02:00
Michael Mayer
40f86c9871 OIDC: Change order for determining the preferred username #782
Signed-off-by: Michael Mayer <michael@photoprism.app>
2024-07-05 15:18:08 +02:00
Michael Mayer
be68b4a01b OIDC: Append random 6-digit number if a username already exists #782
This also allows admins to set a login password for accounts registered
via OIDC.

Signed-off-by: Michael Mayer <michael@photoprism.app>
2024-07-05 14:17:09 +02:00
Michael Mayer
ecbe422893 OIDC: Allow to use name claim as username #782
Signed-off-by: Michael Mayer <michael@photoprism.app>
2024-07-05 13:13:45 +02:00
Michael Mayer
fbb0284efa OIDC: Allow to use nickname as username #782
Signed-off-by: Michael Mayer <michael@photoprism.app>
2024-07-05 10:47:09 +02:00
Michael Mayer
2230dfb216 OIDC: Set user avatar image from profile information #782
Signed-off-by: Michael Mayer <michael@photoprism.app>
2024-07-02 13:38:36 +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
7430adbb33 Search: Change time_format to RFC3339 and add "edited" filter #4300
Signed-off-by: Michael Mayer <michael@photoprism.app>
2024-05-27 09:16:21 +02:00
Michael Mayer
13255695e5 Albums: Remove photo from review when adding it to an album #4229
Signed-off-by: Michael Mayer <michael@photoprism.app>
2024-05-09 16:00:53 +02:00
Michael Mayer
c8acfb98c0 Auth: Improve error message in auth_user.go 2024-04-25 11:36:15 +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
2185618910 API: Refactor authentication failure rate limit #808 #3943
Signed-off-by: Michael Mayer <michael@photoprism.app>
2024-04-04 11:18:05 +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
Michael Mayer
edac621daf Auth: Deactivate 2FA if recovery code has been used #808
Signed-off-by: Michael Mayer <michael@photoprism.app>
2024-03-21 19:26:44 +01:00
Michael Mayer
4425becb3d Auth: Implement 2FA setup and login in the web user interface #808 #3943
Signed-off-by: Michael Mayer <michael@photoprism.app>
2024-03-21 14:32:51 +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
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
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
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
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
3c0f1f37ad Share: Ensure that shares are always loaded in the user entity model
Signed-off-by: Michael Mayer <michael@photoprism.app>
2023-10-10 14:32:04 +02:00
Michael Mayer
80dd926f2d Share: Improve query validation in the search and albums API
Signed-off-by: Michael Mayer <michael@photoprism.app>
2023-10-07 17:33:04 +02:00
Michael Mayer
0f321b10bc Logs: Update log levels and messages
Signed-off-by: Michael Mayer <michael@photoprism.app>
2023-10-07 16:00:23 +02:00
Michael Mayer
ede4b3b897 Config: Refactor authentication settings #782
Signed-off-by: Michael Mayer <michael@photoprism.app>
2023-10-07 11:09:27 +02:00
Michael Mayer
4931889b5e Auth: Improve privilege level change detection #3512
Signed-off-by: Michael Mayer <michael@photoprism.app>
2023-07-18 23:35:10 +02:00
Michael Mayer
7b9b2ae0c6 Auth: Delete user sessions after a permission level change #3512
Signed-off-by: Michael Mayer <michael@photoprism.app>
2023-07-18 16:38:10 +02:00
Michael Mayer
accb17bec9 Auth: Update invalid role log message in user entity
Signed-off-by: Michael Mayer <michael@photoprism.app>
2023-06-26 11:46:32 +02:00
Michael Mayer
87b6d72477 CLI: Improve length check in "photoprism passwd" command #3482
Signed-off-by: Michael Mayer <michael@photoprism.app>
2023-06-19 17:24:02 +02:00
Michael Mayer
d50da1e007 Auth: Only allow setting a password hash for the initial account #1987
Signed-off-by: Michael Mayer <michael@photoprism.app>
2023-04-13 19:46:00 +02:00
Michael Mayer
addc5e8251 Auth: Refactor users path configuration and base path default
Signed-off-by: Michael Mayer <michael@photoprism.app>
2023-03-14 21:47:14 +01:00
Michael Mayer
9ab833c2ec Auth: Improve username validation and parsing
Signed-off-by: Michael Mayer <michael@photoprism.app>
2023-03-14 16:36:30 +01:00
Michael Mayer
88367b4ff7 Auth: Refactor user model and path validation #98
Signed-off-by: Michael Mayer <michael@photoprism.app>
2023-03-13 17:52:48 +01:00
Michael Mayer
36d62b5506 Auth: Refactor user model and improve validation #98
Signed-off-by: Michael Mayer <michael@photoprism.app>
2023-03-13 17:36:56 +01:00
Michael Mayer
5b73101442 Auth: Refactor user roles and auth providers in entity model #98
Signed-off-by: Michael Mayer <michael@photoprism.app>
2023-03-13 16:04:37 +01:00
Michael Mayer
a425027a9b Auth: Prevent unauthorized users from using the application #98
Signed-off-by: Michael Mayer <michael@photoprism.app>
2023-03-10 13:20:16 +01:00
Michael Mayer
ad5e9b2e21 User Details: Increase size of bio field, add about to UI #98
Signed-off-by: Michael Mayer <michael@photoprism.app>
2023-03-10 10:21:46 +01:00
Michael Mayer
654b41afe5 Auth: Prevent duplicate usernames when renaming accounts #98
Signed-off-by: Michael Mayer <michael@photoprism.app>
2023-03-09 19:56:07 +01:00