|
@@ -97,8 +97,11 @@ module.exports.app = (optionsArg = {}) => {
|
|
|
app.use(cookieParser()) // server tokens are added to cookies
|
|
|
|
|
|
app.use(interceptGrantErrorResponse)
|
|
|
+
|
|
|
// override provider credentials at request time
|
|
|
- app.use('/connect/:authProvider/:override?', getCredentialsOverrideMiddleware(providers, options))
|
|
|
+ // Making `POST` request to the `/connect/:provider/:override?` route requires a form body parser middleware:
|
|
|
+ // See https://github.com/simov/grant#dynamic-http
|
|
|
+ app.use('/connect/:authProvider/:override?', express.urlencoded({ extended: false }), getCredentialsOverrideMiddleware(providers, options))
|
|
|
app.use(Grant(grantConfig))
|
|
|
|
|
|
app.use((req, res, next) => {
|
|
@@ -116,19 +119,19 @@ module.exports.app = (optionsArg = {}) => {
|
|
|
app.use('/s3', s3(options.s3))
|
|
|
app.use('/url', url())
|
|
|
|
|
|
- app.post('/:providerName/preauth', middlewares.hasSessionAndProvider, controllers.preauth)
|
|
|
+ app.post('/:providerName/preauth', express.json(), express.urlencoded({ extended: false }), middlewares.hasSessionAndProvider, middlewares.hasBody, controllers.preauth)
|
|
|
app.get('/:providerName/connect', middlewares.hasSessionAndProvider, controllers.connect)
|
|
|
app.get('/:providerName/redirect', middlewares.hasSessionAndProvider, controllers.redirect)
|
|
|
app.get('/:providerName/callback', middlewares.hasSessionAndProvider, controllers.callback)
|
|
|
- app.post('/:providerName/deauthorization/callback', middlewares.hasSessionAndProvider, controllers.deauthorizationCallback)
|
|
|
+ app.post('/:providerName/deauthorization/callback', express.json(), middlewares.hasSessionAndProvider, middlewares.hasBody, controllers.deauthorizationCallback)
|
|
|
app.get('/:providerName/logout', middlewares.hasSessionAndProvider, middlewares.gentleVerifyToken, controllers.logout)
|
|
|
app.get('/:providerName/send-token', middlewares.hasSessionAndProvider, middlewares.verifyToken, controllers.sendToken)
|
|
|
app.get('/:providerName/list/:id?', middlewares.hasSessionAndProvider, middlewares.verifyToken, controllers.list)
|
|
|
- app.post('/:providerName/get/:id', middlewares.hasSessionAndProvider, middlewares.verifyToken, controllers.get)
|
|
|
+ app.post('/:providerName/get/:id', express.json(), middlewares.hasSessionAndProvider, middlewares.hasBody, middlewares.verifyToken, controllers.get)
|
|
|
app.get('/:providerName/thumbnail/:id', middlewares.hasSessionAndProvider, middlewares.cookieAuthToken, middlewares.verifyToken, controllers.thumbnail)
|
|
|
// @ts-ignore Type instantiation is excessively deep and possibly infinite.
|
|
|
app.get('/search/:searchProviderName/list', middlewares.hasSearchQuery, middlewares.loadSearchProviderToken, controllers.list)
|
|
|
- app.post('/search/:searchProviderName/get/:id', middlewares.loadSearchProviderToken, controllers.get)
|
|
|
+ app.post('/search/:searchProviderName/get/:id', express.json(), middlewares.loadSearchProviderToken, controllers.get)
|
|
|
|
|
|
app.param('providerName', providerManager.getProviderMiddleware(providers, true))
|
|
|
app.param('searchProviderName', providerManager.getProviderMiddleware(searchProviders))
|