API authentification

L’API d’authentification fournit les endpoints pour l’inscription des utilisateurs, la connexion et la gestion des sessions en utilisant Appwrite comme fournisseur d’authentification.

Inscription utilisateur

auth/register

Inscription d’un nouvel utilisateur.

Corps de la requête

email
string
required

Adresse email de l’utilisateur

password
string
required

Mot de passe de l’utilisateur (minimum 8 caractères)

name
string

Nom d’affichage de l’utilisateur (optionnel)

{
  "email": "[email protected]",
  "password": "mot_de_passe_securise",
  "name": "Jean Dupont"
}

Réponse

{
  "message": "Utilisateur inscrit avec succès",
  "user_id": "id_utilisateur"
}

Connexion

auth/login

Connexion avec email et mot de passe pour obtenir un jeton de session.

Corps de la requête

email
string
required

Adresse email de l’utilisateur

password
string
required

Mot de passe de l’utilisateur

{
  "email": "[email protected]",
  "password": "mot_de_passe_securise"
}

Réponse

{
  "message": "Connexion réussie",
  "session": {
    "id": "id_session",
    "userId": "id_utilisateur",
    "expire": "2024-12-31T23:59:59.999Z"
  }
}

Déconnexion

auth/logout

Déconnexion et invalidation de la session courante.

Corps de la requête

session_id
string
required

L’identifiant de la session à invalider

{
  "session_id": "id_session"
}

Réponse

{
  "message": "Déconnexion réussie"
}

Utilisateur courant

auth/user/me

Obtenir les informations de l’utilisateur actuellement authentifié.

En-têtes

Authorization
string
required

Jeton Bearer de la réponse de connexion

Réponse

{
  "$id": "id_utilisateur",
  "name": "Jean Dupont",
  "email": "[email protected]",
  "emailVerification": true,
  "registration": "2024-01-01T00:00:00.000Z"
}

Réponses d’erreur

Code StatusDescription
400Requête invalide - Paramètres d’entrée invalides
401Non autorisé - Identifiants invalides
403Interdit - Permissions insuffisantes
500Erreur interne du serveur

Exemple de réponse d’erreur

{
  "detail": "Message d'erreur ici"
}

Limitation de débit

Les endpoints d’authentification sont soumis à une limitation de débit :

  • Inscription : 10 tentatives par heure par IP
  • Connexion : 5 tentatives par minute par IP
  • Autres endpoints : 100 requêtes par minute par utilisateur

Recommandations de sécurité

  1. Toujours utiliser HTTPS pour les requêtes API
  2. Stocker les tokens de manière sécurisée
  3. Implémenter un mécanisme de rafraîchissement des tokens
  4. Déconnecter les sessions inutilisées
  5. Surveiller les activités suspectes