feat: Add http basic auth for BullMQ dashboard

This commit is contained in:
Faruk AYDIN
2022-10-30 15:10:33 +01:00
parent 53bbde4314
commit cd5502fdde
7 changed files with 62 additions and 25 deletions

View File

@@ -1,13 +1,32 @@
import { Application } from 'express';
import { ExpressAdapter } from '@bull-board/express';
import basicAuth from 'express-basic-auth';
import appConfig from '../config/app';
const injectBullBoardHandler = async (
app: Application,
serverAdapter: ExpressAdapter
) => {
if (
!appConfig.enableBullMQDashboard ||
!appConfig.bullMQDashboardUsername ||
!appConfig.bullMQDashboardPassword
)
return;
const queueDashboardBasePath = '/admin/queues';
serverAdapter.setBasePath(queueDashboardBasePath);
app.use(queueDashboardBasePath, serverAdapter.getRouter());
app.use(
queueDashboardBasePath,
basicAuth({
users: {
[appConfig.bullMQDashboardUsername]: appConfig.bullMQDashboardPassword,
},
challenge: true,
}),
serverAdapter.getRouter()
);
};
export default injectBullBoardHandler;