Как получить дополнительные данные об области действия с помощью 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