I am new to nodeJS and I’m having a problem with the google oauth2
I am getting this error :
GET http://localhost:5000/auth/callback?code=4/0AWtgzh5b588L7bEBqAgcpSSP7kOAT_4PN6Jh-_JPAe0LVC_etWSZg1mResjnVoB-gPhjJw&scope=email%20profile%20https://www.googleapis.com/auth/userinfo.email%20https://www.googleapis.com/auth/userinfo.profile%20openid&authuser=0&hd=esprit.tn&prompt=consent 404 (Not Found)
**this is my passport-setup.js :
**
const passport = require('passport');
const GoogleStrategy = require('passport-google-oauth2').Strategy;
passport.serializeUser((user , done) => {
done(null , user);
})
passport.deserializeUser(function(user, done) {
done(null, user);
});
passport.use(new GoogleStrategy({
clientID:process.env.GOOGLE_CLIENT_ID,
clientSecret:process.env.GOOGLE_CLIENT_SECRET,
callbackURL:process.env.GOOGLE_CALLBACK_URL,
passReqToCallback:true
},
function(request, accessToken, refreshToken, profile, done) {
return done(null, profile);
}
));
**and this is my signup routes :
**
const router = require('express').Router();
const passport = require('passport');
require('../../controllers/user-management/passport-setup');
// signup by google
router.get('/', (req, res) => {
res.send("<button><a href='./auth'>Login With Google</a></button>")
});
router.get('/auth' , passport.authenticate('google', { scope:
[ 'email', 'profile' ]
}));
// Auth Callback
router.get( '/auth/callback',
passport.authenticate( 'google', {
successRedirect: './auth/callback/success',
failureRedirect: './auth/callback/failure'
}));
// Success
router.get('/auth/callback/success' , (req , res) => {
if(!req.user)
res.redirect('./auth/callback/failure');
res.send("Welcome " + req.user.email);
});
// failure
router.get('/auth/callback/failure' , (req , res) => {
res.send("Error");
console.log("faileddd");
})
module.exports = router;
I checked the redirect uri it’s not a mismatch..