Skip to content
Migrating from NextAuth.js v4? Read our migration guide.
API reference
discord

providers/discord

Built-in Discord integration.

DiscordProfile

Corresponds to the user structure documented here: https://discord.com/developers/docs/resources/user#user-object-user-structure

Extends

  • Record<string, any>

Properties

accent_color

accent_color: null | number;

the user’s banner color encoded as an integer representation of hexadecimal color code

avatar

avatar: null | string;

the user’s avatar hash: https://discord.com/developers/docs/reference#image-formatting

avatar_decoration

avatar_decoration: null | string;

undocumented field; corresponds to the Discord feature where you can e.g. put your avatar inside of an ice cube

banner

banner: null | string;

the user’s banner hash: https://discord.com/developers/docs/reference#image-formatting

banner_color

banner_color: null | string;

undocumented field; corresponds to the premium feature where you can select a custom banner color

bot?

optional bot: boolean;

whether the user belongs to an OAuth2 application

discriminator

discriminator: string;

the user’s Discord-tag

display_name

display_name: null | string;

undocumented field; corresponds to the user’s custom nickname

email

email: null | string;

the user’s email

flags

flags: number;

the flags on a user’s account: https://discord.com/developers/docs/resources/user#user-object-user-flags

global_name

global_name: null | string;

the user’s display name, if it is set

id

id: string;

the user’s id (i.e. the numerical snowflake)

image_url

image_url: string;

undocumented field; the CDN URL of their profile picture

locale

locale: string;

the user’s chosen language option: https://discord.com/developers/docs/reference#locales

mfa_enabled

mfa_enabled: boolean;

whether the user has two factor enabled on their account

premium_type

premium_type: number;

the type of Nitro subscription on a user’s account: https://discord.com/developers/docs/resources/user#user-object-premium-types

public_flags

public_flags: number;

the public flags on a user’s account: https://discord.com/developers/docs/resources/user#user-object-user-flags

system?

optional system: boolean;

whether the user is an Official Discord System user (part of the urgent message system)

username

username: string;

the user’s username, not unique across the platform

verified

verified: boolean;

whether the email on this account has been verified


default()

default<P>(options): OAuthConfig<P>

Add Discord login to your page.

Setup

Callback URL

https://example.com/api/auth/callback/discord

Configuration

import { Auth } from "@auth/core"
import Discord from "@auth/core/providers/discord"
 
const request = new Request(origin)
const response = await Auth(request, {
  providers: [
    Discord({
      clientId: DISCORD_CLIENT_ID,
      clientSecret: DISCORD_CLIENT_SECRET,
    }),
  ],
})

Resources

Notes

By default, Auth.js assumes that the Discord provider is based on the OAuth 2 specification.

💡

The Discord provider comes with a default configuration. To override the defaults for your use case, check out customizing a built-in OAuth provider.

Disclaimer If you think you found a bug in the default configuration, you can open an issue.

Auth.js strictly adheres to the specification and it cannot take responsibility for any deviation from the spec by the provider. You can open an issue, but if the problem is non-compliance with the spec, we might not pursue a resolution. You can ask for more help in Discussions.

Type parameters

Type parameter
P extends DiscordProfile

Parameters

ParameterType
optionsOAuthUserConfig<P>

Returns

OAuthConfig<P>

Auth.js © Balázs Orbán and Team - 2024