AletheiaFact / AletheiaFact/aletheia
B2B-10 · Read API keys + per-key rate limiting
- Vorherrschende Sprache
- TypeScript
- Sterne
- 55
- Forks
- 20
- Ø Merge
- 2 T. 6 Std.
- Gemergte PRs (30 T.)
- 2
Beschreibung
Part of the B2B epic (Bloco 3 · item 3.1). Today throttling is **global** (`server/app.module.ts:112-115`) and M2M via Ory Hydra (`m2m.guard.ts`) grants the broad `integration` role with `Create` access — there is no read-only key concept.
## What
- [ ] `ApiKey` entity per client org (hashed key, scopes, namespace binding)
- [ ] Key guard (read-only scope) — key must respect namespace isolation
- [ ] Per-key throttling (replace/augment the global throttle)
- [ ] Define scope model (read-only first; narrow the `integration` role usage)
**Effort:** ~2 SP · **Depends on:** B2B-1..4 (isolation), B2B-5 (org to bind the key to)
Beitragsleitfaden
Für dieses Repository ist kein Beitragsleitfaden indexiert
Rechercherichtung
Start by reading the global throttling setup in server/app.module.ts:112-115 and the M2M authorization flow in m2m.guard.ts. Review the dependencies on B2B-1..4 and B2B-5 before defining the ApiKey entity, read-only scope and namespace checks, per-key throttling, and narrower integration-role usage.
Vom Indexierungsmodell aus dem Issue-Text verfasst.
Bewertung
- Tech-Stack
- typescript
- Bereich
- api, authorization, backend, security
- Issue-Typ
- Feature
- Schwierigkeit
- 5/5
- Geschätzter Aufwand
- Über eine Woche
- Aktivitätsstatus
- Ruhig
- Klarheit
- Größtenteils klar
- Anfängerfreundlichkeit
- 35/100