Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- Router.get(
- "/callback",
- passport.authenticate("google"),
- (req, res, err) => {
- if (err.name === "TokenError") {
- res.redirect("/"); // redirect them back to the login page
- }
- user = req.user;
- console.log("[googleRoutes.js] callback : ", user);
- res.redirect("localhost:3000");//problem lies here
- }
- );
- const passport = require("passport"),
- GoogleStrategy = require("passport-google-oauth20").Strategy,
- keys = require("../key"),
- User = require("../User"),
- UserSession = require("../UserSession");
- passport.serializeUser((user, done) => {
- console.log("[Serializing Google] :", user.id);
- done(null, user.id);
- });
- passport.deserializeUser((user, done) => {
- User.findById(user.id).then(user => {
- console.log("[Deserializing Google] :", user.id);
- done(null, user);
- });
- });
- passport.use(
- new GoogleStrategy(
- {
- clientID: keys.googleClientID,
- clientSecret: keys.googleClientSecret,
- callbackURL: "/auth/google/callback"
- },
- async (accessToken, refreshToken, profile, done) => {
- console.log("profile :", profile.id);
- const existingUser = await User.findOne({ googleId: profile.id });
- if (existingUser) {
- //we already have a record wih the given profile ID
- console.log("user existing google");
- done(null, existingUser);
- } else {
- //we don't have a user record with this ID, make a new record
- const user = await new User();
- user.username = profile.displayName;
- user.googleId = profile.id;
- console.log("google id is saved");
- user.save().then(theuser => {
- done(null, theuser);
- });
- }
- }
- )
- );
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement