formation vor 3 Jahren
Ursprung
Commit
b1e487dc19
4 geänderte Dateien mit 147 neuen und 147 gelöschten Zeilen
  1. 7 7
      express-server/index.js
  2. 2 2
      express-server/lib/db.js
  3. 30 30
      express-server/routes/facebook.js
  4. 108 108
      express-server/routes/google.js

+ 7 - 7
express-server/index.js

@@ -2,7 +2,7 @@ const express = require('express');
 const bodyparser = require('body-parser');
 const passport = require('passport');
 const mongoose = require('mongoose');
-const cors = require('cors');
+//const cors = require('cors');
 // const config = require('./config/db.config');
 
 
@@ -12,8 +12,8 @@ const authRoutes = require('./routes/auth');
 //const oauthRoutes = require('./routes/oauth');
 const ticketRoutes = require('./routes/ticket');
 const emailsRoutes = require('./routes/emailing');
-//const authGoogle = require('./routes/google');
-//const authFacebook = require('./routes/facebook');
+const authGoogle = require('./routes/google');
+const authFacebook = require('./routes/facebook');
 const tirageRoutes = require('./routes/tirage');
 const contactRoutes = require('./routes/contact');
 const restaurantRoutes = require('./routes/restaurant');
@@ -37,7 +37,7 @@ app.use(metricsMiddleware);
 
 //metrics
 app.use(makeApiMiddleware()); 
-app.use(cors());
+//app.use(cors());
 
 app.get("/api", (req, res) => {
     res.status(200).send("Api Works.");
@@ -69,7 +69,7 @@ app.use(function(req, res, next) {
 // parse requests  body params
 app.use(bodyparser.json());
 app.use(bodyparser.urlencoded({extended: true}));
-app.use(passport.initialize());
+//app.use(passport.initialize());
 
 //simple route
 app.use('/api/users', userRoutes );
@@ -79,8 +79,8 @@ app.use('/api/auth',  authRoutes );
 //app.use('/api/auth', oauthRoutes );
 //app.use('/api/auth',  authGoogle );
 app.use('/api/emails',  emailsRoutes );
-//app.use('/api/auth/google',  authGoogle );
-//app.use('/api/auth/facebook',  authFacebook );
+app.use('/api/auth/google',  authGoogle );
+app.use('/api/auth/facebook',  authFacebook );
 app.use('/api/tirage',  tirageRoutes );
 app.use('/api/contact',  contactRoutes );
 app.use('/api/restaurants',  restaurantRoutes );

+ 2 - 2
express-server/lib/db.js

@@ -22,13 +22,13 @@ module.exports = mongoose.connection;
 
 // let min = 999999999;
 // let max = 10000000000;
-// for (i = 0; i < 2; i++) {
+// for (i = 0; i < 50000; i++) {
 //     let code = Math.floor(Math.random() * (max - min + 1)) + min;
      
 //          const ticke = new Ticket({
 //              code: code,
 //              isUsed: false,
-//              gains: "un menu du jour",
+//              gains: "une entrée ou un dessert au choix",
 //              date_used: new Date(),
 //              index: 'index',
 //              isServed: true

+ 30 - 30
express-server/routes/facebook.js

@@ -1,38 +1,38 @@
-// const express = require('express');
-// const router = express.Router();
-// const { Email } = require('../models/email.model');
-// const { User } = require('../models/user.model');
-// const nodemailer = require('nodemailer');
+const express = require('express');
+const router = express.Router();
+const { Email } = require('../models/email.model');
+const { User } = require('../models/user.model');
+const nodemailer = require('nodemailer');
 
-// const passport = require('passport');
-// const  FacebookStrategy  = require('passport-facebook').Strategy;
+const passport = require('passport');
+const  FacebookStrategy  = require('passport-facebook').Strategy;
 
-// passport.use(new FacebookStrategy({
-//     clientID: "318954999682335",
-//     clientSecret: "9f8d5261decefbaf556f4c42539ee358",
-//     callbackURL: "http://localhost:4000/api/auth/facebook/callback",
-//     enableProof: false
-//   },
+passport.use(new FacebookStrategy({
+    clientID: "318954999682335",
+    clientSecret: "9f8d5261decefbaf556f4c42539ee358",
+    callbackURL: "http://localhost:4000/api/auth/facebook/callback",
+    enableProof: false
+  },
  
-//   (accessToken, refreshToken, profile, done) => {
-//    try{
-//     console.log('acces token ',accessToken);
-//     console.log('refresh token ',refreshToken);
-//     console.log('profile ',profile);
-//     console.log('done ',done);
-// }  catch(error){
-//    console.log(error)
-// }
+  (accessToken, refreshToken, profile, done) => {
+   try{
+    console.log('acces token ',accessToken);
+    console.log('refresh token ',refreshToken);
+    console.log('profile ',profile);
+    console.log('done ',done);
+}  catch(error){
+   console.log(error)
+}
     
-//   }
-// ));
+  }
+));
 
 
-// router.get('/', passport.authenticate('facebook' ) );
-// router.get('/callback',  passport.authenticate('facebook',
-//  { successRedirect: '/profile',
-//   failureRedirect: '/'}
-//   ));
+router.get('/', passport.authenticate('facebook' ) );
+router.get('/callback',  passport.authenticate('facebook',
+ { successRedirect: '/profile',
+  failureRedirect: '/'}
+  ));
 
 
-// module.exports = router; 
+module.exports = router; 

+ 108 - 108
express-server/routes/google.js

@@ -1,79 +1,79 @@
-// const express = require('express');
-// const router = express.Router();
-// const jwt = require("jsonwebtoken");
-// const { Email } = require('../models/email.model');
-// const { User } = require('../models/user.model');
-// const nodemailer = require('nodemailer');
-// const role = require('../lib/role');
-// require('dotenv').config();
+const express = require('express');
+const router = express.Router();
+const jwt = require("jsonwebtoken");
+const { Email } = require('../models/email.model');
+const { User } = require('../models/user.model');
+const nodemailer = require('nodemailer');
+const role = require('../lib/role');
+//require('dotenv').config();
 
-// const passport = require('passport');
-// const GoogleStrategy = require('passport-google-oauth20').Strategy;
+const passport = require('passport');
+const GoogleStrategy = require('passport-google-oauth20').Strategy;
 
-// router.use(passport.initialize());
-// //router.use(passport.session());
+router.use(passport.initialize());
+//router.use(passport.session());
 
 
-// passport.serializeUser((user, cb) => {
-//   cb(null, user);
-// });
+passport.serializeUser((user, cb) => {
+  cb(null, user);
+});
 
 
-// passport.deserializeUser((obj, cb) => {
-//   cb(null, obj);
-// });
+passport.deserializeUser((obj, cb) => {
+  cb(null, obj);
+});
 
 
-// // passport.use(new GoogleStrategy({
-// //     clientID: "493465923713-qrbgtq8d53iguine1gf928483mn4odes.apps.googleusercontent.com",
-// //     clientSecret: "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",
-// //     callbackURL: "http://localhost:4000/api/auth/google/callback"
-// //   },
+// passport.use(new GoogleStrategy({
+//     clientID: "493465923713-qrbgtq8d53iguine1gf928483mn4odes.apps.googleusercontent.com",
+//     clientSecret: "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",
+//     callbackURL: "http://localhost:4000/api/auth/google/callback"
+//   },
 
-// //      async  (accessToken, refreshToken, profile, done) => {
+//      async  (accessToken, refreshToken, profile, done) => {
 
 
-// //       console.log(profile.emails[0].value)
+//       console.log(profile.emails[0].value)
 
-// //        return done(null, profile);
+//        return done(null, profile);
 
-// //  var email = profile.emails[0].value
-// //  const user =  await User.findOne({email: email})
+//  var email = profile.emails[0].value
+//  const user =  await User.findOne({email: email})
 
 
-// // if (user) {
-// //   console.log(user)
-// //   user.username = accessToken;
+// if (user) {
+//   console.log(user)
+//   user.username = accessToken;
 
 
-// //   user.save().then(()=>{
-// //     return done(null, user);
-// //   })
-// // }else{
+//   user.save().then(()=>{
+//     return done(null, user);
+//   })
+// }else{
 
-// // console.log('creation of user')
-// // //make a new record
-// // let user = await new User({
-// //   googleId: profile.id,
-// //   email: profile.emails[0].value,
-// //   accessToken : accessToken,
-// //   refreshToken : refreshToken
-// // }).save()
-// // done(null, user);
-// // }
+// console.log('creation of user')
+// //make a new record
+// let user = await new User({
+//   googleId: profile.id,
+//   email: profile.emails[0].value,
+//   accessToken : accessToken,
+//   refreshToken : refreshToken
+// }).save()
+// done(null, user);
+// }
 
 
 
 
 
-// // console.log('acces token ',accessToken);
-// // console.log('refresh token ',refreshToken);
-// //  console.log('prfile ',profile.emails[0].value);
-// // console.log('done ',done);
+// console.log('acces token ',accessToken);
+// console.log('refresh token ',refreshToken);
+//  console.log('prfile ',profile.emails[0].value);
+// console.log('done ',done);
 
 
-// //   }
-// // ));
+//   }
+// ));
 
 
 
@@ -84,77 +84,77 @@
 
 
 
-// passport.use(new GoogleStrategy({
-//   clientID: "493465923713-qrbgtq8d53iguine1gf928483mn4odes.apps.googleusercontent.com",
-//   clientSecret: "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",
-//   callbackURL: "http://localhost:4000/api/auth/google/callback"
-// },
-// async (req, accessToken, refreshToken, profile, cb) => {
-
-//     User.findOne({ email: profile.emails[0].value }, (err, user) => {
-//       if (err) {
-//         cb(err); // handle errors!
-//       }
-//       if (!err && user !== null) {
-//         cb(err, user);
-//       }
-//       else {
-
-//         user = new User({
-//           googleId: profile.id,
-//           email: profile.emails[0].value,
-//           firstname: profile.name.givenName,
-//           lastname: profile.name.familyName,
-//           role: role.Client,
-//           isActive: true,
-//           isGain: false,
-//         });
-
-//         user.save((err) => {
-//           if (err) {
-//             cb(err); // handle errors!
-//           } else {
-//             cb(null, user);
-//           }
-//         });
-//       }
-//     });
-//   }
-// ));
+passport.use(new GoogleStrategy({
+  clientID: "493465923713-qrbgtq8d53iguine1gf928483mn4odes.apps.googleusercontent.com",
+  clientSecret: "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",
+  callbackURL: "http://localhost:4000/api/auth/google/callback"
+},
+async (req, accessToken, refreshToken, profile, cb) => {
+
+    User.findOne({ email: profile.emails[0].value }, (err, user) => {
+      if (err) {
+        cb(err); // handle errors!
+      }
+      if (!err && user !== null) {
+        cb(err, user);
+      }
+      else {
+
+        user = new User({
+          googleId: profile.id,
+          email: profile.emails[0].value,
+          firstname: profile.name.givenName,
+          lastname: profile.name.familyName,
+          role: role.Client,
+          isActive: true,
+          isGain: false,
+        });
+
+        user.save((err) => {
+          if (err) {
+            cb(err); // handle errors!
+          } else {
+            cb(null, user);
+          }
+        });
+      }
+    });
+  }
+));
 
 
 
 
 
-// router.get('/', passport.authenticate('google', { session: false, scope: ['profile', 'email'] }), 
-// async () => {
-//   console.log('je suis dans mon get root')
-// });
+router.get('/', passport.authenticate('google', { session: false, scope: ['profile', 'email'] }), 
+async () => {
+  console.log('je suis dans mon get root')
+});
 
-// // router.get('/callback', passport.authenticate('google') )
+// router.get('/callback', passport.authenticate('google') )
 
 
 
-// router.get('/callback',  passport.authenticate('google', { failureRedirect: '/failed' }),
-//   async (req, res) => {
-//       console.log('je susi dans ma fonction callback ', req.user)
-//       const token = jwt.sign({ userId: req.user._id, email: req.user.email, role: req.user.role }, process.env.SECRET_KEY, { expiresIn: '10 h' })
-//        //res.status(200).json({ success: true, token, expireIn: `${new Date().getTime() + 120000}` })
-//       console.log(token) 
-//       res.redirect(`${process.env.URL}/auth/?token=${token}`);
-//     });
+router.get('/callback',  passport.authenticate('google', { failureRedirect: '/failed' }),
+  async (req, res) => {
+      console.log('je susi dans ma fonction callback ', req.user)
+      const token = jwt.sign({ userId: req.user._id, email: req.user.email, role: req.user.role }, process.env.SECRET_KEY, { expiresIn: '10 h' })
+       //res.status(200).json({ success: true, token, expireIn: `${new Date().getTime() + 120000}` })
+      console.log(token) 
+      res.redirect(`http://localhost:4200/auth/?token=${token}`);
+    });
 
 
-// //failed auth google 
-// router.get('/failed', async (req, res) => { res.status(404).send('erreur authentification') })
+//failed auth google 
+router.get('/failed', async (req, res) => { res.status(404).send('erreur authentification') })
 
 
 
-// //get all users
-// router.get('/good', async (req, res) => {
+//get all users
+router.get('/good', async (req, res) => {
 
-//   res.status(200).send('welcome mr ');
-// })
+  res.status(200).send('welcome mr ');
+})
 
 
 
@@ -162,4 +162,4 @@
 
 
 
-// module.exports = router; 
+module.exports = router;