Add VS Code configuration files and demo token hashes for local testing
Build and Test / verify (push) Successful in 34s
Build and Push Container Image / build-and-push-image (push) Successful in 1m35s

This commit is contained in:
2026-07-12 14:59:34 +02:00
parent fc4f89804c
commit 3cb559ffbc
6 changed files with 113 additions and 3 deletions
+40 -3
View File
@@ -40,6 +40,43 @@ Kleiner Go-basierter Traefik-ForwardAuth-Microservice, der Bearer-Tokens gegen e
Hinweis: Es muss mindestens eine Hash-Quelle (`AUTH_PROXY_TOKEN_HASHES_DIR` oder `AUTH_PROXY_TOKEN_HASHES`) konfiguriert sein.
## Demo-Daten
Fuer schnelle lokale Tests sind Demo-Hashes im Repo enthalten:
- Verzeichnis: `demo/token-hashes/`
- Datei `demo-token-1.sha256` entspricht Klartext-Token: `demo-token-1`
- Datei `demo-token-2.sha256` entspricht Klartext-Token: `demo-token-2`
Die Dateien enthalten nur SHA-256-Hashes und koennen gefahrlos eingecheckt werden.
## VS Code Tasks (Run + Debug + Checks)
Im Projekt sind vier Tasks hinterlegt:
- `Run authproxy (demo hashes)`
- startet den Server mit `go run ./cmd/authproxy`
- nutzt automatisch `AUTH_PROXY_TOKEN_HASHES_DIR=${workspaceFolder}/demo/token-hashes`
- `Debug authproxy (delve, demo hashes)`
- startet den Server im Delve-Debugger (`dlv debug ./cmd/authproxy`)
- nutzt dieselben Demo-ENV-Werte
- `Check authproxy 200 (demo-token-1)`
- prueft per `curl`, dass ein gueltiger Demo-Token den Status `200` liefert
- `Check authproxy 401 (wrong token)`
- prueft per `curl`, dass ein ungueltiger Token den Status `401` liefert
Starten in VS Code ueber: `Terminal -> Run Task...`
Zusaetzlich gibt es eine Launch-Konfiguration fuer Breakpoints:
- `.vscode/launch.json` -> `F5: Debug authproxy (demo hashes)`
F5-Flow:
1. Fuer normalen Betrieb den Task `Run authproxy (demo hashes)` starten.
2. Fuer Debugging direkt die Konfiguration `F5: Debug authproxy (demo hashes)` mit `F5` starten (ohne vorherigen Run-Task).
3. Optional die Check-Tasks fuer `200` und `401` ausfuehren.
## Go Package Registry (Gitea)
Dieses Repo ist auf die Gitea Go Package Registry ausgerichtet.
@@ -74,7 +111,7 @@ go test ./... -v
go vet ./...
go build ./cmd/authproxy
AUTH_PROXY_TOKEN_HASHES="<sha256-hash-1>,<sha256-hash-2>" \
AUTH_PROXY_TOKEN_HASHES_DIR="./demo/token-hashes" \
AUTH_PROXY_LISTEN_ADDR=":8080" \
go run ./cmd/authproxy
```
@@ -88,7 +125,7 @@ echo -n "my-token-1" | sha256sum | awk '{print $1}'
Startbeispiel mit Hashes:
```bash
AUTH_PROXY_TOKEN_HASHES="<sha256-hash-1>,<sha256-hash-2>" \
AUTH_PROXY_TOKEN_HASHES_DIR="./demo/token-hashes" \
AUTH_PROXY_LISTEN_ADDR=":8080" \
go run ./cmd/authproxy
```
@@ -106,7 +143,7 @@ curl -i http://localhost:8080/
curl -i -H "Authorization: Bearer wrong" http://localhost:8080/
# gueltiger Token -> 200
curl -i -H "Authorization: Bearer my-token-1" http://localhost:8080/
curl -i -H "Authorization: Bearer demo-token-1" http://localhost:8080/
```
## Docker