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

SvelteKit项目Docker容器中使用auth.js登录报Error 403

问题

在SvelteKit项目中使用auth.js,计划通过Docker部署到租赁服务器。本地开发环境下auth.js运行完全正常,但启动Docker容器后尝试登录时抛出Error 403错误,不清楚问题原因。

docker-compose.yml 配置

services:
  web:
    container_name: project_name
    image: username/project_name:1.0
    restart: always
    ports:
      - '3000:3000'
    env_file:
      - .env.production
    command: node /app/build/index.js

SvelteKit中auth.js实现代码

const prisma = new PrismaClient();

const auth = SvelteKitAuth({
    //@ts-ignore
    adapter: PrismaAdapter(prisma),
    //secret: AUTH_SECRET,
    trustHost: true,
    debug:true,
    providers: [
        Spotiy({
            clientId: SPOTIFY_CLIENT_ID,
            clientSecret: SPOTIFY_CLIENT_SECRET, 
        }),
        Google({
            clientId: GOOGLE_CLIENT_ID,
            clientSecret: GOOGLE_CLIENT_SECRET
        }),
    ] as any,
    pages : {
        error: '/error'
    },
}) satisfies Handle;
可能的原因与解决方法
  • 缺失生产环境必需的AUTH_SECRET
    代码中注释掉了secret: AUTH_SECRET配置,生产环境下auth.js必须依赖这个密钥加密会话、验证请求签名,缺失会直接导致403权限错误。
    解决:取消注释该行,确保.env.production中配置了AUTH_SECRET(可通过openssl rand -hex 32生成安全密钥),且Docker容器能正确读取该环境变量。

  • 第三方登录回调URL不匹配
    本地开发用localhost相关回调URL,但部署到服务器后,Spotify、Google的OAuth配置里的回调URL必须更新为服务器域名(例如https://你的域名/api/auth/callback/spotify、https://你的域名/api/auth/callback/google),否则第三方平台会拒绝回调请求,引发403。
    解决:登录Spotify开发者平台和Google云平台,更新对应OAuth应用的回调URL为生产环境域名下的正确路径。

  • Provider拼写错误
    代码中Spotiy是拼写错误,正确应为Spotify,该错误会导致Spotify登录Provider无法加载,认证流程中断引发403。
    解决:修正拼写错误,将Spotiy改为Spotify。

  • 环境变量加载异常
    检查.env.production中的SPOTIFY_CLIENT_ID、GOOGLE_CLIENT_ID等变量是否配置正确,且Docker容器是否成功加载该环境文件。可进入容器执行echo $SPOTIFY_CLIENT_ID等命令验证变量是否存在。
    解决:确保.env.production路径正确,文件内变量无语法错误(如无多余空格),容器启动时能正确读取该文件。

  • TrustHost配置与反向代理不兼容
    如果服务器使用Nginx等反向代理,需确保反向代理正确传递Host头给容器,否则trustHost: true无法正确识别请求主机名,导致auth.js验证失败。
    解决:在反向代理配置中添加proxy_set_header Host $host;,或在auth.js中明确指定host: process.env.AUTH_HOST(需在.env.production中配置AUTH_HOST为服务器域名)。

内容的提问来源于stack exchange,提问作者jwmd

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.07.21 08:42:30