providers/discord
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: 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
Parameter | Type |
---|---|
options | OAuthUserConfig <P > |
Returns
OAuthConfig
<P
>