自主托管: 使用自定义 POSTGRES_DB 时,将 JWT 配置应用到错误的数据库
作者: mandar1045创建于 2026年9月16日更新于 2026年9月17日
标签bugself-hostedpr-openedexternal-issue
QQ 错误描述
我在设置一个自我托管的例子,希望使用自定义的数据库名称,而不是默认的postgres'。 在我修改了.env'文件中的`POSTGRES-DB'之后,我注意到Auth和RLS的工作不正确。
我挖出Docker的初始化脚本,发现罪魁祸首:"Docker/worms/db/jwt.sql"完全忽略了"POSTGRES-DB"环境变量,并硬码了数据库名:
{\fn黑体\fs22\bord1\shad0\3aHBE\4aH00\fscx67\fscy66\2cHFFFFFF\3cH808080}你觉得呢? (a) 将“应用.设置.jwt exp”改为“jwt exp”; 如果有人超过POSTGRES DB(在CONFIG.md中被官方支持),他们的JWT配置会被应用到错误的数据库中,并且Auth会沉默地失败.
预期行为 jwt.sql 读取 POSTGRES DB 环境变量,并将设置应用到该数据库中。
* 复制步骤
在.env中更改 POSTGRES DB=custom db.
运行 Docker 编曲 -d.
检查自定义 db for app. settings.jwt exp - 将会丢失,因为它被应用到邮递器上取而代之.内容来源: supabase/supabase