https://github.com/rmorlok/authproxy
Authenticating proxy server for connecting to 3rd party APIs
https://github.com/rmorlok/authproxy
Last synced: 11 months ago
JSON representation
Authenticating proxy server for connecting to 3rd party APIs
- Host: GitHub
- URL: https://github.com/rmorlok/authproxy
- Owner: rmorlok
- License: mit
- Created: 2024-07-13T12:11:34.000Z (almost 2 years ago)
- Default Branch: main
- Last Pushed: 2025-06-26T02:50:55.000Z (12 months ago)
- Last Synced: 2025-06-26T03:32:52.036Z (12 months ago)
- Language: Go
- Size: 7.27 MB
- Stars: 1
- Watchers: 1
- Forks: 0
- Open Issues: 0
-
Metadata Files:
- Readme: README.md
- License: LICENSE
Awesome Lists containing this project
- awesome-agent-runtime-security - authproxy - injection, OAuth2, audit | Embeddable open-source iPaaS HTTP proxy: application sends requests without credentials, authproxy injects the appropriate auth (OAuth2 bearer, API key), auto-refreshes expired tokens, logs every request for auditability. Declarative YAML connector definitions, pre-built admin UI, connector marketplace. | (Secrets Management & Isolation)
README
# AuthProxy
## Running Locally
Create a network for the asynq system to interact with redis:
```bash
docker network create authproxy
```
Start redis:
```bash
docker run --name redis-server -p 6379:6379 --network authproxy -d redis
```
Start the AuthProxy backend
```bash
go run ./cli/server serve --config=./dev_config/default.yaml all
```
Run the client to proxy authenticated calls to the backend:
```bash
go run ./cli/client raw-proxy --enableMarketplaceLoginRedirect=true --proxyTo=api
```
Run the marketplace UI:
```bash
cd marketplace_portal
nvm use v18.16.0
yarn
yarn dev
```
### Viewing Background Tasks
To manage tasks in asynq, install the [asynq cli](https://github.com/hibiken/asynq/blob/master/tools/asynq/README.md):
```bash
go install github.com/hibiken/asynq/tools/asynq@latest
```
and run the cli:
```bash
asynq dash
````
run the web monitoring tool:
```bash
docker run --rm \
--name asynqmon \
--network authproxy \
-p 8090:8080 \
hibiken/asynqmon \
--redis-addr=redis-server:6379
```
open the web ui:
```bash
open http://localhost:8090
```
## Client Config
The client cli looks for a config file at `~/.authproxy.yaml`:
```yaml
admin_username: bobdole
admin_private_key_path: /path/to/private/key
server:
api: http://localhost:8081
```