@@ -32,6 +32,7 @@ import { tenantMiddleware } from '../middlewares/tenantMiddleware'
3232
3333import { createRateLimiter } from './apiRateLimiter'
3434import authSocial from './auth/authSocial'
35+ import { publicRouter } from './public'
3536import WebSockets from './websockets'
3637
3738const serviceLogger = getServiceLogger ( )
@@ -87,6 +88,7 @@ setImmediate(async () => {
8788 )
8889
8990 app . use ( ( req , res , next ) => {
91+ // @ts -ignore
9092 req . profileSql = req . headers [ 'x-profile-sql' ] === 'true'
9193 next ( )
9294 } )
@@ -126,30 +128,16 @@ setImmediate(async () => {
126128 } )
127129 }
128130
129- // initialize passport strategies
130- app . use ( passportStrategyMiddleware )
131-
132- // Sets the current language of the request
133- app . use ( languageMiddleware )
134-
135- // adds our ApiResponseHandler instance to the req object as responseHandler
136- app . use ( responseHandlerMiddleware )
137-
138- // Configures the authentication middleware
139- // to set the currentUser to the requests
140- app . use ( authMiddleware )
131+ // Enables Helmet, a set of tools to
132+ // increase security.
133+ app . use ( helmet ( ) )
141134
142- // Default rate limiter
143135 const defaultRateLimiter = createRateLimiter ( {
144136 max : 200 ,
145137 windowMs : 60 * 1000 ,
146- message : 'errors.429' ,
147138 } )
148- app . use ( defaultRateLimiter )
149139
150- // Enables Helmet, a set of tools to
151- // increase security.
152- app . use ( helmet ( ) )
140+ app . use ( defaultRateLimiter )
153141
154142 app . use (
155143 bodyParser . json ( {
@@ -159,7 +147,25 @@ setImmediate(async () => {
159147
160148 app . use ( bodyParser . urlencoded ( { limit : '5mb' , extended : true } ) )
161149
150+ // Public API uses its own OAuth2 auth and error flow
151+ // Must be mounted before internal endpoints.
152+ app . use ( '/' , publicRouter ( ) )
153+
154+ // initialize passport strategies
155+ app . use ( passportStrategyMiddleware )
156+
157+ // Sets the current language of the request
158+ app . use ( languageMiddleware )
159+
160+ // adds our ApiResponseHandler instance to the req object as responseHandler
161+ app . use ( responseHandlerMiddleware )
162+
163+ // Configures the authentication middleware
164+ // to set the currentUser to the requests
165+ app . use ( authMiddleware )
166+
162167 app . use ( ( req , res , next ) => {
168+ // @ts -ignore
163169 req . userData = {
164170 ip : req . ip ,
165171 userAgent : req . headers ? req . headers [ 'user-agent' ] : null ,
0 commit comments