Skip to content

Commit 6643859

Browse files
committed
chores(doc): cleanup for clarity
1 parent 57db5a2 commit 6643859

File tree

1 file changed

+10
-10
lines changed

1 file changed

+10
-10
lines changed

README.md

Lines changed: 10 additions & 10 deletions
Original file line numberDiff line numberDiff line change
@@ -1,14 +1,14 @@
11
<div align="center">
22
<h1 style="font-family: monospace">stac auth proxy</h1>
3-
<p align="center">Reverse proxy to apply auth*n to STAC APIs.</p>
3+
<p align="center">Reverse proxy to apply auth*n your STAC API.</p>
44
</div>
55

66
---
77

88
> [!WARNING]
99
> This project is currently in active development and may change drastically in the near future while we work towards solidifying a first release.
1010
11-
STAC Auth Proxy is a proxy API that mediates between the client and an internally accessible STAC API to provide a flexible authentication, authorization, and content-filtering mechanism.
11+
STAC Auth Proxy is a proxy API that mediates between the client and your internally accessible STAC API to provide flexible authentication, authorization, and content-filtering mechanisms.
1212

1313
## Features
1414

@@ -71,12 +71,12 @@ The application is configurable via environment variables.
7171
- `DEFAULT_PUBLIC`
7272
- **Description:** Default access policy for endpoints
7373
- **Type:** boolean
74-
- **Default:** `false`
74+
- **Required:** No, defaults to `false`
7575
- **Example:** `false`, `1`, `True`
7676
- `PRIVATE_ENDPOINTS`
7777
- **Description:** Endpoints explicitly marked as requiring authentication, for use when `DEFAULT_PUBLIC == True`
7878
- **Type:** JSON object mapping regex patterns to HTTP methods OR tuples of HTTP methods and an array of strings representing required scopes
79-
- **Default:**
79+
- **Required:** No, defaults to the following:
8080
```json
8181
{
8282
"^/collections$": ["POST"],
@@ -89,7 +89,7 @@ The application is configurable via environment variables.
8989
- `PUBLIC_ENDPOINTS`
9090
- **Description:** Endpoints explicitly marked as not requiring authentication, for use when `DEFAULT_PUBLIC == False`
9191
- **Type:** JSON object mapping regex patterns to HTTP methods
92-
- **Default:**
92+
- **Required:** No, defaults to the following:
9393
```json
9494
{
9595
"^/api.html$": ["GET"],
@@ -99,12 +99,12 @@ The application is configurable via environment variables.
9999
- `OPENAPI_SPEC_ENDPOINT`
100100
- Path to serve OpenAPI specification
101101
- **Type:** string or null
102-
- **Default:** `null` (disabled)
102+
- **Required:** No, defaults to `null` (disabled)
103103
- **Example:** `/api`
104104
- `ITEMS_FILTER`
105105
- Configuration for item-level filtering
106106
- **Type:** JSON object with class configuration
107-
- **Default:** `null`
107+
- **Required:** No, defaults to `null` (disabled)
108108
- Components:
109109
- `cls`: Python import path
110110
- `args`: List of positional arguments
@@ -122,7 +122,7 @@ The application is configurable via environment variables.
122122
- `ITEMS_FILTER_ENDPOINTS`
123123
- Where to apply item filtering
124124
- **Type:** JSON object mapping regex patterns to HTTP methods
125-
- **Default:**
125+
- **Required:** No, defaults to the following:
126126
```json
127127
{
128128
"^/search$": ["GET", "POST"],
@@ -132,13 +132,13 @@ The application is configurable via environment variables.
132132

133133
### Customization
134134

135-
While this project aims to provide utility out-of-the-box as a runnable application, it's likely won't address every project's needs. In these situations, this codebase can instead be treated as a library of components that can be used to augment any webserver that makes use of the [ASGI protocol](https://asgi.readthedocs.io/en/latest/) (e.g. [Django](https://docs.djangoproject.com/en/3.0/topics/async/), [Falcon](https://falconframework.org/), [FastAPI](https://github.com/tiangolo/fastapi), [Litestar](https://litestar.dev/), [Responder](https://responder.readthedocs.io/en/latest/), [Sanic](https://sanic.dev/), [Starlette](https://www.starlette.io/)). Review [`app.py`](https://github.com/developmentseed/stac-auth-proxy/blob/main/src/stac_auth_proxy/app.py) to get a sense of how we make use of the various components to construct a FastAPI application.
135+
While the project is designed to work out-of-the-box as an application, it might not address every projects needs. When the need for customization arises, the codebase can instead be treated as a library of components that can be used to augment any [ASGI](https://asgi.readthedocs.io/en/latest/)-compliant webserver (e.g. [Django](https://docs.djangoproject.com/en/3.0/topics/async/), [Falcon](https://falconframework.org/), [FastAPI](https://github.com/tiangolo/fastapi), [Litestar](https://litestar.dev/), [Responder](https://responder.readthedocs.io/en/latest/), [Sanic](https://sanic.dev/), [Starlette](https://www.starlette.io/)). Review [`app.py`](https://github.com/developmentseed/stac-auth-proxy/blob/main/src/stac_auth_proxy/app.py) to get a sense of how we make use of the various components to construct a FastAPI application.
136136

137137
## Architecture
138138

139139
### Middleware Stack
140140

141-
Requests pass through a chain of middleware, each performing individual tasks:
141+
The majority of the proxy's functionality occurs within a chain of middlewares. Each request passes through this chain, wherein each middleware performs a specific task:
142142

143143
1. **EnforceAuthMiddleware**
144144

0 commit comments

Comments
 (0)