Documentation / Concepts / Authentification

Authentification

Toutes les requêtes nécessitent un token API. Le token s'envoie dans un header HTTP.

Headers acceptés

HeaderUsage recommandéExemple
X-API-KeyAPI REST (préféré)X-API-Key: normi_abc123
AuthorizationClients MCP (Bearer standard)Authorization: Bearer normi_abc123

Les deux headers sont acceptés sur l'API REST et le serveur MCP. Pour les intégrations REST classiques, utilisez X-API-Key.

Exemples

curl "https://mcp.normi.fr/v1/transactions?code_postal=75011" \
  -H "X-API-Key: normi_votre_token"
# Alternativement — Authorization: Bearer (aussi accepté en REST)
curl "https://mcp.normi.fr/v1/transactions?code_postal=75011" \
  -H "Authorization: Bearer normi_votre_token"

Configuration MCP (Claude Desktop)

{
  "mcpServers": {
    "normi": {
      "command": "npx",
      "args": ["-y", "@normi/mcp-dvf"],
      "env": {
        "NORMI_API_KEY": "normi_votre_token"
      }
    }
  }
}

Format du token

Les tokens Normi ont le format suivant :

normi_<base64url(32 octets aléatoires)>

Le préfixe normi_ permet d'identifier rapidement un token Normi dans vos logs et de le différencier d'autres secrets.

Le token brut n'est affiché qu'une seule fois
À la création, le token est affiché en clair une unique fois. Seul son hash SHA-256 est stocké côté serveur. Si vous le perdez, vous devrez créer un nouveau token (l'ancien sera révoqué et vos crédits transférés).

Rotation de token

Créer un nouveau token dans le dashboard révoque automatiquement et atomiquement tous vos tokens précédents. Le solde de crédits est transféré vers le nouveau token — vous ne recevez pas un nouveau lot de 500 crédits gratuits.

  • Un seul token actif par compte à tout moment
  • La révocation est immédiate — les requêtes en cours avec l'ancien token échoueront avec HTTP 401
  • Toutes les données liées au token (alertes, portefeuille) restent accessibles avec le nouveau token

Bonnes pratiques de sécurité

  • Ne commitez jamais votre token dans un dépôt Git. Utilisez des variables d'environnement.
  • Côté serveur, stockez le token dans une variable d'environnement (ex. NORMI_API_KEY). Ne l'exposez jamais dans le code frontend.
  • Si votre token est compromis, créez-en un nouveau immédiatement depuis le dashboard. L'ancien est révoqué instantanément.
  • La vérification côté serveur utilise une comparaison en temps constant (résistante aux timing attacks).