Skip to content
cronitorex.com

Authentifizierung

Alle Anfragen an die Cronitorex-API müssen authentifiziert werden. Zwei Methoden werden unterstützt.

Header (empfohlen)

Authorization: Bearer <api_key>

Dies ist die empfohlene Methode für Produktions-Crons, wiederkehrende Clients und jeden Traffic, der gemeinsam genutzte Infrastruktur berührt. Der Token erscheint niemals in URLs, Zugriffsprotokollen, im Browserverlauf oder in Referer-Headern.

URL-Query-Parameter (bequem)

Für einmalige curl-Befehle, IoT-Geräte, GitHub Actions oder überall dort, wo das Setzen eines Headers umständlich ist, kannst du den Schlüssel als ?api_key=<token> übergeben:

Terminal-Fenster
curl "https://api.cronitorex.com/ping/my-job?api_key=<api_key>&status=complete"

Funktioniert sowohl bei GET- als auch bei POST-Endpunkten.

Ist der Authorization-Header vorhanden, aber fehlerhaft oder ungültig, wird die Anfrage abgelehnt. Der Query-Parameter wird nicht als stiller Fallback herangezogen. Das verhindert eine versehentliche Umgehung, wenn eine abgefangene Anfrage mit angehängtem ?api_key= wiederholt wird.

Sicherheitsabwägungen

In der URL eingebettete Tokens sind sichtbar für:

  • HTTP-Zugriffsprotokolle auf jedem Proxy, Load Balancer und dem Server selbst
  • Den Browserverlauf (falls über einen Browser genutzt)
  • Den Referer-Header, den der Browser an jede Drittanbieter-Ressource auf der resultierenden Seite sendet
  • Jedes Fehlerberichts- oder Analysetool, das URLs erfasst

Nutze die URL-Methode nur für Ad-hoc-Befehle. Rotiere den Schlüssel, wenn du vermutest, dass er in Protokolle gelangt ist.

Deinen Schlüssel abrufen

  1. Öffne app.cronitorex.com
  2. Gehe zu ProfilAPI-Schlüssel
  3. Kopiere den Schlüssel, er wird nur einmal nach der Generierung angezeigt

Schlüsselumfang

Jeder API-Schlüssel ist an ein einzelnes Nutzerkonto gebunden. Mit einem bestimmten Schlüssel gesendete Events erscheinen nur im Dashboard dieses Nutzers.

Fehler

StatusBedeutung
401 UnauthorizedAPI-Schlüssel fehlt oder ist ungültig
403 ForbiddenSchlüssel existiert, hat aber keine Berechtigung
{ "error": "unauthorized" }