InstantBuddy - Temps 2

Tags :
  • POK
  • 2022-2023
  • temps 2
Auteurs :
  • Thibault Adelain

Github: https://github.com/ThibaultAdelain/InstantBuddyNode

Mon site : http://node.stevia.ovh1.ec-m.fr/

Temps 2

Fin de développement et déploiement

ToDo : 1er Sprint

Google Oauth : j'ai utilisé ce tuto (repo Github). J'ai également utilisé la doc de passport-google-oauth20, qui est assez basique ; j'ai trouvé le tuto plus clair. J'ai également adatpé le tuto pour que le serveur renvoie des cookies après l'authentification google :

// @desc Google auth callback
// @route GET auth/google/callback
router.get('/google/callback', passport.authenticate('google', {
    failureRedirect: '/user/Register',
    session: false
}), (req, res) => {
    res.cookie("name", req.user.name, {
      ...
    })
    res.cookie("email", req.user.email, {
      ...
    })
    res.cookie("sessionID", req.user.sessionID, {
      ...
    })
    console.log('User successfully login')
    res.redirect('/')
})

ToDo : 2ème Sprint

Ngrok

Ngrok est un outil qui permet de créer des tunnels sécurisés entre des ordinateurs distants. Il sert d'intermédiaire entre l'utilisateur et serveur ovh : utilisateur <-> ngrok <-> ovh. Les connexions utilisent le protocole sécurisé TLS, donc le navigateur peut se connecter en https et transmettre la localisation de l'utilisateur au serveur. J'ai utilisé cette solution car il n'était pas possible à l'instant t d'avoir un certificat sur le serveur ovh.

Ngrok écoute sur un port de localhost et crée un tunnel entre l'utilisateur et le serveur. Sur votre serveur, Après avoir lancé une app sur le port 8080 par exemple, rentrez en ligne de commande :

ngrok http 8080

Si vous utilisez une application React comme moi, il faudra peut-être plutôt écrire :

ngrok http 8080 --host-header="localhost:8080"

(Cf ce post)

Si vous voulez en savoir plus sur ngrok: https://grafikart.fr/tutoriels/ngrok-637

Pour que votre appli reste en ligne même après la fermeture du terminal, vous pouvez utiliser tmux. Voici une CheatSheet des lignes de commande tmux.

Mon site

Mon site : http://node.stevia.ovh1.ec-m.fr/

Il vous faut suivre le lien ngrok.io affiché sur le page d'accueil pour pouvoir utiliser la fonctionnalité principale du site. Avec la version gratuite de ngrok, vous ne pouvez pas avoir votre propre nom de domaine.

Par ce qu'une image vaut mille mots :

homePage mapPage

Tuto :