2026-05-09 18:25:04 +08:00
|
|
|
|
import { registerAs } from '@nestjs/config';
|
|
|
|
|
|
|
2026-05-09 18:57:33 +08:00
|
|
|
|
export default registerAs('jwt', () => {
|
|
|
|
|
|
const secret = process.env.JWT_SECRET;
|
|
|
|
|
|
if (!secret || secret === 'change_me_in_production') {
|
|
|
|
|
|
if (process.env.NODE_ENV === 'production') {
|
|
|
|
|
|
throw new Error(
|
|
|
|
|
|
'生产环境必须设置环境变量 JWT_SECRET,不能使用默认值',
|
|
|
|
|
|
);
|
|
|
|
|
|
}
|
|
|
|
|
|
console.warn(
|
|
|
|
|
|
'\n⚠️ 警告: JWT_SECRET 使用的是默认值 "change_me_in_production"\n' +
|
|
|
|
|
|
' 部署到生产环境前请务必设置环境变量 JWT_SECRET\n',
|
|
|
|
|
|
);
|
|
|
|
|
|
}
|
|
|
|
|
|
return {
|
|
|
|
|
|
secret: secret || 'change_me_in_production',
|
|
|
|
|
|
expiresIn: process.env.JWT_EXPIRES_IN || '1h',
|
|
|
|
|
|
refreshExpiresIn: process.env.JWT_REFRESH_EXPIRES_IN || '7d',
|
|
|
|
|
|
};
|
|
|
|
|
|
});
|