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.