google.js 4.0 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165
  1. // const express = require('express');
  2. // const router = express.Router();
  3. // const jwt = require("jsonwebtoken");
  4. // const { Email } = require('../models/email.model');
  5. // const { User } = require('../models/user.model');
  6. // const nodemailer = require('nodemailer');
  7. // const role = require('../lib/role');
  8. // require('dotenv').config();
  9. // const passport = require('passport');
  10. // const GoogleStrategy = require('passport-google-oauth20').Strategy;
  11. // router.use(passport.initialize());
  12. // //router.use(passport.session());
  13. // passport.serializeUser((user, cb) => {
  14. // cb(null, user);
  15. // });
  16. // passport.deserializeUser((obj, cb) => {
  17. // cb(null, obj);
  18. // });
  19. // // passport.use(new GoogleStrategy({
  20. // // clientID: "493465923713-qrbgtq8d53iguine1gf928483mn4odes.apps.googleusercontent.com",
  21. // // clientSecret: "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",
  22. // // callbackURL: "http://localhost:4000/api/auth/google/callback"
  23. // // },
  24. // // async (accessToken, refreshToken, profile, done) => {
  25. // // console.log(profile.emails[0].value)
  26. // // return done(null, profile);
  27. // // var email = profile.emails[0].value
  28. // // const user = await User.findOne({email: email})
  29. // // if (user) {
  30. // // console.log(user)
  31. // // user.username = accessToken;
  32. // // user.save().then(()=>{
  33. // // return done(null, user);
  34. // // })
  35. // // }else{
  36. // // console.log('creation of user')
  37. // // //make a new record
  38. // // let user = await new User({
  39. // // googleId: profile.id,
  40. // // email: profile.emails[0].value,
  41. // // accessToken : accessToken,
  42. // // refreshToken : refreshToken
  43. // // }).save()
  44. // // done(null, user);
  45. // // }
  46. // // console.log('acces token ',accessToken);
  47. // // console.log('refresh token ',refreshToken);
  48. // // console.log('prfile ',profile.emails[0].value);
  49. // // console.log('done ',done);
  50. // // }
  51. // // ));
  52. // passport.use(new GoogleStrategy({
  53. // clientID: "493465923713-qrbgtq8d53iguine1gf928483mn4odes.apps.googleusercontent.com",
  54. // clientSecret: "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",
  55. // callbackURL: "http://localhost:4000/api/auth/google/callback"
  56. // },
  57. // async (req, accessToken, refreshToken, profile, cb) => {
  58. // User.findOne({ email: profile.emails[0].value }, (err, user) => {
  59. // if (err) {
  60. // cb(err); // handle errors!
  61. // }
  62. // if (!err && user !== null) {
  63. // cb(err, user);
  64. // }
  65. // else {
  66. // user = new User({
  67. // googleId: profile.id,
  68. // email: profile.emails[0].value,
  69. // firstname: profile.name.givenName,
  70. // lastname: profile.name.familyName,
  71. // role: role.Client,
  72. // isActive: true,
  73. // isGain: false,
  74. // });
  75. // user.save((err) => {
  76. // if (err) {
  77. // cb(err); // handle errors!
  78. // } else {
  79. // cb(null, user);
  80. // }
  81. // });
  82. // }
  83. // });
  84. // }
  85. // ));
  86. // router.get('/', passport.authenticate('google', { session: false, scope: ['profile', 'email'] }),
  87. // async () => {
  88. // console.log('je suis dans mon get root')
  89. // });
  90. // // router.get('/callback', passport.authenticate('google') )
  91. // router.get('/callback', passport.authenticate('google', { failureRedirect: '/failed' }),
  92. // async (req, res) => {
  93. // console.log('je susi dans ma fonction callback ', req.user)
  94. // const token = jwt.sign({ userId: req.user._id, email: req.user.email, role: req.user.role }, process.env.SECRET_KEY, { expiresIn: '10 h' })
  95. // //res.status(200).json({ success: true, token, expireIn: `${new Date().getTime() + 120000}` })
  96. // console.log(token)
  97. // res.redirect(`${process.env.URL}/auth/?token=${token}`);
  98. // });
  99. // //failed auth google
  100. // router.get('/failed', async (req, res) => { res.status(404).send('erreur authentification') })
  101. // //get all users
  102. // router.get('/good', async (req, res) => {
  103. // res.status(200).send('welcome mr ');
  104. // })
  105. // module.exports = router;