TokenError: Invalid "code" in request.
Closed this issue · 1 comments
zmaati commented
Hello i have: "TokenError: Invalid "code" in request" error
i dont know where it is. But i tested it and code that makes this error is:
const passport = require("passport");
const DiscordStrategy = require("passport-discord");
const User = require('../database/schemas/User');
passport.serializeUser((user, done) => {
done(null, user.discordId)
});
passport.deserializeUser(async (discordId, done) => {
try {
const user = await User.findOne({ discordId });
return user ? done(null, user): done(null, null)
} catch (err) {
console.log(err);
done(err, null);
}
});
passport.use(
new DiscordStrategy({
clientID: process.env.DASHBOARD_CLIENT_ID,
clientSecret: process.env.DASHBOARD_CLIENT_SECRET,
callbackURL: process.env.DASHBOARD_CALLBACK_URL,
scope: ['identify', 'guilds'],
}, async (accessToken, refreshToken, profile, done) => {
const { id, username, discriminator, avatar, guilds } = profile;
console.log(id, username, discriminator, avatar, guilds);
try {
const findUser = await User.findOneAndUpdate(
{ discordId: id },
{
discordTag: `${username}#${discriminator}`,
avatar,
guilds,
},
{ new: true }
);
if (findUser) {
console.log('User was found');
return done(null, findUser);
} else {
const newUser = await User.create({
discordId: id,
discordTag: `${username}#${discriminator}`,
avatar,
guilds,
});
return done(null, newUser);
}
} catch (err) {
console.log(err);
return done(err, null);
}
})
);
Pls help me fix this. Im tired already. I tried everything but nothing helps.
Im using:
"dotenv": "^8.2.0",
"express": "^4.17.1",
"mongoose": "^5.12.4",
"nodemon": "^2.0.7",
"passport": "^0.4.1",
"passport-discord": "^0.1.4",
"react": "^17.0.2"