Next Auth Discord provider
Unanswered
Serengeti posted this in #help-forum
SerengetiOP
The default discord provider is this:
But the return object
{
id: profile.id,
name: profile.username,
email: profile.email,
image: profile.image_url,
};
Is fake. Even if you override it, it doesn't change. Even in the docs the key "id" is used but neither the default DiscordProvider returns any id. Someone know how to solve?
function Discord(options) {
return {
id: "discord",
name: "Discord",
type: "oauth",
authorization:
"https://discord.com/api/oauth2/authorize?scope=identify+email",
token: "https://discord.com/api/oauth2/token",
userinfo: "https://discord.com/api/users/@me",
profile(profile) {
if (profile.avatar === null) {
const defaultAvatarNumber = parseInt(profile.discriminator) % 5;
profile.image_url = `https://cdn.discordapp.com/embed/avatars/${defaultAvatarNumber}.png`;
} else {
const format = profile.avatar.startsWith("a_") ? "gif" : "png";
profile.image_url = `https://cdn.discordapp.com/avatars/${profile.id}/${profile.avatar}.${format}`;
}
return {
id: profile.id,
name: profile.username,
email: profile.email,
image: profile.image_url,
};
},
style: { logo: "/discord.svg", bg: "#5865F2", text: "#fff" },
options,
};
}But the return object
{
id: profile.id,
name: profile.username,
email: profile.email,
image: profile.image_url,
};
Is fake. Even if you override it, it doesn't change. Even in the docs the key "id" is used but neither the default DiscordProvider returns any id. Someone know how to solve?