SvelteKit集成Auth.js遇TypeError:client_secret需非空字符串
问题解决:Auth.js Google OAuth 提示"client.client_secret"必须是非空字符串
问题根源
你的.env文件中存在拼写错误:环境变量名写成了GOOGLE_CIENT_SECRET,正确的变量名应该是GOOGLE_CLIENT_SECRET(少了一个字母L)。
因为变量名不匹配,hooks.server.js中导入的GOOGLE_CLIENT_SECRET实际是空值,导致Auth.js在处理OAuth回调时无法获取有效的Client Secret,从而抛出"client.client_secret" property must be a non-empty string错误。
修复步骤
- 修改
.env文件,修正变量名:
GOOGLE_CLIENT_ID=MY_GOOGLE_CLIENT_ID GOOGLE_CLIENT_SECRET=MY_GOOGLE_CLIENT_SECRET
- 重启SvelteKit开发服务器,确保新的环境变量生效。
额外检查点
- 确认从Google Console复制的Client Secret没有多余的空格、换行或其他格式错误
- 验证
src/hooks.server.js中导入的变量名和.env中的完全一致,没有拼写偏差
内容的提问来源于stack exchange,提问作者mukunda
相关产品推荐
相关产品推荐

