- Dockerfile: multi-stage build, non-root user, src/static tracked with .gitkeep - Nomad job: force_pull=true, Traefik router fixed to tink-demo.i80.dk, loadbalancer.server.port=8000, job renamed from moneycapp-tink-demo - CI/CD: git SHA image tags (deterministic deploys), removed .env.production baking — secrets injected at runtime via Consul KV template stanza - Session security: asyncio lock prevents duplicate code exchange on callback, guard for already-stored token, api_log moved server-side (cookie overflow fix) Co-authored-by: Copilot <223556219+Copilot@users.noreply.github.com>
1.8 KiB
1.8 KiB
MoneyCapp × Tink API Demo
"Sales-y Swagger" — step-for-step gennemgang af Tink integrationsflowet med live JSON responses.
Hvad det er
En hosted demo-app der viser hele Tink onboarding-flowet:
| Step | Endpoint | Version |
|---|---|---|
| 1 | POST /api/v1/oauth/token — Client Credentials |
v1 |
| 2 | POST /api/v1/user/create — Opret bruger |
v1 |
| 3 | Tink Link redirect — Tilslut bank | Link v1 |
| 4 | GET /data/v2/accounts — Konti med balances |
v2 |
| 5 | GET /data/v2/transactions — Transaktioner |
v2 |
| 6 | GET /events/v2/account-transactions + webhooks |
v2 |
Quick start (lokal dev)
cp .env.example .env
# Udfyld TINK_CLIENT_ID og TINK_CLIENT_SECRET fra Tink Console
# Tilføj http://localhost:8000/callback som Redirect URI i Tink Console
python3 -m venv .venv && source .venv/bin/activate
pip install -r requirements.txt
uvicorn src.main:app --reload
# Åbn http://localhost:8000
Docker
docker compose up
Deploy til i80/Nomad
Kun relevant for i80-infrastruktur. For din egen infra: byg Docker image og kør med env vars.
- Læg credentials i Consul KV:
consul kv put tink-demo/TINK_CLIENT_ID <din_client_id> consul kv put tink-demo/TINK_CLIENT_SECRET <din_client_secret> - Tilføj
https://tink-demo.i80.dk/callbacksom Redirect URI i Tink Console - Push til
main→ Gitea Actions bygger og deployer automatisk
Docker (self-hosted)
cp .env.example .env
# Udfyld TINK_CLIENT_ID og TINK_CLIENT_SECRET
docker compose up
- Gå til console.tink.com
- Opret en app → kopiér Client ID + Secret til
.env - Under Redirect URIs: tilføj din callback URL
- Under Scopes: aktiver
accounts:read,transactions:read,credentials:read/write,user:create