Просмотр исходного кода

Move middleware to loginPassport.js

Shun Miyazawa 3 лет назад
Родитель
Сommit
0036faac45

+ 0 - 20
packages/app/src/server/middlewares/is-enable-login-with-local-or-ldap.ts

@@ -1,20 +0,0 @@
-import { NextFunction, Request, Response } from 'express';
-import { ErrorV3 } from '@growi/core';
-
-import loggerFactory from '~/utils/logger';
-
-const logger = loggerFactory('growi:middlewares:is-enable-login-with-local-or-ldap');
-
-
-export const generateIsEnableLoginWithLocalOrLdapMiddleware = crowi => async(req: Request, res: Response, next: NextFunction): Promise<void> => {
-  const passportService = crowi.passportService;
-
-  if (!passportService.isLocalStrategySetup && !passportService.isLdapStrategySetup) {
-    logger.error('LocalStrategy and LdapStrategy has not been set up');
-    const error = new ErrorV3('message.strategy_has_not_been_set_up', '', undefined, { strategy: 'LocalStrategy and LdapStrategy' });
-    return next(error);
-  }
-
-  return next();
-
-};

+ 1 - 3
packages/app/src/server/routes/apiv3/index.js

@@ -1,7 +1,6 @@
 import loggerFactory from '~/utils/logger';
 
 import { generateAddActivityMiddleware } from '../../middlewares/add-activity';
-import { generateIsEnableLoginWithLocalOrLdapMiddleware } from '../../middlewares/is-enable-login-with-local-or-ldap';
 import injectUserRegistrationOrderByTokenMiddleware from '../../middlewares/inject-user-registration-order-by-token-middleware';
 import * as loginFormValidator from '../../middlewares/login-form-validator';
 import * as registerFormValidator from '../../middlewares/register-form-validator';
@@ -45,12 +44,11 @@ module.exports = (crowi, app) => {
   // auth
   const applicationInstalled = require('../../middlewares/application-installed')(crowi);
   const addActivity = generateAddActivityMiddleware(crowi);
-  const isEnableLoginWithLocalOrLdapMiddleware = generateIsEnableLoginWithLocalOrLdapMiddleware(crowi);
   const login = require('../login')(crowi, app);
   const loginPassport = require('../login-passport')(crowi, app);
 
   routerForAuth.post('/login', applicationInstalled, loginFormValidator.loginRules(), loginFormValidator.loginValidation,
-    addActivity, isEnableLoginWithLocalOrLdapMiddleware, loginPassport.loginWithLocal, loginPassport.loginWithLdap,
+    addActivity, loginPassport.isEnableLoginWithLocalOrLdap, loginPassport.loginWithLocal, loginPassport.loginWithLdap,
     loginPassport.cannotLoginErrorHadnler, loginPassport.loginFailure);
 
   routerForAuth.use('/invited', require('./invited')(crowi));

+ 11 - 0
packages/app/src/server/routes/login-passport.js

@@ -133,6 +133,16 @@ module.exports = function(crowi, app) {
     return res.apiv3({ redirectTo, userStatus: req.user.status });
   };
 
+  const isEnableLoginWithLocalOrLdap = (req, res, next) => {
+    if (!passportService.isLocalStrategySetup && !passportService.isLdapStrategySetup) {
+      logger.error('LocalStrategy and LdapStrategy has not been set up');
+      const error = new ErrorV3('message.strategy_has_not_been_set_up', '', undefined, { strategy: 'LocalStrategy and LdapStrategy' });
+      return next(error);
+    }
+
+    return next();
+  };
+
   const cannotLoginErrorHadnler = (req, res, next) => {
     // this is called when all login method is somehow failed without invoking 'return next(<any Error>)'
     const err = new ErrorV3('message.sign_in_failure');
@@ -585,6 +595,7 @@ module.exports = function(crowi, app) {
 
   return {
     cannotLoginErrorHadnler,
+    isEnableLoginWithLocalOrLdap,
     loginFailure,
     loginFailureForExternalAccount,
     loginWithLdap,