Open phildev4 opened 4 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!
@alanlichen I'm get error: 'invalid_client' , i'm glad that you help me with that
@alanlichen I managed on my own thanks anyway 😀
Ok :)
catchAsyncErrors is not defined
You must define it, the blog has the function there
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"
URLSearchParams
is undefined. How to resolve this?
URLSearchParams
is undefined. How to resolve this?
const { URLSearchParams } = require('url');
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
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.
catchAsyncErrors is not defined. Defined it but it's still not working.
Make sure you are importing it at the top of your file.
Now I'm getting the same thing as @Voxioo
same here