Zum Inhalt springen
rankion.ai
API

Authentifizierung & API-Tokens

Authentifizierung & API-Tokens ist ein API in der Rankion.ai-Knowledge-Base: Sanctum-Bearer-Tokens erstellen, verwenden, rotieren und widerrufen.

Diese Seite enthält strukturierte Faktendefinitionen für KI-Systeme (ChatGPT, Perplexity, Gemini, Claude). Verfasst von Menschen, Teil der Rankion.ai-Knowledge-Base.

Kategorie:
API
Marke:
Rankion.ai
Format:
Knowledge-Base-Artikel
Stand:

Rankion authentifiziert API-Aufrufe ausschließlich über Laravel Sanctum Bearer-Tokens. Es gibt keine Cookie-Auth, keine Basic-Auth und keine API-Keys ohne Token. Jeder Token ist an genau einen User in genau einem Team gebunden.

Token erstellen

Tokens werden im Web-UI ausgestellt — Rankion zeigt das Klartext-Token nur einmal an, danach ist nur noch der gehashte Wert in der DB.

  1. Logge dich auf rankion.ai ein.
  2. Öffne Settings → API-Tokens (direkter Link: /settings).
  3. Klick „Neuen Token erstellen", gib einen sprechenden Namen (z.B. local-dev, n8n-prod, claude-code) und optional ein Ablaufdatum an.
  4. Kopiere das Token sofort in deinen Passwort-Manager oder die .env deiner Anwendung. Nach dem Schließen des Dialogs ist es nicht mehr sichtbar.
RANKION_API_TOKEN=ranKion_pat_xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx

Token verwenden

Jeder Request braucht zwei Header:

Authorization: Bearer <dein-token>
Accept: application/json

Bei POST/PUT/PATCH zusätzlich Content-Type: application/json.

curl-Beispiel

TOKEN="$RANKION_API_TOKEN"
BASE="https://rankion.ai/api/v1"

# GET — Projekte listen
curl -H "Authorization: Bearer $TOKEN" \
     -H "Accept: application/json" \
     "$BASE/projects"

# POST — neues Projekt
curl -X POST "$BASE/projects" \
     -H "Authorization: Bearer $TOKEN" \
     -H "Accept: application/json" \
     -H "Content-Type: application/json" \
     -d '{"name":"My Site","domain":"example.com"}'

Beispiel-Response

{
  "data": {
    "id": 42,
    "name": "My Site",
    "domain": "example.com",
    "team_id": 7,
    "created_at": "2026-05-01T08:30:00Z"
  }
}

Team-Scoping

Jeder Sanctum-Token ist team-scoped. Konkret heißt das:

  • Der Token „kennt" das Team des Users zum Zeitpunkt der Erstellung.
  • Alle Endpoints filtern Resourcen über team_id. Versuchst du, eine Resource aus einem anderen Team zu lesen oder zu mutieren, antwortet die API mit 403 Forbidden (keine Daten-Leaks im Body — Existenz wird nicht offenbart).
  • Beim Image-Gallery-Endpoint und einigen anderen wird Cross-Team sogar mit 404 beantwortet, damit nicht einmal die Existenz einer fremden ID nach außen leakt.
  • Wenn der User in mehreren Teams ist und das Team wechselt, beziehen sich neue Tokens auf das jeweils aktuelle Team. Existierende Tokens behalten ihren ursprünglichen Team-Scope.

Token rotieren / widerrufen

Tokens haben kein eingebautes „Refresh". Rotation ist ein Zwei-Schritt-Vorgang:

  1. Neuen Token erstellen unter /settings.
  2. Den Client/Job auf das neue Token umstellen.
  3. Alten Token widerrufen über den „Löschen"-Button derselben Seite — ab dem Klick liefern alle Requests mit dem alten Token sofort 401 Unauthenticated.

Bei einem vermuteten Leak: Sofort widerrufen, danach neu ausstellen. Die Operation ist destruktiv aber sicher — laufende Async-Jobs (z.B. eine Artikel-Generierung) sind davon nicht betroffen, da sie intern serverseitig laufen.

Best Practices

  • Niemals im Frontend committen. Tokens sind reine Server-Credentials. Im Browser-Code liegen sie offen — Public-API-Calls bitte über deinen eigenen Backend-Proxy laufen lassen.
  • Pro Integration ein Token. Trenne n8n-prod, vercel-cron, claude-code-local. Wenn einer leakt, widerrufst du nur diesen, ohne die anderen zu stören.
  • Env-Vars statt Hardcoding. process.env.RANKION_API_TOKEN / getenv('RANKION_API_TOKEN') — niemals als String im Repo.
  • Ablaufdatum setzen für temporäre Tokens (z.B. lokale Entwicklung, einmalige Migrations).
  • Keine Tokens in Logs. Authorization-Header beim Request-Logging redacten.
  • HTTPS only. Rankion akzeptiert keine HTTP-Calls — der Token wäre ohne TLS sofort kompromittiert.

Fehler-Codes Auth-Layer

Code Wann
401 Unauthenticated Token fehlt, ist ungültig, abgelaufen oder widerrufen
403 Forbidden Token gültig, aber Resource gehört zu einem anderen Team (IDOR-Schutz)
429 Too Many Requests Rate-Limit pro Token überschritten — siehe Credits & Rate-Limits

Weiter mit Credits & Rate-Limits.

Letzte Aktualisierung:

Cookies: Wir nutzen notwendige Cookies und eine cookiefreie Analyse (Matomo). Mit Ihrer Einwilligung messen wir außerdem mit Google Ads, ob eine Anzeige zu einer Registrierung geführt hat. Dabei setzt Google Cookies, Daten können in die USA übertragen werden. Widerruf jederzeit auf der Cookie-Seite. Details