如何使用 next-auth 获取额外的范围数据?

4 javascript oauth next.js next-auth

我正在使用带有不和谐身份验证的 next-auth,我将行会添加到我的范围中,但我无法获取行会数据,这该怎么办?

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

Bad*_*ate 13

最新版本允许您覆盖任何模式(深度合并,以便您只需键入要更新的字段)。

来到这里寻找这个确切的答案,这就是我使用的:

DiscordProvider({
  clientId: process.env.DISCORD_CLIENT_ID,
  clientSecret: process.env.DISCORD_CLIENT_SECRET,
  authorization: { params: { scope: 'identify guilds' } },
}),
Run Code Online (Sandbox Code Playgroud)


Cor*_*all 9

使用 Discord OAuth2 也遇到了这个问题。我在 NextAuth 的文档中找到了它:

https://next-auth.js.org/providers/discord#example

基本上,您可以在提供程序数组之后添加范围作为常规选项。

import DiscordProvider from "next-auth/providers/discord";
...
providers: [
  DiscordProvider({
    clientId: process.env.DISCORD_CLIENT_ID,
    clientSecret: process.env.DISCORD_CLIENT_SECRET,
    authorization: { params: { scope: 'identify guilds' } },
  })
]
...
Run Code Online (Sandbox Code Playgroud)

  • 链接已死,答案似乎已过时。 (2认同)