SecuAAS Docs
ConformVault

API Authentification

Endpoints d'authentification API

Authentification API

Book: ConformVault — Stockage sécurisé de fichiers | Chapter: Reference API

Authentification API

Apercu

L'API Go de ConformVault utilise une authentification JWT (JSON Web Token) avec support MFA et SSO. Toutes les routes protegees necessitent un token Bearer valide dans l'en-tete Authorization.

Obtention d'un token

POST /api/v1/auth/login

Authentification par email et mot de passe.

Requete :

{
  "email": "user@example.com",
  "password": "securePassword123"
}

Reponse (sans MFA) :

{
  "access_token": "eyJhbGciOiJIUzI1NiIs...",
  "refresh_token": "eyJhbGciOiJIUzI1NiIs...",
  "expires_in": 900,
  "token_type": "Bearer",
  "user": {
    "id": "uuid",
    "email": "user@example.com",
    "first_name": "John",
    "last_name": "Doe",
    "role": "client_admin",
    "mfa_enabled": false
  }
}

Reponse (MFA requis) :

{
  "mfa_required": true,
  "user_id": "uuid"
}

POST /api/v1/auth/mfa/verify

Verification du code MFA TOTP.

Requete :

{
  "user_id": "uuid",
  "code": "123456"
}

Reponse : Meme format que le login reussi ci-dessus.

POST /api/v1/auth/sso

Login via SSO (Zitadel OIDC). Le backend Python gere le flow OIDC complet et envoie les informations utilisateur a cette route.

Requete :

{
  "provider": "zitadel",
  "external_id": "zitadel-user-id",
  "email": "user@example.com",
  "first_name": "John",
  "last_name": "Doe",
  "groups": ["client_admin"]
}

POST /api/v1/auth/register

Inscription d'un nouvel utilisateur avec creation d'organisation.

Requete :

{
  "email": "admin@company.com",
  "password": "securePassword123",
  "first_name": "Admin",
  "last_name": "User",
  "company_name": "My Company",
  "plan_code": "pro",
  "payment_method_id": "pm_stripe_id"
}

POST /api/v1/auth/refresh

Rafraichissement du token d'acces.

Requete :

{
  "refresh_token": "eyJhbGciOiJIUzI1NiIs..."
}

POST /api/v1/auth/forgot-password

Demande de reinitialisation de mot de passe (envoie un email).

{
  "email": "user@example.com"
}

POST /api/v1/auth/reset-password

Reinitialisation du mot de passe avec le token recu par email.

{
  "token": "reset-token-from-email",
  "new_password": "newSecurePassword123"
}

Utilisation du token

Toutes les routes protegees necessitent l'en-tete suivant :

Authorization: Bearer eyJhbGciOiJIUzI1NiIs...

Le token contient les claims suivants :

  • sub : ID utilisateur (UUID)
  • email : Email de l'utilisateur
  • role : Role (superadmin, msp, client_admin, client_user)
  • client_id : ID du client associe
  • exp : Date d'expiration
  • iss : Emetteur (filesecure)

Service Tokens

Pour les integrations API-to-API, ConformVault supporte des tokens de service :

X-Service-Token: <service-token>

Les tokens de service sont geres via les endpoints /api/v1/organizations/:org_id/service-tokens.

On this page