Langage :
Auth & RGPD
Inscription, connexion, refresh token, révocation de session et droits RGPD (export, suppression).
Authentification — /api/auth
POST
/api/auth/registerCréer un compte — body: { username, email, password }
POST
/api/auth/loginConnexion — body: { email, password } → { token, refreshToken, user }
POST
/api/auth/refreshRenouveler le JWT — body: { refreshToken } → { token, refreshToken }
POST
/api/auth/logoutRévoquer la session active — body: { refreshToken }
POST /api/auth/register
js
const res = await fetch('https://gateway.alfychat.app/api/auth/register', {
method: 'POST',
headers: { 'Content-Type': 'application/json' },
body: JSON.stringify({
username: 'alice',
email: 'alice@example.com',
password: 'My$ecureP@ssword1',
}),
});
const { token, refreshToken, user } = await res.json();Réponse POST /api/auth/login
json
{
"token": "eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9...",
"refreshToken": "a1b2c3d4e5f67890...",
"user": {
"id": "u1a2b3c4-...",
"username": "alice",
"email": "alice@example.com",
"avatarUrl": "https://media.alfychat.app/avatars/...",
"isVerified": true,
"role": "user"
}
}POST /api/auth/refresh
js
const res = await fetch('https://gateway.alfychat.app/api/auth/refresh', {
method: 'POST',
headers: { 'Content-Type': 'application/json' },
body: JSON.stringify({ refreshToken: storedToken }),
});
const { token, refreshToken } = await res.json();Durée de vie des tokens
Le JWT expire après 15 minutes. Le refreshToken est valable 1 an (365 jours). Appelez
/api/auth/refreshavant l'expiration du JWT pour éviter de déconnecter l'utilisateur.RGPD — /api/rgpd
GET
/api/rgpd/exportExporter toutes vos données personnelles — retourne un fichier ZIP
DELETE
/api/rgpd/accountSupprimer définitivement votre compte et toutes vos données
Export de données RGPD
js
const res = await fetch('https://gateway.alfychat.app/api/rgpd/export', {
headers: { 'Authorization': `Bearer ${token}` },
});
const blob = await res.blob();
const url = URL.createObjectURL(blob);
// Le navigateur téléchargera le ZIP automatiquementSuppression irréversible
DELETE /api/rgpd/account est irréversible. Toutes les données sont supprimées dans les 30 jours conformément au RGPD.