Как получить дополнительные данные об области действия с помощью next-auth?

Я использую next-auth с аутентификацией Discord, я добавил гильдии в свою область, но я не могу получить данные гильдии, как это можно сделать?

const options = {
  providers: [
    Providers.Discord({
      clientId: process.env.DISCORD_CLIENT_ID,
      clientSecret: process.env.DISCORD_CLIENT_SECRET,
      scope: "identify guilds",
    }),
  ],
};

3 ответа

Самая последняя сборка позволяет вам переопределить любой шаблон (глубоко объединенный, так что вам нужно только ввести поля, которые вы хотите обновить).

Пришел сюда в поисках этого точного ответа, и это то, что я использовал:

Также столкнулся с этим, используя Discord OAuth2. Я нашел это в документах NextAuth здесь:

https://next-auth.js.org/configuration/providers#oauth-provider-options

По сути, вы добавляете область как общий параметр после массива поставщиков.

providers: [
  Providers.Discord({
    clientId: process.env.DISCORD_CLIENT_ID,
    clientSecret: process.env.DISCORD_CLIENT_SECRET,
  }),
  {
    id: 'customProvider',
    name: 'CustomProvider',
    type: 'oauth',
    version: '2.0',
    scope: ''  // Make sure to request the users email address
  }
]

Для тех, кто ищет области для разных провайдеров (Google, Facebook, ...), ключ области не обязательно всегда находится в одном и том же месте, поэтому обязательно просмотрите документ вашего провайдера на веб-сайте Next-Auth: https: // next-auth.js.org/providers

Другие вопросы по тегам