orels1 / discord-token-generator

An example discord oauth2 token generator
116 stars 74 forks source link

token undefined #11

Open phildev4 opened 4 years ago

lucasyrsdr commented 3 years ago

same here

alaninnovates commented 3 years ago

Change it to this since discord changed their API.

const redirUri = 'http://localhost:[port]/api/discord/callback';
router.get(
    '/callback',
    catchAsyncErrors(async (req, res) => {
        if (!req.query.code) throw new Error('NoCodeProvided');
        const code = req.query.code;
        const creds = btoa(`${clientId}:${clientSecret}`);
        const data = {
            grant_type: 'authorization_code',
            client_id: clientId,
            client_secret: clientSecret,
            code,
            redirect_uri: redirUri,
            scope: 'identify',
        };
        const response = await fetch(
            `https://discord.com/api/oauth2/token`,
            {
                method: 'POST',
                headers: {
                    Authorization: `Basic ${creds}`,
                    'Content-type': `application/x-www-form-urlencoded`,
                },
                body: new URLSearchParams(data),
            },
        );
        const json = await response.json();
        console.log(json);
        res.redirect(`/?token=${json.access_token}`);
    }),
);

If you don't understand this, ask!

yakirifrah commented 3 years ago

@alanlichen I'm get error: 'invalid_client' , i'm glad that you help me with that

yakirifrah commented 3 years ago

@alanlichen I managed on my own thanks anyway 😀

alaninnovates commented 3 years ago

Ok :)

lasse-lenting commented 3 years ago

catchAsyncErrors is not defined

alaninnovates commented 3 years ago

You must define it, the blog has the function there

Voxioo commented 3 years ago

You must define it, the blog has the function there

defined it, it tells me "Router.use() requires a middleware function but got a Object"

reiz commented 3 years ago

URLSearchParams is undefined. How to resolve this?

reiz commented 3 years ago

URLSearchParams is undefined. How to resolve this?

const { URLSearchParams } = require('url');

alaninnovates commented 3 years ago

URLSearchParams is undefined. How to resolve this?

const { URLSearchParams } = require('url');

@reiz Hello! If you need to require the native URL library in order to use URLSearchParams, I believe that you should need to upgrade your node version. Anything above node v10 should have the library's exported methods defined within the global context. Refer to this for a list of global objects: https://nodejs.org/api/globals.html

reiz commented 3 years ago

URLSearchParams is undefined. How to resolve this?

const { URLSearchParams } = require('url');

@reiz Hello! If you need to require the native URL library in order to use URLSearchParams, I believe that you should need to upgrade your node version. Anything above node v10 should have the library's exported methods defined within the global context. Refer to this for a list of global objects: https://nodejs.org/api/globals.html

I'm running on v16.6.1. But somehow the URLSearchParams was undefined. After the require it worked perfectly.

OverpoweredCoding commented 2 years ago

catchAsyncErrors is not defined. Defined it but it's still not working.

alaninnovates commented 2 years ago

Make sure you are importing it at the top of your file.

OverpoweredCoding commented 2 years ago

Now I'm getting the same thing as @Voxioo