Blame view

Yi.Vben5.Vue3/apps/backend-mock/api/auth/refresh.post.ts 835 Bytes
515fceeb   “wangming”   框架初始化
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
  import {
    clearRefreshTokenCookie,
    getRefreshTokenFromCookie,
    setRefreshTokenCookie,
  } from '~/utils/cookie-utils';
  import { verifyRefreshToken } from '~/utils/jwt-utils';
  import { forbiddenResponse } 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 accessToken;
  });