Skip to content

Commit 89816a6

Browse files
committed
feat: refresh token 쿠키로 관리
1 parent 8dcb434 commit 89816a6

File tree

3 files changed

+8
-12
lines changed

3 files changed

+8
-12
lines changed

server/apis/auth/controller.ts

Lines changed: 2 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -9,7 +9,7 @@ router.post(
99
try {
1010
const { code } = req.body;
1111

12-
const loginToken = await authService.login(code);
12+
const { loginToken, refreshToken } = await authService.login(code);
1313

1414
const cookieOptions = {
1515
httpOnly: true,
@@ -18,6 +18,7 @@ router.post(
1818
signed: true,
1919
};
2020
res.cookie("accessToken", loginToken, cookieOptions);
21+
res.cookie("refreshToken", refreshToken, cookieOptions);
2122

2223
res.status(200).send();
2324
} catch (e) {

server/apis/auth/service.ts

Lines changed: 6 additions & 9 deletions
Original file line numberDiff line numberDiff line change
@@ -61,25 +61,22 @@ export const login = async (code: string) => {
6161
avatar_url: avatarUrl,
6262
} = await getGithubUser(accessToken, tokenType);
6363

64-
const payload = { id, name, avatarUrl };
65-
66-
const loginToken = jwt.generateAccessToken(payload);
67-
const refreshToken = jwt.generateRefreshToken(payload);
68-
6964
const isSignedUp = userModel.exists({ id });
7065

7166
if (!isSignedUp) {
7267
userModel.create({
7368
id,
7469
name,
7570
avatarUrl,
76-
refreshToken,
7771
});
78-
} else {
79-
userModel.updateOne({ id }, { refreshToken });
8072
}
8173

82-
return loginToken;
74+
const payload = { id, name, avatarUrl };
75+
76+
const loginToken = jwt.generateAccessToken(payload);
77+
const refreshToken = jwt.generateRefreshToken(payload);
78+
79+
return { loginToken, refreshToken };
8380
};
8481

8582
export const logout = async (accessToken: string) => {

server/apis/user/model.ts

Lines changed: 0 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -5,7 +5,6 @@ interface User {
55
id: number;
66
name: string;
77
avatarUrl: string;
8-
refreshToken: string;
98
createdAt: Date;
109
workspaces: number[];
1110
}
@@ -14,7 +13,6 @@ const userSchema = new Schema<User>({
1413
id: { type: Number, required: true },
1514
name: { type: String, required: true },
1615
avatarUrl: { type: String, required: true },
17-
refreshToken: { type: String },
1816
createdAt: { type: Date, default: new Date() },
1917
workspaces: { type: [Number], default: [] },
2018
});

0 commit comments

Comments
 (0)