Files
vue-vben-admin/apps/backend-mock/api/auth/refresh.post.ts
Jin Mao 0b6b4e00ef refactor(auth): 优化刷新令牌的响应格式
- 引入 useResponseSuccess 函数以统一响应格式
- 修改返回值为包含 accessToken 的对象
- 删除多余的空行
2025-08-23 18:54:25 +08:00

37 lines
995 B
TypeScript

import { defineEventHandler } from 'h3';
import {
clearRefreshTokenCookie,
getRefreshTokenFromCookie,
setRefreshTokenCookie,
} from '~/utils/cookie-utils';
import { generateAccessToken, verifyRefreshToken } from '~/utils/jwt-utils';
import { MOCK_USERS } from '~/utils/mock-data';
import { forbiddenResponse, useResponseSuccess } from '~/utils/response';
export default defineEventHandler(async (event) => {
const refreshToken = getRefreshTokenFromCookie(event);
if (!refreshToken) {
return forbiddenResponse(event);
}
clearRefreshTokenCookie(event);
const userinfo = verifyRefreshToken(refreshToken);
if (!userinfo) {
return forbiddenResponse(event);
}
const findUser = MOCK_USERS.find(
(item) => item.username === userinfo.username,
);
if (!findUser) {
return forbiddenResponse(event);
}
const accessToken = generateAccessToken(findUser);
setRefreshTokenCookie(event, refreshToken);
return useResponseSuccess({
accessToken,
});
});