Documentation

Guide complet d'intégration d'Aqua Auth

🚀 Installation rapide

1. Installation du SDK

# Avec npm npm install @aqua-auth/sdk # Ou avec yarn yarn add @aqua-auth/sdk

2. Initialisation

const AquaAuth = require('@aqua-auth/sdk'); const auth = new AquaAuth({ apiKey: 'aqua-auth-126489-a7f3k9d2', projectId: '67a1b2c3d4e5f6g7h8i9j0k1' });

🔐 Authentification

Inscription

const result = await auth.register({ email: 'user@example.com', username: 'john_doe', password: 'securepassword', fullName: 'John Doe' // optionnel });

Connexion

const result = await auth.login({ email: 'user@example.com', password: 'securepassword' });

Déconnexion

await auth.logout();

👤 Gestion du profil

Récupérer le profil

const profile = await auth.getProfile(); console.log(profile.user);

Mettre à jour le profil

const result = await auth.updateProfile({ fullName: 'New Name', username: 'new_username', avatar: 'https://exemple.com/avatar.jpg' });

Changer le mot de passe

const result = await auth.changePassword({ currentPassword: 'old_password', newPassword: 'new_password' });

🔑 Réinitialisation du mot de passe

Demander une réinitialisation

await auth.forgotPassword('user@example.com');

Réinitialiser le mot de passe

await auth.resetPassword({ token: 'reset_token', newPassword: 'new_password' });

🛡️ Double Authentification (2FA)

Activer la 2FA

const result = await auth.enable2FA(); // result contient : { secret, qrCode, backupCodes }

Vérifier le code 2FA

const result = await auth.verify2FA('123456', 'user_id');

Utiliser un code de backup

const result = await auth.useBackupCode('ABC123', 'user_id');

🔗 OAuth

Obtenir l'URL d'authentification Google

const url = auth.getGoogleAuthUrl(); // Rediriger l'utilisateur vers cette URL window.location.href = url;

Obtenir l'URL d'authentification GitHub

const url = auth.getGitHubAuthUrl(); // Rediriger l'utilisateur vers cette URL window.location.href = url;

📡 Référence API

Méthode Endpoint Description
POST /api/auth/register Inscription utilisateur
POST /api/auth/login Connexion utilisateur
GET /api/auth/me Récupérer le profil
PUT /api/auth/me Mettre à jour le profil
POST /api/auth/change-password Changer le mot de passe
POST /api/auth/forgot-password Demander réinitialisation
POST /api/auth/reset-password Réinitialiser le mot de passe
GET /api/auth/verify-email/:token Vérifier l'email
POST /api/auth/2fa/enable Activer la 2FA
POST /api/auth/2fa/verify Vérifier le code 2FA
POST /api/auth/2fa/disable Désactiver la 2FA

📋 Headers requis

Toutes les routes API publiques nécessitent les headers suivants :

X-API-Key: aqua-auth-126489-a7f3k9d2 X-Project-ID: 67a1b2c3d4e5f6g7h8i9j0k1

Pour les routes protégées (profil, 2FA), ajoutez :

Authorization: Bearer {token}

📦 Méthodes SDK

register()

Inscription utilisateur

login()

Connexion utilisateur

logout()

Déconnexion

getProfile()

Récupérer le profil

updateProfile()

Mettre à jour le profil

changePassword()

Changer le mot de passe

forgotPassword()

Demander réinitialisation

resetPassword()

Réinitialiser le mot de passe

verifyEmail()

Vérifier l'email

resendVerification()

Renvoyer la vérification

enable2FA()

Activer la 2FA

verify2FA()

Vérifier le code 2FA

disable2FA()

Désactiver la 2FA

useBackupCode()

Utiliser un code de backup

getGoogleAuthUrl()

URL Google OAuth

getGitHubAuthUrl()

URL GitHub OAuth