@azteam/express 1.2.217 → 1.2.220

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@azteam/express",
3
- "version": "1.2.217",
3
+ "version": "1.2.220",
4
4
  "main": "src/index.js",
5
5
  "engines": {
6
6
  "node": ">= 12.0.0",
package/src/Server.js CHANGED
@@ -12,8 +12,6 @@ import _ from 'lodash';
12
12
  import 'express-async-errors';
13
13
  import {CORS, errorCatch, ErrorException, NOT_FOUND, UNKNOWN} from '@azteam/error';
14
14
 
15
- import {authMiddleware} from './middleware/authMiddleware';
16
-
17
15
  const RES_TYPE = {
18
16
  ARRAY: 'ARRAY',
19
17
  OBJECT: 'OBJECT',
@@ -273,8 +271,6 @@ class Server {
273
271
  app.use(middleware);
274
272
  });
275
273
 
276
- app.use(authMiddleware);
277
-
278
274
  const msg = [];
279
275
  _.map(this.controllers, (data) => {
280
276
  const {controller} = data;
@@ -11,35 +11,42 @@ function systemLogin(userData = null) {
11
11
  return user;
12
12
  }
13
13
 
14
- export function authMiddleware(req, res, next) {
15
- const {headers} = req;
14
+ export default function (cbLoginAPI) {
15
+ return async function (req, res, next) {
16
+ const {headers} = req;
16
17
 
17
- if (headers['x-app-secret'] === process.env.SECRET_KEY) {
18
- req.user = systemLogin(headers['x-app-user']);
19
- } else {
20
- let token = null;
18
+ if (headers['x-app-secret'] === process.env.SECRET_KEY) {
19
+ req.user = systemLogin(headers['x-app-user']);
20
+ } else {
21
+ let token = null;
21
22
 
22
- if (headers.authorization) {
23
- token = headers.authorization;
24
- }
23
+ if (headers.authorization) {
24
+ token = headers.authorization;
25
+ }
25
26
 
26
- if (token) {
27
- if (token.startsWith('Bearer ')) {
28
- token = token.replace('Bearer ', '');
27
+ if (token) {
28
+ if (token.startsWith('Bearer ')) {
29
+ token = token.replace('Bearer ', '');
29
30
 
30
- try {
31
- req.user = jwt.verify(token, process.env.SECRET_KEY);
32
- return next();
33
- } catch (err) {
34
- if (err.name === 'TokenExpiredError') {
35
- throw new ErrorException(TOKEN_EXPIRED, err);
31
+ try {
32
+ req.user = jwt.verify(token, process.env.SECRET_KEY);
33
+ return next();
34
+ } catch (err) {
35
+ if (err.name === 'TokenExpiredError') {
36
+ throw new ErrorException(TOKEN_EXPIRED, err);
37
+ }
38
+ throw new ErrorException(TOKEN_FAILED, err);
36
39
  }
37
- throw new ErrorException(TOKEN_FAILED, err);
40
+ } else {
41
+ const data = await cbLoginAPI(token);
42
+ if (data) {
43
+ req.user = data;
44
+ }
45
+ return next();
38
46
  }
39
47
  }
40
- throw new ErrorException(TOKEN_FAILED, ['Token type failed']);
41
48
  }
42
- }
43
49
 
44
- return next();
50
+ return next();
51
+ };
45
52
  }
@@ -14,7 +14,7 @@ export default function (key, options = {}) {
14
14
  let cacheKey = key;
15
15
 
16
16
  if (options.query) {
17
- cacheKey += `${cacheKey}:${_.get(req, options.query)}`;
17
+ cacheKey = `${cacheKey}:${_.get(req, options.query)}`;
18
18
  }
19
19
  if (req.paginate) {
20
20
  if (_.isEmpty(req.query) && req.paginate.page <= options.limitPage) {
@@ -1,5 +1,6 @@
1
1
  export {default as signMiddleware} from './signMiddleware';
2
2
  export {default as etagMiddleware} from './etagMiddleware';
3
+ export {default as authMiddleware} from './authMiddleware';
3
4
  export {default as roleMiddleware} from './roleMiddleware';
4
5
  export {default as adminRoleMiddleware} from './adminRoleMiddleware';
5
6
  export {default as systemRoleMiddleware} from './systemRoleMiddleware';