You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

next-auth中如何正确传递redirect_uri解决Reddit OAuth参数报错

解决方法

你可以通过在Reddit OAuth provider的配置中显式指定callbackUrl参数,覆盖next-auth默认生成的回调地址:

  1. 修改你的next-auth配置代码,在Reddit provider的配置项中添加callbackUrl字段,值设置为你需要的http://localhost:8080,修改后的完整代码如下:
import NextAuth from 'next-auth';

export default NextAuth({
    providers: [
        {
            id: 'reddit',
            name: 'Reddit',
            clientId: process.env.CLIENT_ID,
            clientSecret: process.env.CLIENT_SECRET,
            scope: 'read submit identity',
            type: 'oauth',
            version: '2.0',
            params: { grant_type: 'authorization_code' },
            accessTokenUrl: ' https://www.reddit.com/api/v1/access_token',
            // 新增该行指定自定义回调地址
            callbackUrl: 'http://localhost:8080',
            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 as string,
                    name: profile.name,
                    email: null,
                };
            },
        },
    ],
});
  1. 确认Reddit开发者后台的对应应用配置中,已经将http://localhost:8080添加到了授权回调地址白名单中,必须保证传入的redirect_uri和后台配置完全一致,否则依旧会报参数无效错误。
  2. 重启项目后重新发起授权请求即可生效。

内容的提问来源于stack exchange,提问作者Андрей Кочанов

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.09.29 13:15:06