authentification.js 1.4 KB

1234567891011121314151617181920212223242526272829303132333435363738394041424344454647
  1. module.exports = (request, response, next) => {
  2. /**
  3. * Fichier contenant les configurations nécéssaires au bon fonctionnement du système
  4. */
  5. const config = require('../config');
  6. try {
  7. /**
  8. * Ici l'on récupère le mot de passe de l'api, par requête GET ou POST
  9. */
  10. const pass = request.body.password || request.params.apipassword;
  11. /**
  12. * On vérifie si le mot de passe de l'api n'est pas vide, si oui, erreur de sécurité et on retourne une erreur
  13. */
  14. if (config.apipassword == '') error('Your API Password is not set, look at your config file.', 401);
  15. /**
  16. * Selon les cas d'utilisation, l'on renvoit un code d'erreur où alors l'on next() => signifie que tout est bon et que la fonction passe
  17. */
  18. switch (pass) {
  19. case ' ':
  20. error('The password you sent is empty.', 401);
  21. break;
  22. case undefined:
  23. error('Please send the password API.', 401);
  24. break;
  25. case config.apipassword:
  26. next();
  27. break;
  28. default:
  29. error('Invalid password.', 401);
  30. break;
  31. }
  32. } catch {
  33. response.status(401).json({
  34. error: 'Invalid request!'
  35. });
  36. }
  37. function error(msg, statuscode) {
  38. response.status(statuscode).json({
  39. error: msg
  40. });
  41. }
  42. };