Authenticatie
AstroAPI ondersteunt meerdere authenticatiemethoden, afhankelijk van uw gebruikssituatie.
API Key-authenticatie
API keys zijn de aanbevolen methode voor server-naar-server communicatie.
Een API key verkrijgen
- Log in op het AstroAPI Dashboard
- Navigeer naar Instellingen > API Keys
- Klik op API Key aanmaken
- Configureer permissies en snelheidslimieten
- Kopieer de gegenereerde key (deze wordt niet opnieuw getoond)
API keys gebruiken
Voeg uw API key toe in de X-Api-Key header:
curl -X GET "https://api.astroapi.cloud/api/calc/natal" \
-H "X-Api-Key: ak_live_xxxxxxxxxxxx"API Key-permissies
API keys kunnen worden beperkt tot specifieke permissies:
| Permissie | Beschrijving |
|---|---|
calc:read | Toegang tot berekening-endpoints |
content:read | Toegang tot content-/interpretatieendpoints |
chart:read | Toegang tot horoscoopweergave-endpoints |
modules:read | Toegang tot aangeschafte modules |
Rollen
AstroAPI gebruikt rolgebaseerde toegangscontrole binnen organisaties:
| Rol | Beschrijving |
|---|---|
owner | Volledige toegang tot alle organisatiefuncties |
manager | Kan gebruikers, facturering en content beheren |
member | Basistoegang tot berekeningen en content lezen |
Rolpermissies
| Permissie | owner | manager | member | Beschrijving |
|---|---|---|---|---|
org:create | ✅ | Organisatie aanmaken | ||
org:read | ✅ | ✅ | ✅ | Organisatie lezen |
org:update | ✅ | ✅ | Organisatie bijwerken | |
org:users:read | ✅ | ✅ | Gebruikers lezen | |
org:users:create | ✅ | ✅ | Gebruikers uitnodigen | |
org:users:update | ✅ | ✅ | Gebruikers bijwerken | |
org:users:delete | ✅ | ✅ | Gebruikers verwijderen | |
billing:read | ✅ | ✅ | Facturering bekijken | |
billing:manage | ✅ | ✅ | Facturering beheren | |
content:read | ✅ | ✅ | ✅ | Content lezen |
content:create | ✅ | ✅ | Content aanmaken | |
content:update | ✅ | ✅ | Content bijwerken | |
content:delete | ✅ | ✅ | Content verwijderen | |
content:custom-copy | ✅ | ✅ | ✅ | Aangepaste kopie maken |
content:restore | ✅ | ✅ | Content herstellen | |
calc:use | ✅ | ✅ | ✅ | Berekening-endpoints gebruiken |
chart:use | ✅ | ✅ | ✅ | Horoscoop-endpoints gebruiken |
modules:read | ✅ | ✅ | ✅ | Module-informatie lezen |
admin:access | ✅ | Beheerderstoegang |
Organisatiecontext
Voor multi-tenant toepassingen zijn API keys gekoppeld aan organisaties. De organisatiecontext wordt automatisch toegepast op basis van de gebruikte API key.
Domeinbeperkingen
API keys kunnen worden geconfigureerd met domeinbeperkingen om te beperken welke websites ze mogen gebruiken:
example.com- Exact domeinovereenkomst*.example.com- Alle subdomeinen*- Alle domeinen toestaan (niet aanbevolen)
Configureer domeinbeperkingen in het dashboard bij het aanmaken of bewerken van een API key.
Belangrijke beperking
Domeinbeperkingen beschermen alleen tegen misbruik vanuit de browser. Ze zijn afhankelijk van de Origin- en Referer-headers, die browsers afdwingen maar eenvoudig te vervalsen zijn buiten de browser (bijv. met curl, scripts of server-side code).
Client-side vs. server-side gebruik
Server-naar-server (aanbevolen)
Gebruik voor productietoepassingen altijd API keys op uw backend server:
┌─────────────┐ ┌─────────────────┐ ┌─────────────┐
│ Browser │ ───► │ Uw Backend │ ───► │ AstroAPI │
│ (geen keys)│ │ (API key hier) │ │ │
└─────────────┘ └─────────────────┘ └─────────────┘Deze aanpak:
- Houdt uw API key veilig en verborgen
- Stelt u in staat uw eigen authenticatielaag toe te voegen
- Voorkomt dat eindgebruikers de API key kunnen extraheren
- Maakt request signing en aanvullende beveiligingsmaatregelen mogelijk
Client-side / browsergebruik
Als u API keys rechtstreeks in de browser moet gebruiken (bijv. embedded widgets op statische sites), wees dan op de hoogte van de beperkingen:
- API keys zijn zichtbaar in JavaScript-broncode en netwerkverzoeken
- Iedereen kan de key extraheren van uw website
- Domeinbeperkingen voorkomen alleen dat andere websites uw key via JavaScript gebruiken - ze voorkomen niet dat iemand de key kopieert en elders gebruikt
Voor client-side gebruik raden wij aan:
- Domeinbeperkingen in te schakelen
- Strikte snelheidslimieten in te stellen
- Korte vervaltermijnen te gebruiken
- Gebruik te monitoren op afwijkingen
Verantwoordelijkheid van de klant
Belangrijk
U bent verantwoordelijk voor de beveiliging en het gebruik van uw API keys.
Alle API-verzoeken die met uw API key worden gedaan, tellen mee voor uw quotum en worden aan uw account gefactureerd, ongeacht of de verzoeken door u of door iemand anders die uw key heeft verkregen zijn gedaan.
Als u een API key blootstelt in client-side code en deze wordt misbruikt, bent u verantwoordelijk voor het resulterende gebruik en de kosten. AstroAPI kan geen onderscheid maken tussen legitieme verzoeken en ongeautoriseerde verzoeken die met een geldige API key zijn gedaan.
Om risico's te minimaliseren:
- Gebruik server-naar-server communicatie waar mogelijk
- Commit nooit API keys naar versiebeheer
- Roteer keys onmiddellijk als u vermoedt dat ze zijn gecompromitteerd
- Stel gebruiksmeldingen in om onverwachte pieken te detecteren
Best practices voor beveiliging
- Gebruik server-naar-server communicatie voor productietoepassingen
- Stel API keys nooit bloot in client-side code, tenzij absoluut noodzakelijk
- Roteer API keys periodiek
- Gebruik de minimaal vereiste permissies
- Schakel domeinbeperkingen in voor client-side keys
- Stel passende snelheidslimieten in
- Monitor het gebruik van API keys in het dashboard