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
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:
@@ -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
|
||||
|
||||
Reference in New Issue
Block a user