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:
Related Issues:
Protocol References:
Authentication Libraries:
Documentation Examples:
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:
POST /api/v1/oauth/tokenendpoint for creating access tokens, this includes (b) adding support for standard Bearer Token authentication headers and (c) a minimum of scope-based authorization checks.GET /api/v1/metricsendpoint with authentication so that it won't need to be publicly accessible: API: Expose Prometheus-style metrics endpoint #3730Related Issues:
authorizeAPI endpoint to implement the authorization code flow #4368userinfoAPI endpoint to get information about the logged in user #4369Protocol References:
Authentication Libraries:
Documentation Examples: