Next.js Discord

Discord Forum

Next Auth Discord provider

Unanswered
Serengeti posted this in #help-forum
Open in Discord
SerengetiOP
The default discord provider is this:

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?

0 Replies