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-Limit120 Requests/Minute pro Token
Token-SpeicherungSHA-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
hostnamestringHostname der aktuellen Seite
urlstringVollständige URL
ipstringIP-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
idintegerCredential-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
401Ungültiger API-Token
404Credential nicht gefunden oder kein Zugriff