Documentation Technique

Référence API

SecureVault propose une API RESTful complète. Utilisez le SDK @vaultsecure/js ou appelez directement les endpoints ci-dessous.

URL de base

https://api.securevault.com

Authentification

Clé Publique

Utilisée dans le frontend pour les opérations utilisateur (register, login, OAuth). Passée dans l'URL.

pk_abc123...

Clé Secrète

Utilisée uniquement en backend pour les opérations admin. Passée dans le header.

sk_abc123...
# Endpoints SDK (publicKey dans l'URL)
curl https://api.securevault.com/sdk/pk_votre_cle/auth/login

# Endpoints OAuth
curl https://api.securevault.com/sdk/pk_votre_cle/oauth/google

# Endpoints Admin (secretKey dans le header)
curl https://api.securevault.com/sdk/admin/users \
  -H "X-Secret-Key: sk_votre_cle_secrete"

Endpoints SDK — Client

Appelés depuis votre frontend avec la clé publique. Inclut l'authentification email/password, reset password et OAuth.

POST/sdk/{publicKey}/auth/register

Inscrire un utilisateur dans votre projet

{
  "firstName": "John",
  "lastName": "Doe",
  "email": "john@example.com",
  "password": "MotDePasse123"
}
POST/sdk/{publicKey}/auth/login

Connecter un utilisateur dans votre projet

{
  "email": "john@example.com",
  "password": "MotDePasse123"
}
POST/sdk/{publicKey}/auth/forgot-password

Envoyer un email de réinitialisation de mot de passe

{
  "email": "john@example.com"
}
POST/sdk/{publicKey}/auth/reset-password

Réinitialiser le mot de passe avec le token reçu par email

{
  "token": "reset_token_recu_par_email",
  "newPassword": "NouveauMotDePasse123"
}
GET/sdk/{publicKey}/oauth/google

Rediriger l'utilisateur vers Google pour connexion OAuth

GET/sdk/{publicKey}/oauth/github

Rediriger l'utilisateur vers GitHub pour connexion OAuth

Endpoints Admin — Backend

Appelés depuis votre backend avec la clé secrète dans le header X-Secret-Key.

Ne jamais exposer la clé secrète dans votre frontend. Utilisez uniquement dans des API routes, serveurs Node.js, ou environnements sécurisés.

GET/sdk/admin/users

Lister tous les utilisateurs de votre projet

DELETE/sdk/admin/users/{email}

Supprimer un utilisateur de votre projet

PATCH/sdk/admin/users/{email}/disable

Désactiver un utilisateur

PATCH/sdk/admin/users/{email}/enable

Réactiver un utilisateur

POST/sdk/admin/verify-token

Vérifier la validité d'un token JWT

{
  "token": "eyJhbGciOiJIUzUxMiJ9..."
}

OAuth — Google & GitHub

Activez Google ou GitHub OAuth dans les paramètres de votre projet pour permettre à vos utilisateurs de se connecter via ces providers.

import { SecureVault } from '@vaultsecure/js'

const vault = new SecureVault({ publicKey: 'pk_...', baseUrl: '...' })

// Redirige vers Google
vault.signInWithGoogle()

// Redirige vers GitHub
vault.signInWithGithub()

// Sur la page /auth/callback de votre app
const result = vault.handleOAuthCallback()
if (result) {
  console.log('Connecté :', result.email)
  // result.token, result.firstName, result.lastName
}

Codes d'erreur

  • 200Succès
  • 400Données invalides
  • 401Token expiré ou invalide
  • 403Clé invalide ou accès refusé
  • 404Ressource introuvable
  • 500Erreur serveur

Limites (Rate Limit)

L'API est limitée à 1000 requêtes par minute par projet.

Vérifiez les headers de réponse pour connaître votre quota restant.

X-RateLimit-Limit: 1000
X-RateLimit-Remaining: 999
X-RateLimit-Reset: 1708000000