|
@@ -1,23 +1,23 @@
|
|
|
import express from 'express';
|
|
import express from 'express';
|
|
|
|
|
|
|
|
|
|
+import apiV1FormValidator from '../middlewares/apiv1-form-validator';
|
|
|
import injectResetOrderByTokenMiddleware from '../middlewares/inject-reset-order-by-token-middleware';
|
|
import injectResetOrderByTokenMiddleware from '../middlewares/inject-reset-order-by-token-middleware';
|
|
|
import injectUserRegistrationOrderByTokenMiddleware from '../middlewares/inject-user-registration-order-by-token-middleware';
|
|
import injectUserRegistrationOrderByTokenMiddleware from '../middlewares/inject-user-registration-order-by-token-middleware';
|
|
|
-import apiV1FormValidator from '../middlewares/apiv1-form-validator';
|
|
|
|
|
|
|
+import * as loginFormValidator from '../middlewares/login-form-validator';
|
|
|
|
|
+import * as registerFormValidator from '../middlewares/register-form-validator';
|
|
|
import {
|
|
import {
|
|
|
generateUnavailableWhenMaintenanceModeMiddleware, generateUnavailableWhenMaintenanceModeMiddlewareForApi,
|
|
generateUnavailableWhenMaintenanceModeMiddleware, generateUnavailableWhenMaintenanceModeMiddlewareForApi,
|
|
|
} from '../middlewares/unavailable-when-maintenance-mode';
|
|
} from '../middlewares/unavailable-when-maintenance-mode';
|
|
|
|
|
|
|
|
-import * as loginFormValidator from '../middlewares/login-form-validator';
|
|
|
|
|
-import * as registerFormValidator from '../middlewares/register-form-validator';
|
|
|
|
|
|
|
|
|
|
|
|
+import * as allInAppNotifications from './all-in-app-notifications';
|
|
|
import * as forgotPassword from './forgot-password';
|
|
import * as forgotPassword from './forgot-password';
|
|
|
import * as privateLegacyPages from './private-legacy-pages';
|
|
import * as privateLegacyPages from './private-legacy-pages';
|
|
|
-import * as allInAppNotifications from './all-in-app-notifications';
|
|
|
|
|
import * as userActivation from './user-activation';
|
|
import * as userActivation from './user-activation';
|
|
|
|
|
|
|
|
|
|
+const rateLimit = require('express-rate-limit');
|
|
|
const multer = require('multer');
|
|
const multer = require('multer');
|
|
|
const autoReap = require('multer-autoreap');
|
|
const autoReap = require('multer-autoreap');
|
|
|
-const rateLimit = require('express-rate-limit');
|
|
|
|
|
|
|
|
|
|
const apiLimiter = rateLimit({
|
|
const apiLimiter = rateLimit({
|
|
|
windowMs: 15 * 60 * 1000, // 15 minutes
|
|
windowMs: 15 * 60 * 1000, // 15 minutes
|
|
@@ -44,7 +44,6 @@ module.exports = function(crowi, app) {
|
|
|
const page = require('./page')(crowi, app);
|
|
const page = require('./page')(crowi, app);
|
|
|
const login = require('./login')(crowi, app);
|
|
const login = require('./login')(crowi, app);
|
|
|
const loginPassport = require('./login-passport')(crowi, app);
|
|
const loginPassport = require('./login-passport')(crowi, app);
|
|
|
- const logout = require('./logout')(crowi, app);
|
|
|
|
|
const me = require('./me')(crowi, app);
|
|
const me = require('./me')(crowi, app);
|
|
|
const admin = require('./admin')(crowi, app);
|
|
const admin = require('./admin')(crowi, app);
|
|
|
const user = require('./user')(crowi, app);
|
|
const user = require('./user')(crowi, app);
|
|
@@ -62,13 +61,16 @@ module.exports = function(crowi, app) {
|
|
|
|
|
|
|
|
/* eslint-disable max-len, comma-spacing, no-multi-spaces */
|
|
/* eslint-disable max-len, comma-spacing, no-multi-spaces */
|
|
|
|
|
|
|
|
- const [apiV3Router, apiV3AdminRouter] = require('./apiv3')(crowi);
|
|
|
|
|
|
|
+ const [apiV3Router, apiV3AdminRouter, apiV3AuthRouter] = require('./apiv3')(crowi);
|
|
|
|
|
|
|
|
app.use('/api-docs', require('./apiv3/docs')(crowi));
|
|
app.use('/api-docs', require('./apiv3/docs')(crowi));
|
|
|
|
|
|
|
|
// API v3 for admin
|
|
// API v3 for admin
|
|
|
app.use('/_api/v3', apiV3AdminRouter);
|
|
app.use('/_api/v3', apiV3AdminRouter);
|
|
|
|
|
|
|
|
|
|
+ // API v3 for auth
|
|
|
|
|
+ app.use('/_api/v3', apiV3AuthRouter);
|
|
|
|
|
+
|
|
|
app.get('/' , applicationInstalled, unavailableWhenMaintenanceMode, loginRequired, autoReconnectToSearch, injectUserUISettings, page.showTopPage);
|
|
app.get('/' , applicationInstalled, unavailableWhenMaintenanceMode, loginRequired, autoReconnectToSearch, injectUserUISettings, page.showTopPage);
|
|
|
|
|
|
|
|
app.get('/login/error/:reason' , applicationInstalled, login.error);
|
|
app.get('/login/error/:reason' , applicationInstalled, login.error);
|
|
@@ -76,10 +78,10 @@ module.exports = function(crowi, app) {
|
|
|
app.get('/login/invited' , applicationInstalled, login.invited);
|
|
app.get('/login/invited' , applicationInstalled, login.invited);
|
|
|
app.post('/login/activateInvited' , apiLimiter , applicationInstalled, loginFormValidator.inviteRules(), loginFormValidator.inviteValidation, csrf, login.invited);
|
|
app.post('/login/activateInvited' , apiLimiter , applicationInstalled, loginFormValidator.inviteRules(), loginFormValidator.inviteValidation, csrf, login.invited);
|
|
|
app.post('/login' , apiLimiter , applicationInstalled, loginFormValidator.loginRules(), loginFormValidator.loginValidation, csrf, loginPassport.loginWithLocal, loginPassport.loginWithLdap, loginPassport.loginFailure);
|
|
app.post('/login' , apiLimiter , applicationInstalled, loginFormValidator.loginRules(), loginFormValidator.loginValidation, csrf, loginPassport.loginWithLocal, loginPassport.loginWithLdap, loginPassport.loginFailure);
|
|
|
|
|
+ app.post('/login' , apiLimiter , applicationInstalled, loginFormValidator.loginRules(), loginFormValidator.loginValidation, csrf, loginPassport.loginWithLocal, loginPassport.loginWithLdap, loginPassport.loginFailure);
|
|
|
|
|
|
|
|
app.post('/register' , apiLimiter , applicationInstalled, registerFormValidator.registerRules(), registerFormValidator.registerValidation, csrf, login.register);
|
|
app.post('/register' , apiLimiter , applicationInstalled, registerFormValidator.registerRules(), registerFormValidator.registerValidation, csrf, login.register);
|
|
|
app.get('/register' , applicationInstalled, login.preLogin, login.register);
|
|
app.get('/register' , applicationInstalled, login.preLogin, login.register);
|
|
|
- app.get('/logout' , applicationInstalled, logout.logout);
|
|
|
|
|
|
|
|
|
|
app.get('/admin' , applicationInstalled, loginRequiredStrictly , adminRequired , admin.index);
|
|
app.get('/admin' , applicationInstalled, loginRequiredStrictly , adminRequired , admin.index);
|
|
|
app.get('/admin/app' , applicationInstalled, loginRequiredStrictly , adminRequired , admin.app.index);
|
|
app.get('/admin/app' , applicationInstalled, loginRequiredStrictly , adminRequired , admin.app.index);
|