给所有请求都加上jwt,隐藏生成jwt的secret(放到.env中),隐藏app-secret(放在pm2运行配置文件中,后续直接读取环境配置即可)

This commit is contained in:
2025-10-17 15:28:22 +08:00
parent 9ec6d30573
commit 59706b70d0
70 changed files with 2279 additions and 688 deletions
+14 -7
View File
@@ -7,6 +7,7 @@ import { ENVIRONMENT_LABELS } from "./config-lists._index";
import { getConfigOptions, getConfigDetail, createConfig, updateConfig } from "~/api/system_setting/config-lists";
import configNewStyles from "~/styles/pages/config-lists_new.css?url";
import { toastService } from "~/components/ui/Toast";
import { getUserSession } from "~/api/login/auth.server";
export const links = () => [
{ rel: "stylesheet", href: configNewStyles }
@@ -113,17 +114,20 @@ export async function loader({ request }: LoaderFunctionArgs) {
const url = new URL(request.url);
const id = url.searchParams.get("id");
let config: ConfigData | undefined = undefined;
// 获取JWT token
const { frontendJWT } = await getUserSession(request);
try {
// 获取配置选项
const optionsResponse = await getConfigOptions();
const optionsResponse = await getConfigOptions(frontendJWT);
if (optionsResponse.error) {
throw new Error(optionsResponse.error);
}
if (id) {
// 获取配置详情
const detailResponse = await getConfigDetail(id);
const detailResponse = await getConfigDetail(id, frontendJWT);
if (detailResponse.error) {
throw new Error(detailResponse.error);
}
@@ -159,7 +163,10 @@ export async function action({ request }: ActionFunctionArgs) {
const config = formData.get("config") as string;
const is_active = formData.get("is_active") === "true";
const remark = formData.get("remark") as string;
// 获取JWT token
const { frontendJWT } = await getUserSession(request);
const errors: ActionData["errors"] = {};
// 表单验证
@@ -206,13 +213,13 @@ export async function action({ request }: ActionFunctionArgs) {
if (id) {
// 更新配置
const response = await updateConfig(id, configData);
const response = await updateConfig(id, configData, frontendJWT);
if (response.error) {
throw new Error(response.error);
}
} else {
// 创建配置
const response = await createConfig(configData);
const response = await createConfig(configData, frontendJWT);
if (response.error) {
throw new Error(response.error);
}