utilisez-vous cookie-parser ?
Utilisation des redirections au lieu des cookies
Salut à tous, merci pour tous vos conseils. J’ai été bloqué avec l’approche par cookies car mon serveur est sur un domaine différent et Safari est en guerre contre les cookies tiers. J’ai rédigé une question/réponse sur Stack Overflow avec une approche par redirection, bonne authentification ! ![]()
Je voulais juste dire que je serais également très intéressé par une intégration facile de l’authentification Firebase dans Discourse.
Hmm, quel est le but de faire cela exactement ? N’utilisez-vous pas l’authentification firebase ailleurs dans une application web à part Discourse ? Je le fais et je ne veux pas toucher à ce paramètre, je préférerais qu’il soit sur « local » (Authentication State Persistence | Firebase)
Juste quelques notes pour ceux qui emprunteront cette voie :
- Appelez votre cookie « __session » si vous utilisez l’hébergement Firebase. Les règles de réécriture filtrent tous les autres cookies à des fins de mise en cache.
- Vous voudrez remplacer le code pertinent ci-dessus par quelque chose comme ceci afin de ne pas autoriser les e-mails non validés (risque de sécurité majeur).
auth .verifyIdToken(idToken) .then(function (decodedClaims) { // Dans ce cas, nous imposons que l'utilisateur se soit connecté dans les 5 dernières minutes. // et qu'il ait un e-mail vérifié if ( decodedClaims.email_verified && new Date().getTime() / 1000 - decodedClaims.auth_time < 5 * 60 ) { return auth.createSessionCookie(idToken, { expiresIn }); } throw new Error("UNAUTHORIZED REQUEST!"); }) - Il existe un paramètre de « redirection de déconnexion » dans Discourse. Vous voudrez probablement l’utiliser pour accéder à une URL qui efface le cookie __session (ne peut être fait que via un appel API backend) afin que l’utilisateur ne soit pas automatiquement connecté en tant que même utilisateur qu’auparavant lorsqu’il essaie de se connecter à nouveau.
Où pouvez-vous implémenter ce code ?