Aller au contenu principal

Authentification

Apprenez Ă  vous authentifier avec l'API YODI.

Aperçu​

YODI propose plusieurs méthodes d'authentification :

  1. Authentification par clé API - Pour la communication serveur à serveur
  2. Connexion par email/mot de passe - Pour les comptes utilisateurs
  3. Google OAuth - Pour la connexion via des services tiers

Authentification par clé API​

C'est la méthode principale pour consommer les API YODI.

Comment ça fonctionne​

Chaque requête vers l'API YODI doit inclure votre clé API dans l'en-tête Authorization :

Authorization: Bearer YOUR_API_KEY

Exemple​

curl -X POST "https://admin.yodi.tg/api/ai/translate" \
-H "Authorization: Bearer YOUR_API_KEY" \
-H "Content-Type: application/json" \
-d '{
"text": "Bonjour",
"sourceLanguage": "fra_Latn",
"targetLanguage": "ewe_Latn"
}'

Authentification utilisateur​

Connexion (email et mot de passe)​

Endpoint : POST /auth/login

curl -X POST "https://admin.yodi.tg/api/auth/login" \
-H "Content-Type: application/json" \
-d '{
"email": "user@example.com",
"password": "your_password"
}'

Réponse :

{
"message": "LOGIN_SUCCESS",
"error": false,
"data": {
"id": 1,
"email": "user@example.com",
"name": "John Doe",
"role": "viewer",
"isSubscribe": false
},
"status": 200
}

Créer un compte​

Endpoint : POST /auth/register

curl -X POST "https://admin.yodi.tg/api/auth/register" \
-H "Content-Type: application/json" \
-d '{
"email": "user@example.com",
"name": "John Doe",
"password_hash": "P@ssword123"
}'

Réponse :

{
"message": "CONFIRMATION_LINK_SENT",
"error": false,
"data": {
"id": 1,
"email": "user@example.com",
"name": "John Doe",
"role": "viewer"
},
"status": 201
}

Connexion OAuth (Google)​

Endpoint : POST /auth/google

curl -X POST "https://admin.yodi.tg/api/auth/google" \
-H "Content-Type: application/json" \
-d '{
"token": "google-oauth-id-token"
}'

Réponse :

{
"message": "LOGIN_SUCCESS",
"error": false,
"data": {
"id": 1,
"email": "user@gmail.com",
"name": "John Doe",
"role": "viewer"
},
"status": 200
}

Gestion des mots de passe​

Mot de passe oublié​

Endpoint : POST /auth/forgot-password

curl -X POST "https://admin.yodi.tg/api/auth/forgot-password" \
-H "Content-Type: application/json" \
-d '{
"email": "user@example.com"
}'

Réponse :

{
"message": "RESET_LINK_SENT",
"error": false,
"data": null,
"status": 200
}

Un lien de réinitialisation sera envoyé à l'adresse email fournie.

Réinitialiser le mot de passe​

Endpoint : POST /auth/reset-password

curl -X POST "https://admin.yodi.tg/api/auth/reset-password" \
-H "Content-Type: application/json" \
-d '{
"token": "reset-token",
"newPassword": "NewP@ssword456"
}'

Réponse :

{
"message": "PASSWORD_RESET_SUCCESS",
"error": false,
"data": null,
"status": 200
}

Gestion des sessions​

Obtenir l'utilisateur actuel​

Endpoint : GET /auth/me

curl -X GET "https://admin.yodi.tg/api/auth/me" \
-H "Authorization: Bearer YOUR_API_KEY"

Réponse :

{
"message": "SUCCESS",
"error": false,
"data": {
"id": 1,
"email": "user@example.com",
"name": "John Doe",
"role": "viewer",
"isSubscribe": false,
"created_at": "2024-01-01T00:00:00.000Z"
},
"status": 200
}

Confirmer l'email​

Endpoint : GET /auth/confirm?token=...

Confirmez votre adresse email en utilisant le token reçu lors de l'inscription :

curl -X GET "https://admin.yodi.tg/api/auth/confirm?token=your_confirmation_token" \
-H "Authorization: Bearer YOUR_API_KEY"

Réponse :

{
"message": "ACCOUNT_CONFIRMED",
"error": false,
"data": null,
"status": 200
}

Déconnexion​

Endpoint : POST /auth/logout

curl -X POST "https://admin.yodi.tg/api/auth/logout" \
-H "Authorization: Bearer YOUR_API_KEY"

Réponse :

{
"message": "LOGOUT_SUCCESS",
"error": false,
"data": null,
"status": 200
}

Bonnes pratiques de sécurité​

Ă€ FAIRE :

  • Stockez les clĂ©s API dans des variables d'environnement

  • Utilisez HTTPS pour toutes les requĂŞtes

  • Renouvelez les clĂ©s API pĂ©riodiquement

  • Utilisez des clĂ©s diffĂ©rentes pour le dĂ©veloppement et la production

  • Surveillez l'utilisation des clĂ©s dans votre tableau de bord

    À NE PAS FAIRE :

  • Committez les clĂ©s API dans le contrĂ´le de version

  • Partagez votre clĂ© API par email ou chat

  • Utilisez la mĂŞme clĂ© sur plusieurs services

  • Exposez les clĂ©s dans du code cĂ´tĂ© client

  • Codez en dur les clĂ©s dans votre application


Prochaines étapes​