Authentifizierung
ToolMesh bietet ein produktionsreifes Authentifizierungssystem mit mehreren Modi — von einfachen Single-User-Setups bis hin zu vollem Multi-User-OAuth.
Authentifizierungsmodi
Abschnitt betitelt „Authentifizierungsmodi“Simple (Single-User)
Abschnitt betitelt „Simple (Single-User)“Schnellstart mit Umgebungsvariablen:
TOOLMESH_AUTH_PASSWORD=changeme # Single-User-OAuth-PasswortTOOLMESH_API_KEY=sk-my-key # Statischer API-KeyMulti-User OAuth 2.1
Abschnitt betitelt „Multi-User OAuth 2.1“Vollständiges OAuth 2.1 mit PKCE S256 für interaktiven Login:
- Benutzer in
config/users.yamldefiniert (bcrypt-gehashte Passwörter) - Jeder Benutzer hat: Username, Company, Plan, Roles
- Dynamic Client Registration (DCR), ratenlimitiert (5/Stunde/IP)
- Redis/KeyDB für State-Persistenz (Tokens, Auth-Codes, Client-Registrierungen)
users: - username: alice password: "$2a$12$..." # bcrypt-Hash company: acme plan: pro roles: [admin]API-Keys
Abschnitt betitelt „API-Keys“Für programmatischen Zugriff:
keys: - key_hash: "$2a$12$..." # bcrypt-Hash username: ci-bot company: acme plan: standard roles: [read] caller_id: github-actionsJeder API-Key trägt seine eigene Identität (User, Company, Plan, Roles), die durch die gesamte Pipeline fließt.
Identitätsfluss
Abschnitt betitelt „Identitätsfluss“Die authentifizierte Identität fließt durch jeden Schritt:
Authentication → CallerID → OpenFGA AuthZ → Credential Store → Audit TrailDas stellt volle Nachvollziehbarkeit sicher: Jeder Tool-Call wird einem bestimmten Benutzer zugeordnet, mit einem bestimmten Plan, von einem bestimmten Client.
Migrationspfad
Abschnitt betitelt „Migrationspfad“Starte mit TOOLMESH_AUTH_PASSWORD für schnelles Prototyping. Wenn mehrere Benutzer benötigt werden, wechsle zu users.yaml — keine Architekturänderung nötig. Die gleiche Pipeline verarbeitet beide Modi.