Skip to content

Commit cb23b25

Browse files
author
robot
committed
feat: token not cookie
1 parent a12c77c commit cb23b25

File tree

3 files changed

+11
-14
lines changed

3 files changed

+11
-14
lines changed

middleware/mockUserInfo.js

Lines changed: 3 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -1,5 +1,8 @@
1+
const { decrypt } = require("../utils/crypto");
2+
13
module.exports = ({ whitelist = [] }) =>
24
async function checkAuth(ctx, next) {
5+
console.log(decrypt(ctx.get("token")));
36
if (!ctx.session) {
47
ctx.session = {};
58
}

middleware/passport.js

Lines changed: 2 additions & 13 deletions
Original file line numberDiff line numberDiff line change
@@ -1,6 +1,6 @@
11
const fetch = require("node-fetch");
22
const { Octokit } = require("@octokit/rest");
3-
const { encrypt, decrypt } = require("../utils/crypto");
3+
const { decrypt } = require("../utils/crypto");
44
const { fail } = require("../utils/request");
55
const { secret, db, clientId } = require("../config/index");
66

@@ -15,7 +15,7 @@ module.exports = ({ whitelist = [] }) =>
1515
await next();
1616
} else {
1717
// 1. 如果有 token ,则说明是之前种植过的,直接解析(如果是别人伪造的则会解析失败)
18-
const token = ctx.cookies.get("token");
18+
const token = ctx.get("token");
1919

2020
if (token) {
2121
const duserStr = decrypt(token);
@@ -85,17 +85,6 @@ module.exports = ({ whitelist = [] }) =>
8585
console.log("自动邀请失败:", err);
8686
}
8787
}
88-
89-
ctx.cookies.set(
90-
"token",
91-
encrypt(Buffer.from(JSON.stringify(u), "utf8")),
92-
{
93-
// secure: true,
94-
// sameSite: "none",
95-
httpOnly: true,
96-
expires: new Date(7 * 24 * 60 * 60 * 1000 + Date.now()), // 7 天后过期,后期考虑延长时间
97-
}
98-
);
9988
}
10089

10190
await next();

routes/users.js

Lines changed: 6 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,10 +1,15 @@
11
const router = require("koa-router")();
22

3+
const { encrypt } = require("../utils/crypto");
34
const { success, fail } = require("../utils/request");
45

56
router.get("/api/v1/user", async (ctx) => {
67
if (ctx.session && ctx.session.user) {
7-
ctx.body = success(ctx.session.user);
8+
const u = ctx.session.user;
9+
ctx.body = success({
10+
...u,
11+
token: encrypt(Buffer.from(JSON.stringify(u), "utf8")),
12+
});
813
} else {
914
ctx.body = fail({
1015
code: 91,

0 commit comments

Comments
 (0)