Autenticazione
L'Eaternity API usa la Basic Authentication con la vostra chiave API per proteggere tutte le request.
Panoramica
| Requisito | Dettagli |
|---|---|
| Tipo di autenticazione | HTTP Basic Auth |
| Username | La vostra chiave API |
| Password | Vuota (lasciare in bianco) |
| Protocollo | Solo HTTPS (SSL/TLS obbligatorio) |
| Supporto SNI | Server Name Indication obbligatoria |
Ottenere la chiave API
Per ottenere una chiave API:
- Contattate Eaternity — Email: info@eaternity.ch. Indicate il nome dell'azienda, il caso d'uso e il volume stimato di request.
- Ricevete la chiave API — Riceverete una chiave API univoca tramite email sicura.
- Attivate la licenza — La vostra chiave API sarà associata alle cucine con licenza. Le cucine senza licenza restituiscono errori
403 Forbidden.
La chiave API dà accesso ai vostri dati e genera costi di utilizzo. Non condividetela mai pubblicamente e non inseritela nel controllo di versione.
Metodi di autenticazione
cURL
Usate il flag -u con la chiave API come username e una password vuota (notate i due punti):
curl -u YOUR_API_KEY: https://co2.eaternity.ch/api/kitchens/
Header HTTP
Costruite manualmente l'header Basic Auth:
# Base64 encode "YOUR_API_KEY:"
echo -n "YOUR_API_KEY:" | base64
# Result: WU9VUl9BUElfS0VZOg==
curl -H "Authorization: Basic WU9VUl9BUElfS0VZOg==" \
https://co2.eaternity.ch/api/kitchens/
Python
import requests
API_KEY = "YOUR_API_KEY"
BASE_URL = "https://co2.eaternity.ch/api"
# Method 1: Using auth parameter
response = requests.get(
f"{BASE_URL}/kitchens/",
auth=(API_KEY, "")
)
# Method 2: Using headers
import base64
auth_header = base64.b64encode(f"{API_KEY}:".encode()).decode()
response = requests.get(
f"{BASE_URL}/kitchens/",
headers={"Authorization": f"Basic {auth_header}"}
)
JavaScript (Node.js)
// Using fetch with Buffer (Node.js)
const API_KEY = 'YOUR_API_KEY';
const BASE_URL = 'https://co2.eaternity.ch/api';
const authHeader = Buffer.from(`${API_KEY}:`).toString('base64');
fetch(`${BASE_URL}/kitchens/`, {
headers: {
'Authorization': `Basic ${authHeader}`,
'Content-Type': 'application/json'
}
})
.then(response => response.json())
.then(data => console.log(data));
Requisiti SSL/TLS
Tutte le request API devono usare HTTPS. Il server API richiede il supporto della Server Name Indication (SNI): la maggior parte delle librerie HTTP moderne lo gestisce in modo predefinito. Per i dettagli consultate la sezione SSL e SNI nella pagina introduttiva.
Limiti di frequenza
Contattate info@eaternity.ch per conoscere i limiti di frequenza applicati alla vostra chiave API.
Response di errore
Gli errori di autenticazione restituiscono codici di stato HTTP standard. Consultate la sezione Codici di stato HTTP nella pagina introduttiva per i dettagli su tutti i codici di errore, inclusi 401 Unauthorized e 403 Forbidden.
Buone pratiche di sicurezza
Variabili d'ambiente
Salvate le chiavi API in variabili d'ambiente, non nel codice:
# .env file (add to .gitignore)
EATERNITY_API_KEY=your_actual_api_key_here
import os
from dotenv import load_dotenv
load_dotenv()
API_KEY = os.getenv('EATERNITY_API_KEY')
Rotazione della chiave API
Sostituite periodicamente le vostre chiavi API:
- Richiedete una nuova chiave API al supporto
- Aggiornate le vostre applicazioni con la nuova chiave
- Verificate il funzionamento con la nuova chiave
- Richiedete la disattivazione della vecchia chiave
Endpoint
Endpoint di autenticazione, incluso lo scambio di token OAuth2.
Consultate OAuth 2 Token per l'endpoint di scambio del token.