J'ai une API backend basée sur Express.js et un clientside basé sur React-Redux.
L'authentification à mon API est faite par les sessions Express.js. L'utilisateur se connecte avec Passport (OAuth2) et après cela, le cookie de l'utilisateur est enregistré dans la base de données connectée à son identifiant utilisateur. Ce cookie est également stocké dans le cookie du navigateur du client.
Si vous envoyez une requête à cette API, le serveur vérifie votre cookie avec la base de données et s'il est correct, il vous renvoie des données.
Cela fonctionnait bien quand je n'utilisais pas React, mais maintenant le clientside doit d'une manière ou d'une autre savoir que l'utilisateur est connecté même avant de faire une demande (lorsque l'application React est chargée).
Le cookie de session est enregistré même lorsque l'utilisateur n'est pas connecté, donc je suis perdu.
Comment faire ?
Image sur comment cela fonctionne : https://i.stack.imgur.com/6g0ei.png
RECHERCHE ADDITIONNELLE:
J'ai fait des recherches sur https://www.instagram.com/ par exemple... Ils utilisent un cookie de session... Si je supprime ce cookie, l'utilisateur se déconnecte, et lorsque j'utilise ce cookie dans Postman, je peux accéder à l'API. Mais je ne trouve aucune requête qui vérifie si l'utilisateur est connecté. L'application React le sait juste après la réception des données initiales du serveur. Peut-être qu'ils envoient cette information à React depuis le serveur ? Sans appeler l'API après le chargement de l'application ?