feat(auth): 添加 3xui 登录功能
- 新增 3xuiLogin.js 文件实现登录功能 - 添加 getCookie 函数用于获取登录 Cookie - 集成 HTTP 实例和表单数据处理
This commit is contained in:
1
app.js
1
app.js
@@ -53,7 +53,6 @@ const loadAPIRoutes = (baseDir = 'api', baseRoute = '/api') => {
|
|||||||
// 初始化扫描
|
// 初始化扫描
|
||||||
scanDirectory(path.join(__dirname, baseDir), baseRoute);
|
scanDirectory(path.join(__dirname, baseDir), baseRoute);
|
||||||
};
|
};
|
||||||
|
|
||||||
// 公开路由
|
// 公开路由
|
||||||
router.get("/public", (ctx) => {
|
router.get("/public", (ctx) => {
|
||||||
ctx.body = "Public content";
|
ctx.body = "Public content";
|
||||||
|
|||||||
19
auth/3xuiLogin.js
Normal file
19
auth/3xuiLogin.js
Normal file
@@ -0,0 +1,19 @@
|
|||||||
|
const instance = require("../utils/http");
|
||||||
|
|
||||||
|
function getCookie() {
|
||||||
|
const formData = new FormData();
|
||||||
|
formData.append("username", "lsw");
|
||||||
|
formData.append("password", "lsw@2024");
|
||||||
|
formData.append("loginSecret", "IEuVG4csTWLuaq3ysuUSHdwOcnoQRfScURwJVBjCMjRRpjVyYhWcgaHIJvU0SV4P");
|
||||||
|
return instance
|
||||||
|
.post("/login", formData, {
|
||||||
|
maxRedirects: 0, // 禁止自动重定向以保留Cookie
|
||||||
|
withCredentials: true, // 确保携带凭证
|
||||||
|
})
|
||||||
|
.then((res) => {
|
||||||
|
const rawCookies = res.headers["set-cookie"] || [];
|
||||||
|
const cookies =["lang=zh-CN",rawCookies.at(-1)?.split(";")[0]].join(";");
|
||||||
|
return cookies;
|
||||||
|
});
|
||||||
|
}
|
||||||
|
module.exports = getCookie;
|
||||||
Reference in New Issue
Block a user