AuthentificationAdmin - Alexis-Savoie/neodomo_api GitHub Wiki

Authentification (Admin)

Permet à un administrateur de se connecter.

URL : /admin/login

Méthode : POST

Authentification requise : NON

Données requise

{
    "email": "[email valide (string)]",
    "password": "[(string entre 8 et 50 caractères)]"
}

Example de données

{
    "email": "[email protected]",
    "password": "m0tDeP@55€"
}

Réponse(s) en cas de succès

Condition : Connexion avec un mot de passe standard.

Code : 200

Example de réponse

{
    "error": false,
    "message": "L'administrateur a été authentifié avec succès",
    "token": "xxxxxxxxxxxxxxxxxxxxxxxxxx"
}

Condition : Connexion avec mot de passe temporaire.

Code : 200

Example de réponse

{
    "error": false,
    "message": "L'administrateur a été authentifié avec succès (Mot de passe temporaire)",
    "token": "xxxxxxxxxxxxxxxxxxxxxxxxxx"
}

Réponse(s) en cas d'erreur

Condition : Donnée invalide (email invalide)

Code : 403

Contenu :

{
    "error": true,
    "message": "Une ou plusieurs données est invalide"
}

Condition : Les identifiants sont invalides.

Code : 400

Contenu :

{
    "error": true,
    "message": "Identifiants incorrect"
}

Condition : Trop de tentatives qui ont échoués d'affilés

Code : 400

Contenu :

{
    "error": true,
    "message": "Trop de tentatives réessayer plus tard."
}

Explication

Après la vérification des données, on compare le hash du mot de passe envoyé avec celui présent dans la base de données et si ces derniers correspond alors on génère un token avec jwt (créer avec une clé différente des utilisateurs) que l'on retourne à l'utilisateur.

Si il ne corresponde pas on vérifie si il ne s'agit pas du hash du mot de passe temporaire, si c'est le cas alors on remplace le hash du mot de passe principale par celui du mot de passe temporaire et on efface le contenu du champ du mot de passe temporaire dans le base de données, et on génère ensuite un token avec jwt (créer avec une clé différente des utilisateurs) que l'on retourne à l'utilisateur.