Advertisement
Guest User

Untitled

a guest
Jun 25th, 2019
112
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
text 1.67 KB | None | 0 0
  1. Router.get(
  2. "/callback",
  3. passport.authenticate("google"),
  4. (req, res, err) => {
  5. if (err.name === "TokenError") {
  6. res.redirect("/"); // redirect them back to the login page
  7. }
  8. user = req.user;
  9. console.log("[googleRoutes.js] callback : ", user);
  10. res.redirect("localhost:3000");//problem lies here
  11. }
  12. );
  13.  
  14. const passport = require("passport"),
  15. GoogleStrategy = require("passport-google-oauth20").Strategy,
  16. keys = require("../key"),
  17. User = require("../User"),
  18. UserSession = require("../UserSession");
  19.  
  20. passport.serializeUser((user, done) => {
  21. console.log("[Serializing Google] :", user.id);
  22. done(null, user.id);
  23. });
  24. passport.deserializeUser((user, done) => {
  25. User.findById(user.id).then(user => {
  26. console.log("[Deserializing Google] :", user.id);
  27. done(null, user);
  28. });
  29. });
  30.  
  31. passport.use(
  32. new GoogleStrategy(
  33. {
  34. clientID: keys.googleClientID,
  35. clientSecret: keys.googleClientSecret,
  36. callbackURL: "/auth/google/callback"
  37. },
  38. async (accessToken, refreshToken, profile, done) => {
  39. console.log("profile :", profile.id);
  40. const existingUser = await User.findOne({ googleId: profile.id });
  41. if (existingUser) {
  42. //we already have a record wih the given profile ID
  43. console.log("user existing google");
  44. done(null, existingUser);
  45. } else {
  46. //we don't have a user record with this ID, make a new record
  47. const user = await new User();
  48. user.username = profile.displayName;
  49. user.googleId = profile.id;
  50. console.log("google id is saved");
  51. user.save().then(theuser => {
  52. done(null, theuser);
  53. });
  54. }
  55. }
  56. )
  57. );
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement