Documentation

Authentification API

Guide complet d'authentification pour l'API Kiwisocial.

Vue d'ensemble

L'API Kiwisocial utilise un système d'authentification par tokens pour sécuriser les requêtes. Chaque utilisateur reçoit un token d'authentification après connexion, qui doit être inclus dans toutes les requêtes API.

Méthodes d'authentification

1. Connexion standard (Email + Mot de passe)

Endpoint

POST /mobile_api/login

Paramètres

Paramètre Type Requis Description
email string Oui Adresse email de l'utilisateur
password string Oui Mot de passe de l'utilisateur
device_type string Non Type d'appareil : ios ou android (défaut: android)

Réponse de succès (200)

{
    "code": 200,
    "message": "User logged in successfully",
    "data": {
        "id": 7,
        "first_name": "John",
        "last_name": "Doe",
        "user_name": "johndoe",
        "email": "[email protected]",
        "is_verified": true,
        ...
    },
    "auth": {
        "auth_token": "c625cc16eb00960f076c1378c7b84ede...",
        "refresh_token": "de25cc16eb00960f076c1378c7b84ede...",
        "auth_token_expiry": 1916742375
    }
}

Réponses d'erreur

2. Connexion OAuth (Social Login)

Endpoint

POST /mobile_api/oauth

Paramètres

Paramètre Type Requis Description
access_token string Oui Token d'accès OAuth du fournisseur
type string Oui Fournisseur OAuth : facebook ou google
device_type string Non Type d'appareil : ios ou android (défaut: android)

Fournisseurs supportés

Réponse de succès (200)

{
    "code": 200,
    "message": "User logged in successfully",
    "data": { ... },
    "auth": {
        "auth_token": "c625cc16eb00960f076c1378c7b84ede...",
        "refresh_token": "de25cc16eb00960f076c1378c7b84ede...",
        "auth_token_expiry": 1916742375
    }
}

Réponses d'erreur

Gestion des tokens

Token d'authentification (auth_token)

Le token d'authentification est un identifiant de session unique qui doit être inclus dans toutes les requêtes API authentifiées.

Utilisation

Incluez le token dans vos requêtes via le paramètre session_id :

POST /mobile_api/get_notifications
{
    "session_id": "c625cc16eb00960f076c1378c7b84ede..."
}

Token de rafraîchissement (refresh_token)

Le token de rafraîchissement permet de générer un nouveau token d'authentification lorsque celui-ci expire, sans avoir à redemander les identifiants de l'utilisateur.

Endpoint de rafraîchissement

POST /mobile_api/refresh_access_token

Paramètres

Paramètre Type Requis Description
refresh_token string Oui Token de rafraîchissement reçu lors de la connexion

Réponse de succès (200)

{
    "code": 200,
    "message": "Token refreshed successfully",
    "data": {
        "auth_token": "bc93431b2120eb63650e69a526ca100a...",
        "refresh_token": "37d5bf2ebd34d49a3fa2d3f146486c0b...",
        "auth_token_expiry": 1636655043
    }
}

Réponse d'erreur

Expiration des tokens

Chaque token d'authentification a une durée de validité limitée, indiquée par le champ auth_token_expiry (timestamp Unix). Lorsque le token expire, utilisez le refresh_token pour en obtenir un nouveau.

Bonnes pratiques

Sécurité

Gestion des erreurs

Optimisation

Exemple d'implémentation

Flux d'authentification complet

// 1. Connexion initiale
POST /mobile_api/login
{
    "email": "[email protected]",
    "password": "password123",
    "device_type": "android"
}

// 2. Stocker les tokens reçus
{
    "auth_token": "abc123...",
    "refresh_token": "def456...",
    "auth_token_expiry": 1916742375
}

// 3. Utiliser le token pour les requêtes
POST /mobile_api/get_notifications
{
    "session_id": "abc123..."
}

// 4. Rafraîchir le token avant expiration
POST /mobile_api/refresh_access_token
{
    "refresh_token": "def456..."
}

// 5. Recevoir de nouveaux tokens
{
    "auth_token": "ghi789...",
    "refresh_token": "jkl012...",
    "auth_token_expiry": 1948278375
}

Voir aussi