Browser Extension API — Credential Manager
Die Chrome- und Firefox-Erweiterung ermöglicht Technikern den schnellen Zugriff auf gespeicherte Zugangsdaten direkt im Browser. Die Erweiterung erkennt automatisch die aktuelle Webseite und zeigt passende Credentials an.
1. Authentifizierung
Die Extension-API nutzt einen persönlichen API-Token als Bearer-Token:
Authorization: Bearer <user_api_token>
Das Token wird SHA-256 gehasht und gegen users.api_token_hash geprüft. Ein API-Token kann im Benutzerprofil generiert werden.
| Eigenschaft | Wert |
|---|---|
| Basis-URL | /api/extension |
| Rate-Limit | 120 Requests/Minute pro Token |
| Token-Speicherung | SHA-256 gehasht (Klartext wird nie gespeichert) |
2. GET /me
Gibt Informationen zum authentifizierten Benutzer zurück. Dient der Extension zur Anzeige des eingeloggten Benutzers.
Antwort (200)
{
"id": 1,
"name": "Max Mustermann",
"email": "max@firma.de",
"is_admin": true
}
3. GET /credentials/match
Sucht Zugangsdaten anhand der aktuellen Webseite. Mindestens einer der Parameter muss angegeben werden.
Query-Parameter
| Parameter | Typ | Beschreibung |
|---|---|---|
| hostname | string | Hostname der aktuellen Seite |
| url | string | Vollständige URL |
| ip | string | IP-Adresse (z. B. für Router-Logins) |
Beispiel
GET /api/extension/credentials/match?hostname=firewall.firma.de&ip=192.168.1.1
Antwort (200)
{
"credentials": [
{
"id": 1,
"name": "Router Admin",
"username": "admin",
"url": "https://192.168.1.1",
"ip_address": "192.168.1.1",
"has_password": true,
"has_otp": false,
"category": "Netzwerk",
"customer_id": 5,
"customer_name": "Acme Corp"
}
],
"total": 1
}
Hinweis: Passwörter werden in dieser Antwort nicht zurückgegeben. Nur has_password und has_otp als Boolean. Zum Anzeigen des Passworts muss /reveal aufgerufen werden.
Berechtigung: Es werden nur Zugangsdaten von Kunden zurückgegeben, auf die der Benutzer Zugriff hat. Maximal 50 Ergebnisse.
4. POST /credentials/{'{id}'}/reveal
Zeigt das entschlüsselte Passwort (und optional den aktuellen OTP-Code) an. Jeder Aufruf wird im Audit-Log protokolliert.
URL-Parameter
| Parameter | Typ | Beschreibung |
|---|---|---|
| id | integer | Credential-ID |
Antwort (200)
{
"id": 1,
"name": "Router Admin",
"username": "admin",
"password": "GeheimesPasswort123!",
"url": "https://192.168.1.1",
"ip_address": "192.168.1.1",
"notes": "Standard-Admin-Zugang",
"otp_code": "123456",
"otp_remaining_seconds": 18
}
otp_code und otp_remaining_seconds sind nur vorhanden, wenn für das Credential ein TOTP-Secret hinterlegt ist.
Fehler
| Code | Beschreibung |
|---|---|
| 401 | Ungültiger API-Token |
| 404 | Credential nicht gefunden oder kein Zugriff |