Commit Graph

50 Commits

Author SHA1 Message Date
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
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
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
62ddac3142 Tests: Add unit tests 2024-01-19 15:29:09 +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
9586a9ec69 Auth: Refactor API to allow auth secrets to be used as tokens #808 #3943
Signed-off-by: Michael Mayer <michael@photoprism.app>
2024-01-14 12:01:26 +01:00
Michael Mayer
e21e462f00 Auth: Improve "auth add" and "client add" CLI commands #808 #3943
Signed-off-by: Michael Mayer <michael@photoprism.app>
2024-01-13 16:27:05 +01:00
Michael Mayer
7d78ee803a Use human-friendly secrets & names for personal access tokens #808 #3943
Signed-off-by: Michael Mayer <michael@photoprism.app>
2024-01-10 17:23:08 +01:00
Michael Mayer
94e361a8fd WebDAV: Add authorization check based on auth tokens #782 #808 #3943
Signed-off-by: Michael Mayer <michael@photoprism.app>
2024-01-10 16:54:13 +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
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
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
ab491c3032 2FA: Add generator for random 16-digit app passwords #808
Signed-off-by: Michael Mayer <michael@photoprism.app>
2023-11-27 19:43:53 +01:00
Michael Mayer
a5a538a67e Links: Change https://photoprism.app/ to https://www.photoprism.app/
Signed-off-by: Michael Mayer <michael@photoprism.app>
2023-02-08 09:07:42 +01:00
Michael Mayer
4066cd7ad1 Update year in copyright notices
Signed-off-by: Michael Mayer <michael@photoprism.app>
2023-01-11 16:43:01 +01:00
Michael Mayer
4f425790ab Auth: Remember ownership of uploaded photos and albums #98 #782
Signed-off-by: Michael Mayer <michael@photoprism.app>
2022-09-30 19:15:10 +02:00
Michael Mayer
323d495840 Auth: Apply user rights and permissions in the search API #98 #782
Signed-off-by: Michael Mayer <michael@photoprism.app>
2022-09-30 00:42:19 +02:00
Michael Mayer
b32a970aab Auth: Add RandomBytes() to generate secure random bytes #98 #782
Signed-off-by: Michael Mayer <michael@photoprism.app>
2022-09-28 13:38:08 +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
Michael Mayer
b072a18a17 Backend: Run "make fmt" with Go v1.19
Signed-off-by: Michael Mayer <michael@photoprism.app>
2022-08-10 16:09:21 +02:00
Michael Mayer
0852e659c2 API: Improve logs and add /api/v1/connect endpoint for auth callbacks
Signed-off-by: Michael Mayer <michael@photoprism.app>
2022-07-19 16:58:43 +02:00
Michael Mayer
acc779f107 Albums: Restore deleted album when trying to create it again #2429 2022-06-16 18:59:03 +02:00
Michael Mayer
18a248d464 Backend: Upgrade satori/go.uuid from v1.2.0 to v1.2.1 2022-06-16 03:34:20 +02:00
Michael Mayer
92e6c4fe1e Download: Add Disabled, Originals, MediaRaw & MediaSidecar Flags #2234
Extends DownloadSettings with 4 additional options:
- Name: File name pattern for downloaded files (existed)
- Disabled: Disables downloads
- Originals: Only download files stored in "originals" folder
- MediaRaw: Include RAW image files
- MediaSidecar: Include metadata sidecar files (JSON, XMP, YAML)
2022-04-15 09:42:07 +02:00
Michael Mayer
82d61d1f93 File Types: Add experimental support for animated GIFs #590 #2207
Animated GIFs are transcoded to AVC because it is much smaller and
thus also suitable for long/large animations. In addition, this commit
adds support for more metadata fields such as frame rate, number of
frames, file capture timestamp (unix milliseconds), media type,
and software version. Support for SVG files can later be implemented in
a similar way.
2022-04-13 22:17:59 +02:00
Michael Mayer
c256664a1b WebDAV: Fix upload of complete albums #1376 2022-02-27 17:32:54 +01:00
Michael Mayer
c853b3cd2d Backend: Shorten source file headers and normalize email addresses 2022-02-21 15:30:18 +01:00
Michael Mayer
8efe473d30 Copyright: Update year in source files and footer.vue 2022-01-03 13:46:52 +01:00
Michael Mayer
e9fabfa8e4 Docs: Update URL 2021-12-12 20:14:07 +01:00
Michael Mayer
df1ffc68cf UX: Reduce loading-animation size on slash screen 2021-11-20 16:27:30 +01:00
Michael Mayer
04d2cfa650 People: Use slug as search filter #22 2021-09-20 12:36:59 +02:00
Michael Mayer
9ec2381307 Update copyright after year change 2021-01-01 22:37:25 +01:00
Theresa Gresch
b6d9d7e11f Backend: Add tests for pkg 2020-10-19 15:11:27 +02:00
Michael Mayer
d38c84bbfb Update trademark
Signed-off-by: Michael Mayer <michael@liquidbytes.net>
2020-09-21 02:48:22 +02:00
Michael Mayer
91a1a1ca27 Backend: Ignore image unique IDs that are not standard UUIDs
Signed-off-by: Michael Mayer <michael@liquidbytes.net>
2020-07-23 15:34:20 +02:00
Theresa Gresch
0faf7dbb7f Backend: Add unit tests for pkg 2020-07-07 16:29:55 +02:00
Michael Mayer
bfd73932e5 Improve UX and title generation from file names
Signed-off-by: Michael Mayer <michael@liquidbytes.net>
2020-06-29 11:10:24 +02:00
Michael Mayer
1a0398d01f Docs: Fix indentation
Signed-off-by: Michael Mayer <michael@liquidbytes.net>
2020-06-23 13:53:11 +02:00
Michael Mayer
4154715512 Docs: Update package information and copyright
Signed-off-by: Michael Mayer <michael@liquidbytes.net>
2020-06-23 13:44:14 +02:00
Michael Mayer
722d7dd421 Improve link sharing dialog and api #18
Signed-off-by: Michael Mayer <michael@liquidbytes.net>
2020-06-22 15:16:26 +02:00
Michael Mayer
973911fabf Backend: Code clean-up and small improvements
Signed-off-by: Michael Mayer <michael@liquidbytes.net>
2020-06-01 12:08:08 +02:00
Theresa Gresch
ad9167360d
Feature/246 (#345)
* Import: Implement "add to album" in backend #246

Signed-off-by: Michael Mayer <michael@liquidbytes.net>

* Import: Implement "add to album" in frontend #246

Signed-off-by: Michael Mayer <michael@liquidbytes.net>

* Add OriginalName to photo search result

Signed-off-by: Michael Mayer <michael@liquidbytes.net>

* Add json tags to PhotoName and PhotoPath

Signed-off-by: Michael Mayer <michael@liquidbytes.net>

* Photo: Use EstimateCountry() in UpdateLocation()

Signed-off-by: Michael Mayer <michael@liquidbytes.net>

* Photo: Set OriginalName earlier while indexing

Signed-off-by: Michael Mayer <michael@liquidbytes.net>

* Ignore whitespace when stripping sequence from filename #335

Signed-off-by: Michael Mayer <michael@liquidbytes.net>

* Fix labels count for SQLite

Signed-off-by: Michael Mayer <michael@liquidbytes.net>

* Import: Show name of new albums #246

Signed-off-by: Michael Mayer <michael@liquidbytes.net>

* Frontend: Add acceptance test files

Co-authored-by: Michael Mayer <michael@liquidbytes.net>
2020-06-01 09:45:24 +02:00
Michael Mayer
6f6e3799dc Refactor download urls and client config
Signed-off-by: Michael Mayer <michael@liquidbytes.net>
2020-05-27 19:38:40 +02:00
Michael Mayer
f510ac994c XMP: Group files based on DocumentID and Instance ID #335
Signed-off-by: Michael Mayer <michael@liquidbytes.net>
2020-05-27 13:40:21 +02:00
Michael Mayer
03ec4b586d Initial commit for folders and moments #154 #260 #331
Signed-off-by: Michael Mayer <michael@liquidbytes.net>
2020-05-23 20:58:58 +02:00
Michael Mayer
e3356aa79b Backend: Don't regenerate existing unique IDs
Signed-off-by: Michael Mayer <michael@liquidbytes.net>
2020-05-01 12:57:26 +02:00
Michael Mayer
54d33e2a43 Shorten unique IDs
Signed-off-by: Michael Mayer <michael@liquidbytes.net>
2020-01-23 09:50:43 +01:00
Michael Mayer
c6866bb746 Backend: Update label rules
Signed-off-by: Michael Mayer <michael@liquidbytes.net>
2020-01-13 11:08:50 +01:00
Michael Mayer
f8a45b14d9 Backend: Move reusable packages to pkg/
Signed-off-by: Michael Mayer <michael@liquidbytes.net>
2020-01-12 14:00:56 +01:00