Skip to content

API: Add support for OAuth2 Client Credentials and Access Tokens #3943

@lastzero

Description

@lastzero

External applications must be able to authenticate with OAuth2 Client Credentials in order to obtain valid Access Tokens for communication with our REST API.

Further OAuth2 use cases and authentication options are beyond the scope of this issue. They may be added over time after this has been implemented.

Acceptance Criteria:

  • In addition to (a) implementing a POST /api/v1/oauth/token endpoint for creating access tokens, this includes (b) adding support for standard Bearer Token authentication headers and (c) a minimum of scope-based authorization checks.
  • As a first step, Prometheus should be able to query the GET /api/v1/metrics endpoint with authentication so that it won't need to be publicly accessible: API: Expose Prometheus-style metrics endpoint #3730
  • Helpful implementation details and usage examples should be added to the docs, so developers understand the authentication options and know how to use the API: https://docs.photoprism.app/developer-guide/

Related Issues:

Protocol References:

Authentication Libraries:

Documentation Examples:

Metadata

Metadata

Assignees

Labels

authenticationUser Account Management and AuthenticationenhancementEnhancement or improvement of an existing featurereleasedAvailable in the stable releasesecurityImpact on server or browser securitytestedChanges have been tested successfully

Type

No type

Projects

Status

Release 🌈

Milestone

No milestone

Relationships

None yet

Development

No branches or pull requests

Issue actions