3cn-ecn/nantralPlatform

[TICKET] API d'authentification

Closed this issue · 2 comments

Description

Création d'une API sur Django permettant de se connecter, créer un compte, changer de mot de passe, ...
Cette API remplacera les views Django existantes.
Utiliser une authentification par session (déjà utilisée par le backend)

Definition of done

Le ticket est considéré terminé si toutes ces requêtes sont implémentées ainsi que leurs tests associés:

  • POST /api/account/login/ : return a session id in the cookies from email + password
  • GET /api/account/logout/ : logout user if it is authenticated
  • GET /api/account/authenticate/ : return HTTP 200 if sent session id is valid
  • POST /api/account/password/forgot/ : send reset password email
  • POST /api/account/password/change/ : reset password with token provided in email or session id
  • POST /api/account/register/ : register a new user (temporary users require an invitation token)
  • POST /api/account/emailvalidation/validate/ : validate user email with provided token
  • POST /api/account/emailvalidation/resend/ : resend validation email

Technical strategy

Réutiliser les views existantes pour l'api

@rravelli Top le ticket ! Je pense juste qu'il faudrait ajouter /api/account/ en préfixe pour conserver la séparation par application, t'en penses quoi ?

@rravelli Top le ticket ! Je pense juste qu'il faudrait ajouter /api/account/ en préfixe pour conserver la séparation par application, t'en penses quoi ?

Oui tu as raison pour rester cohérent avec le reste