Skip to main content

providers

Type Aliases​

EndpointHandler<P, C, R>​

EndpointHandler<P, C, R>: AdvancedEndpointHandler<P, C, R>

Either an URL (containing all the parameters) or an object with more granular control.

Type parameters​

  • P extends UrlParams
  • C = any
  • R = any

Provider<P>​

Provider<P>: OIDCConfig<P> | OAuth2Config<P> | EmailConfig | CredentialsConfig & {  }

Must be a supported authentication provider config:

  • OAuthConfig
  • EmailConfigInternal
  • CredentialsConfigInternal

For more information, see the guides:

See​

Type parameters​


ProviderType​

ProviderType: "oidc" | "oauth" | "email" | "credentials"

Providers passed to Auth.js must define one of these types.

See​

Interfaces​

CommonProviderOptions​

Shared across all ProviderType

Properties​

id​
id: string

Uniquely identifies the provider in AuthConfig.providers It's also part of the URL

name​
name: string

The provider name used on the default sign-in page's sign-in button. For example if it's "Google", the corresponding button will say: "Sign in with Google"

type​
type: ProviderType

See ProviderType


OAuth2Config<Profile>​

TODO:

Type parameters​

  • Profile

Properties​

id​
id: string

Identifies the provider when you want to sign in to a specific provider.

Example​
signIn('github') // "github" is the provider ID

Overrides: CommonProviderOptions.id

name​
name: string

The name of the provider. shown on the default sign in page.

Overrides: CommonProviderOptions.name

allowDangerousEmailAccountLinking​
allowDangerousEmailAccountLinking?: boolean

Documentation

authorization​
authorization?: string | AuthorizationEndpointHandler

The login process will be initiated by sending the user to this URL.

Authorization endpoint

checks​
checks?: ("none" | "state" | "nonce" | "pkce")[]

The CSRF protection performed on the callback endpoint.

Default​

["pkce"]

RFC 7636 - Proof Key for Code Exchange by OAuth Public Clients (PKCE) | RFC 6749 - The OAuth 2.0 Authorization Framework | OpenID Connect Core 1.0 |

profile​
profile?: ProfileCallback<Profile>

Receives the profile object returned by the OAuth provider, and returns the user object. This will be used to create the user in the database. Defaults to: id, email, name, image

Documentation

wellKnown​
wellKnown?: string

OpenID Connect (OIDC) compliant providers can configure this instead of authorize/token/userinfo options without further configuration needed in most cases. You can still use the authorize/token/userinfo options for advanced control.

Authorization Server Metadata


OIDCConfig<Profile>​

TODO:

Type parameters​

  • Profile

Properties​

id​
id: string

Identifies the provider when you want to sign in to a specific provider.

Example​
signIn('github') // "github" is the provider ID

Inherited from: Omit.id

name​
name: string

The name of the provider. shown on the default sign in page.

Inherited from: Omit.name

allowDangerousEmailAccountLinking​
allowDangerousEmailAccountLinking?: boolean

Documentation

Inherited from: Omit.allowDangerousEmailAccountLinking

authorization​
authorization?: string | AuthorizationEndpointHandler

The login process will be initiated by sending the user to this URL.

Authorization endpoint

Inherited from: Omit.authorization

checks​
checks?: ("none" | "state" | "nonce" | "pkce")[]

The CSRF protection performed on the callback endpoint.

Default​

["pkce"]

RFC 7636 - Proof Key for Code Exchange by OAuth Public Clients (PKCE) | RFC 6749 - The OAuth 2.0 Authorization Framework | OpenID Connect Core 1.0 |

Inherited from: Omit.checks

profile​
profile?: ProfileCallback<Profile>

Receives the profile object returned by the OAuth provider, and returns the user object. This will be used to create the user in the database. Defaults to: id, email, name, image

Documentation

Inherited from: Omit.profile

wellKnown​
wellKnown?: string

OpenID Connect (OIDC) compliant providers can configure this instead of authorize/token/userinfo options without further configuration needed in most cases. You can still use the authorize/token/userinfo options for advanced control.

Authorization Server Metadata

Inherited from: Omit.wellKnown