【问题标题】:How to get additional scope data using next-auth?如何使用 next-auth 获取额外的范围数据?
【发布时间】:2021-01-05 09:48:40
【问题描述】:

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

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

【问题讨论】:

    标签: javascript oauth next.js next-auth


    【解决方案1】:

    使用 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' } },
      })
    ]
    ...
    

    【讨论】:

    • 链接已失效,答案似乎已过时。
    • @BadPirate 已更新,谢谢!
    【解决方案2】:

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

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

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

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 2021-01-12
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2018-08-01
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多