You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
Copy file name to clipboardExpand all lines: README.md
+219-5Lines changed: 219 additions & 5 deletions
Display the source diff
Display the rich diff
Original file line number
Diff line number
Diff line change
@@ -3,12 +3,226 @@
3
3
> [!WARNING]
4
4
> This project is currently in active development and may change drastically in the near future while we work towards solidifying a first release.
5
5
6
-
STAC Auth Proxy is a proxy API that mediates between the client and and some internally accessible STAC API in order to provide a flexible authentication mechanism.
6
+
STAC Auth Proxy is a proxy API that mediates between the client and an internally accessible STAC API in order to provide a flexible authentication, authorization, and content filtering mechanism.
7
7
8
8
## Features
9
9
10
-
- 🔐 Selectively apply OIDC auth to some or all endpoints & methods
11
-
- 📖 Augments [OpenAPI](https://swagger.io/specification/) with auth information, keeping auto-generated docs (e.g. [Swagger UI](https://swagger.io/tools/swagger-ui/)) accurate
10
+
- 🔐 Authentication: Selectively apply OIDC auth to some or all endpoints & methods
11
+
- 🎟️ Content Filtering: Apply CQL2 filters to client requests, filtering API content based on user context
12
+
- 📖 OpenAPI Augmentation: Update [OpenAPI](https://swagger.io/specification/) with security requirements, keeping auto-generated docs (e.g. [Swagger UI](https://swagger.io/tools/swagger-ui/)) accurate
Routes can be configured as requiring a valid authentication token by by specifying a blanket `default_public` rule and then explicit overrides (`private_endpoints` or `public_endpoints`) when exceptions are necessary.
42
+
43
+
-`DEFAULT_PUBLIC`
44
+
45
+
-**Description:** Default access policy for endpoints
46
+
-**Type:** boolean
47
+
-**Default:**`false`
48
+
-**Example:**`false`, `1`, `True`
49
+
50
+
-`PRIVATE_ENDPOINTS`
51
+
52
+
-**Description:** Endpoints explicitely marked as requiring authentication
53
+
-**Type:** JSON object mapping regex patterns to HTTP methods
- Debug endpoint for troubleshooting (when enabled)
224
+
225
+
This design provides a robust, secure, and efficient proxy layer for STAC APIs while maintaining flexibility for different deployment scenarios and requirements.
12
226
13
227
### CQL2 Filters
14
228
@@ -34,8 +248,8 @@ Only return collections that are mentioned in a `collections` array encoded with
34
248
Set up connection to upstream STAC API and the OpenID Connect provider by setting the following environment variables:
0 commit comments