a3245b249a
- API Key: run.md/.env/seed_model_providers.sql 中明文Key替换为占位符 - 认证: JWT从localStorage迁移到HttpOnly Cookie,移除后端body返回token - 前端: api.ts/knowledge/page.tsx/auth.ts 全面改用Cookie认证 - postcss XSS: package.json添加overrides强制升级到8.5.15 - gitignore: 添加server/.env和.env排除规则 - lint: 移除tenant.go中未使用的roleKey常量 - 文档: 新增docs/security-audit-report.md和hardware-requirements.md
24 lines
865 B
TypeScript
24 lines
865 B
TypeScript
import { test as setup, expect } from "@playwright/test";
|
|
import fs from "fs";
|
|
import path from "path";
|
|
|
|
const AUTH_FILE = path.join(__dirname, ".auth", "state.json");
|
|
|
|
setup("登录法制日报账号并保存会话", async ({ page }) => {
|
|
fs.mkdirSync(path.dirname(AUTH_FILE), { recursive: true });
|
|
|
|
await page.goto("/login");
|
|
|
|
await expect(page.locator("#org")).toBeVisible({ timeout: 30_000 });
|
|
|
|
await page.locator("#org").selectOption("a0000000-0000-0000-0000-00000000000a");
|
|
await page.fill("#email", "fazhiribao@govai.gov.cn");
|
|
await page.fill("#password", "admin123");
|
|
|
|
await page.getByRole("button", { name: /登\s*录/ }).click();
|
|
|
|
await page.waitForURL(/\/store/, { timeout: 30_000 });
|
|
|
|
// HttpOnly Cookie: 登录后 token 存在 cookie 中,通过 storageState 自动捕获
|
|
await page.context().storageState({ path: AUTH_FILE });
|
|
}); |