Skip to main content

providers/reddit

Built-in Reddit integration.

default()​

default(config): OAuthConfig<Record<string, any>>

Add Reddit login to your page.

Setup​

Callback URL​

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

Configuration​

import Auth from "@auth/core"
import Reddit from "@auth/core/providers/reddit"

const request = new Request(origin)
const response = await Auth(request, {
providers: [Reddit({ clientId: REDDIT_CLIENT_ID, clientSecret: REDDIT_CLIENT_SECRET })],
})

Resources​

Notes​

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

danger

Reddit requires authorization every time you go through their page. Only allows one callback URL per Client ID / Client Secret.

tip

This Provider template only has a one hour access token to it and only has the "identity" scope. If you want to get a refresh token as well you must follow this:

pages/api/auth/[...nextauth].js
providers: [
RedditProvider({
clientId: process.env.REDDIT_CLIENT_ID,
clientSecret: process.env.REDDIT_CLIENT_SECRET,
authorization: {
params: {
duration: 'permanent',
},
},
}),
]
tip

The Reddit 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.

Parameters​

β–ͺ config: OAuthUserConfig<Record<string, any>>

Returns​

OAuthConfig<Record<string, any>>