JMPerez/passport-spotify

TokenError: Invalid "code" in request.

Closed this issue · 1 comments

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"

@Maati123 your code uses Discord’s passport strategy, not Spotify’s.

I’m closing this issue as it doesn’t seem related with this library.