Documentation
https://www.reddit.com/dev/api/
Configuration
https://www.reddit.com/prefs/apps/
Options
The Reddit Provider comes with a set of default options:
You can override any of the options to suit your own use case.
Example
import Providers from `next-auth/providers`
...
providers: [
  Providers.Reddit({
    clientId: process.env.REDDIT_CLIENT_ID,
    clientSecret: process.env.REDDIT_CLIENT_SECRET
  })
]
...
danger
Reddit requires authorization every time you go through their page.
danger
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:
providers: [
  {
    id: "reddit",
    name: "Reddit",
    clientId: process.env.REDDIT_CLIENT_ID,
    clientSecret: process.env.REDDIT_CLIENT_SECRET,
    scope: "identity mysubreddits read", //Check Reddit API Documentation for more. The identity scope is required.
    type: "oauth",
    version: "2.0",
    params: { grant_type: "authorization_code" },
    accessTokenUrl: " https://www.reddit.com/api/v1/access_token",
    authorizationUrl:
      "https://www.reddit.com/api/v1/authorize?response_type=code&duration=permanent",
    profileUrl: "https://oauth.reddit.com/api/v1/me",
    profile: (profile) => {
      return {
        id: profile.id,
        name: profile.name,
        email: null,
      }
    },
  },
]