Authentifizierung
AstroAPI unterstützt mehrere Authentifizierungsmethoden, je nach Ihrem Anwendungsfall.
API-Schlüssel-Authentifizierung
API-Schlüssel sind die empfohlene Methode für die Server-zu-Server-Kommunikation.
Einen API-Schlüssel erhalten
- Melden Sie sich im AstroAPI Dashboard an
- Navigieren Sie zu Einstellungen > API-Schlüssel
- Klicken Sie auf API-Schlüssel erstellen
- Konfigurieren Sie Berechtigungen und Ratenbegrenzungen
- Kopieren Sie den generierten Schlüssel (er wird nicht erneut angezeigt)
API-Schlüssel verwenden
Fügen Sie Ihren API-Schlüssel im X-Api-Key-Header ein:
curl -X GET "https://api.astroapi.cloud/api/calc/natal" \
-H "X-Api-Key: ak_live_xxxxxxxxxxxx"API-Schlüssel-Berechtigungen
API-Schlüssel können auf bestimmte Berechtigungen beschränkt werden:
| Berechtigung | Beschreibung |
|---|---|
calc:read | Zugriff auf Berechnungsendpunkte |
content:read | Zugriff auf Inhalts-/Interpretationsendpunkte |
chart:read | Zugriff auf Horoskop-Darstellungsendpunkte |
modules:read | Zugriff auf gekaufte Module |
Rollen
AstroAPI verwendet rollenbasierte Zugriffskontrolle innerhalb von Organisationen:
| Rolle | Beschreibung |
|---|---|
owner | Vollständiger Zugriff auf alle Organisationsfunktionen |
manager | Kann Benutzer, Abrechnung und Inhalte verwalten |
member | Grundlegender Zugriff auf Berechnungen und Inhalte |
Rollenberechtigungen
| Berechtigung | owner | manager | member | Beschreibung |
|---|---|---|---|---|
org:create | ✅ | Organisation erstellen | ||
org:read | ✅ | ✅ | ✅ | Organisation lesen |
org:update | ✅ | ✅ | Organisation aktualisieren | |
org:users:read | ✅ | ✅ | Benutzer lesen | |
org:users:create | ✅ | ✅ | Benutzer einladen | |
org:users:update | ✅ | ✅ | Benutzer aktualisieren | |
org:users:delete | ✅ | ✅ | Benutzer entfernen | |
billing:read | ✅ | ✅ | Abrechnung anzeigen | |
billing:manage | ✅ | ✅ | Abrechnung verwalten | |
content:read | ✅ | ✅ | ✅ | Inhalte lesen |
content:create | ✅ | ✅ | Inhalte erstellen | |
content:update | ✅ | ✅ | Inhalte aktualisieren | |
content:delete | ✅ | ✅ | Inhalte löschen | |
content:custom-copy | ✅ | ✅ | ✅ | Benutzerdefinierte Kopien erstellen |
content:restore | ✅ | ✅ | Inhalte wiederherstellen | |
calc:use | ✅ | ✅ | ✅ | Berechnungsendpunkte nutzen |
chart:use | ✅ | ✅ | ✅ | Horoskop-Endpunkte nutzen |
modules:read | ✅ | ✅ | ✅ | Modulinformationen lesen |
admin:access | ✅ | Administratorzugriff |
Organisationskontext
Für Mehrbenutzeranwendungen sind API-Schlüssel auf Organisationen beschränkt. Der Organisationskontext wird automatisch anhand des verwendeten API-Schlüssels angewendet.
Domain-Beschränkungen
API-Schlüssel können mit Domain-Beschränkungen konfiguriert werden, um festzulegen, welche Websites sie verwenden dürfen:
example.com– Exakte Domain-Übereinstimmung*.example.com– Alle Subdomains*– Alle Domains zulassen (nicht empfohlen)
Konfigurieren Sie Domain-Beschränkungen im Dashboard beim Erstellen oder Bearbeiten eines API-Schlüssels.
Wichtige Einschränkung
Domain-Beschränkungen schützen nur vor browserbasiertem Missbrauch. Sie basieren auf den Origin- und Referer-Headern, die Browser durchsetzen, außerhalb des Browsers (z. B. curl, Skripte, serverseitiger Code) jedoch leicht umgangen werden können.
Client-seitige vs. serverseitige Nutzung
Server-zu-Server (Empfohlen)
Verwenden Sie für Produktionsanwendungen API-Schlüssel stets auf Ihrem Backend-Server:
┌─────────────┐ ┌─────────────────┐ ┌─────────────┐
│ Browser │ ───► │ Ihr Backend │ ───► │ AstroAPI │
│ (kein Key) │ │ (API-Key hier) │ │ │
└─────────────┘ └─────────────────┘ └─────────────┘Dieser Ansatz:
- Hält Ihren API-Schlüssel sicher und verborgen
- Ermöglicht Ihnen, eine eigene Authentifizierungsschicht hinzuzufügen
- Verhindert, dass Endbenutzer den API-Schlüssel extrahieren
- Ermöglicht Request-Signierung und zusätzliche Sicherheitsmaßnahmen
Client-seitige / Browser-Nutzung
Wenn Sie API-Schlüssel direkt im Browser verwenden müssen (z. B. eingebettete Widgets auf statischen Websites), beachten Sie die folgenden Einschränkungen:
- API-Schlüssel sind sichtbar im JavaScript-Quellcode und in Netzwerkanfragen
- Jeder kann den Schlüssel von Ihrer Website extrahieren
- Domain-Beschränkungen verhindern nur, dass andere Websites Ihren Schlüssel über JavaScript verwenden – sie verhindern nicht, dass jemand den Schlüssel kopiert und anderweitig verwendet
Für die client-seitige Nutzung empfehlen wir:
- Domain-Beschränkungen aktivieren
- Strenge Ratenbegrenzungen festlegen
- Kurze Ablaufzeiten verwenden
- Nutzung auf Anomalien überwachen
Verantwortung des Kunden
Wichtig
Sie sind für die Sicherheit und Nutzung Ihrer API-Schlüssel verantwortlich.
Alle API-Anfragen, die mit Ihrem API-Schlüssel gestellt werden, werden auf Ihr Kontingent angerechnet und Ihrem Konto in Rechnung gestellt – unabhängig davon, ob die Anfragen von Ihnen oder von jemandem gestellt wurden, der Ihren Schlüssel erhalten hat.
Wenn Sie einen API-Schlüssel in client-seitigem Code offenlegen und dieser missbraucht wird, sind Sie für die daraus resultierende Nutzung und die Kosten verantwortlich. AstroAPI kann nicht zwischen legitimen Anfragen und unbefugten Anfragen mit einem gültigen API-Schlüssel unterscheiden.
Um das Risiko zu minimieren:
- Verwenden Sie Server-zu-Server-Kommunikation, wann immer möglich
- Committen Sie niemals API-Schlüssel in die Versionsverwaltung
- Tauschen Sie Schlüssel sofort aus, wenn Sie vermuten, dass sie kompromittiert wurden
- Richten Sie Nutzungswarnungen ein, um unerwartete Spitzen zu erkennen
Sicherheitsbest Practices
- Verwenden Sie Server-zu-Server-Kommunikation für Produktionsanwendungen
- Legen Sie API-Schlüssel niemals in client-seitigem Code offen, sofern nicht unbedingt erforderlich
- Tauschen Sie API-Schlüssel regelmäßig aus
- Verwenden Sie die minimal erforderlichen Berechtigungen
- Aktivieren Sie Domain-Beschränkungen für client-seitige Schlüssel
- Setzen Sie angemessene Ratenbegrenzungen
- Überwachen Sie die API-Schlüssel-Nutzung im Dashboard