* Add basic auth to storybook

* Update index.js

* Update index.js
This commit is contained in:
Kevin Heis 2021-08-18 14:03:35 -07:00 коммит произвёл GitHub
Родитель d565050584
Коммит 8d7bb82e47
Не найден ключ, соответствующий данной подписи
Идентификатор ключа GPG: 4AEE18F83AFDEB23
3 изменённых файлов: 26 добавлений и 4 удалений

Просмотреть файл

@ -1,4 +1,5 @@
import express from 'express' import express from 'express'
import basicAuth from 'express-basic-auth'
import instrument from '../lib/instrument-middleware.js' import instrument from '../lib/instrument-middleware.js'
import haltOnDroppedConnection from './halt-on-dropped-connection.js' import haltOnDroppedConnection from './halt-on-dropped-connection.js'
import abort from './abort.js' import abort from './abort.js'
@ -61,6 +62,7 @@ import renderPage from './render-page.js'
const { NODE_ENV } = process.env const { NODE_ENV } = process.env
const isDevelopment = NODE_ENV === 'development' const isDevelopment = NODE_ENV === 'development'
const isTest = NODE_ENV === 'test' || process.env.GITHUB_ACTIONS === 'true' const isTest = NODE_ENV === 'test' || process.env.GITHUB_ACTIONS === 'true'
const isProduction = NODE_ENV === 'production' && process.env.HEROKU_PRODUCTION_APP
// Catch unhandled promise rejections and passing them to Express's error handler // Catch unhandled promise rejections and passing them to Express's error handler
// https://medium.com/@Abazhenov/using-async-await-in-express-with-node-8-b8af872c0016 // https://medium.com/@Abazhenov/using-async-await-in-express-with-node-8-b8af872c0016
@ -143,16 +145,18 @@ export default function (app) {
instrument(archivedEnterpriseVersionsAssets, './archived-enterprise-versions-assets') instrument(archivedEnterpriseVersionsAssets, './archived-enterprise-versions-assets')
) )
) )
app.use( app.use('/storybook', [
'/storybook', (isProduction &&
basicAuth({ users: { octocat: process.env.STORYBOOK_PASSWORD }, challenge: true })) ||
((req, res, next) => next()),
express.static('storybook', { express.static('storybook', {
index: false, index: false,
etag: false, etag: false,
immutable: true, immutable: true,
lastModified: false, lastModified: false,
maxAge: '1 day', // Relatively short in case we update index.html maxAge: '1 day', // Relatively short in case we update index.html
}) }),
) ])
app.use( app.use(
'/assets', '/assets',
express.static('assets', { express.static('assets', {

17
package-lock.json сгенерированный
Просмотреть файл

@ -29,6 +29,7 @@
"dayjs": "^1.10.6", "dayjs": "^1.10.6",
"dotenv": "^10.0.0", "dotenv": "^10.0.0",
"express": "^4.17.1", "express": "^4.17.1",
"express-basic-auth": "^1.2.0",
"express-rate-limit": "^5.3.0", "express-rate-limit": "^5.3.0",
"express-timeout-handler": "^2.2.2", "express-timeout-handler": "^2.2.2",
"flat": "^5.0.2", "flat": "^5.0.2",
@ -15784,6 +15785,14 @@
"node": ">= 0.10.0" "node": ">= 0.10.0"
} }
}, },
"node_modules/express-basic-auth": {
"version": "1.2.0",
"resolved": "https://registry.npmjs.org/express-basic-auth/-/express-basic-auth-1.2.0.tgz",
"integrity": "sha512-iJ0h1Gk6fZRrFmO7tP9nIbxwNgCUJASfNj5fb0Hy15lGtbqqsxpt7609+wq+0XlByZjXmC/rslWQtnuSTVRIcg==",
"dependencies": {
"basic-auth": "^2.0.1"
}
},
"node_modules/express-rate-limit": { "node_modules/express-rate-limit": {
"version": "5.3.0", "version": "5.3.0",
"resolved": "https://registry.npmjs.org/express-rate-limit/-/express-rate-limit-5.3.0.tgz", "resolved": "https://registry.npmjs.org/express-rate-limit/-/express-rate-limit-5.3.0.tgz",
@ -48491,6 +48500,14 @@
} }
} }
}, },
"express-basic-auth": {
"version": "1.2.0",
"resolved": "https://registry.npmjs.org/express-basic-auth/-/express-basic-auth-1.2.0.tgz",
"integrity": "sha512-iJ0h1Gk6fZRrFmO7tP9nIbxwNgCUJASfNj5fb0Hy15lGtbqqsxpt7609+wq+0XlByZjXmC/rslWQtnuSTVRIcg==",
"requires": {
"basic-auth": "^2.0.1"
}
},
"express-rate-limit": { "express-rate-limit": {
"version": "5.3.0", "version": "5.3.0",
"resolved": "https://registry.npmjs.org/express-rate-limit/-/express-rate-limit-5.3.0.tgz", "resolved": "https://registry.npmjs.org/express-rate-limit/-/express-rate-limit-5.3.0.tgz",

Просмотреть файл

@ -31,6 +31,7 @@
"dayjs": "^1.10.6", "dayjs": "^1.10.6",
"dotenv": "^10.0.0", "dotenv": "^10.0.0",
"express": "^4.17.1", "express": "^4.17.1",
"express-basic-auth": "^1.2.0",
"express-rate-limit": "^5.3.0", "express-rate-limit": "^5.3.0",
"express-timeout-handler": "^2.2.2", "express-timeout-handler": "^2.2.2",
"flat": "^5.0.2", "flat": "^5.0.2",