Files
Balázs Orbán cbf9622e6f chore: move docs to top-level (#3887)
* chore: move docs to top-level

* chore: add docs back to workspaces
2022-02-09 00:42:11 +01:00

1.6 KiB

id, title
id title
reddit Reddit

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
  })
]
...

:::warning Reddit requires authorization every time you go through their page. :::

:::warning 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,
      }
    },
  },
]

:::