diff options
-rw-r--r-- | docs/guides/auth.md | 29 | ||||
-rw-r--r-- | docs/guides/images/auth/gitlab-application-details.png | bin | 0 -> 30378 bytes | |||
-rw-r--r-- | docs/guides/images/auth/gitlab-new-application.png | bin | 0 -> 45457 bytes | |||
-rw-r--r-- | docs/guides/images/auth/gitlab-sign-in.png | bin | 0 -> 5590 bytes | |||
-rw-r--r-- | lib/config/defaultSSL.js | 8 | ||||
-rw-r--r-- | lib/config/index.js | 4 | ||||
-rw-r--r-- | lib/csp.js | 1 | ||||
-rw-r--r-- | public/js/index.js | 1 |
8 files changed, 37 insertions, 6 deletions
diff --git a/docs/guides/auth.md b/docs/guides/auth.md index aa629489..e4261724 100644 --- a/docs/guides/auth.md +++ b/docs/guides/auth.md @@ -210,3 +210,32 @@ The basic procedure is the same as the case of OneLogin which is mentioned above ```` +### GitLab (self-hosted) + +1. Sign in to your GitLab +2. Navigate to the application management page at `https://your.gitlab.domain/admin/applications` (admin permissions required) +3. Click **New application** to create a new application and fill out the registration form: + +![New GitLab application](images/auth/gitlab-new-application.png) + +4. Click **Submit** +5. In the list of applications select **HackMD**. Leave that site open to copy the application ID and secret in the next step. + +![Application: HackMD](images/auth/gitlab-application-details.png) + + +6. In the `docker-compose.yml` add the following environment variables to `app:` `environment:` + +``` +- HMD_DOMAIN=your.hackmd.domain +- HMD_URL_ADDPORT=443 +- HMD_PROTOCOL_USESSL=true +- HMD_GITLAB_BASEURL=https://your.gitlab.domain +- HMD_GITLAB_CLIENTID=23462a34example99fid0943c3fde97310fb7db47fab1112 +- HMD_GITLAB_CLIENTSECRET=5532e9dexample70432secret0c37dd20ce077e6073ea9f1d6 +``` + +7. Run `docker-compose up -d` to apply your settings. +8. Sign in to your HackMD using your GitLab ID: + +![Sign in via GitLab](images/auth/gitlab-sign-in.png) diff --git a/docs/guides/images/auth/gitlab-application-details.png b/docs/guides/images/auth/gitlab-application-details.png Binary files differnew file mode 100644 index 00000000..6e042886 --- /dev/null +++ b/docs/guides/images/auth/gitlab-application-details.png diff --git a/docs/guides/images/auth/gitlab-new-application.png b/docs/guides/images/auth/gitlab-new-application.png Binary files differnew file mode 100644 index 00000000..be9e4446 --- /dev/null +++ b/docs/guides/images/auth/gitlab-new-application.png diff --git a/docs/guides/images/auth/gitlab-sign-in.png b/docs/guides/images/auth/gitlab-sign-in.png Binary files differnew file mode 100644 index 00000000..27aaf6dd --- /dev/null +++ b/docs/guides/images/auth/gitlab-sign-in.png diff --git a/lib/config/defaultSSL.js b/lib/config/defaultSSL.js index 362c62a1..ba020466 100644 --- a/lib/config/defaultSSL.js +++ b/lib/config/defaultSSL.js @@ -10,8 +10,8 @@ function getFile (path) { } module.exports = { - sslkeypath: getFile('/run/secrets/key.pem'), - sslcertpath: getFile('/run/secrets/cert.pem'), - sslcapath: getFile('/run/secrets/ca.pem') !== undefined ? [getFile('/run/secrets/ca.pem')] : [], - dhparampath: getFile('/run/secrets/dhparam.pem') + sslKeyPath: getFile('/run/secrets/key.pem'), + sslCertPath: getFile('/run/secrets/cert.pem'), + sslCAPath: getFile('/run/secrets/ca.pem') !== undefined ? [getFile('/run/secrets/ca.pem')] : [], + dhParamPath: getFile('/run/secrets/dhparam.pem') } diff --git a/lib/config/index.js b/lib/config/index.js index 54e9aae6..d885ee92 100644 --- a/lib/config/index.js +++ b/lib/config/index.js @@ -111,8 +111,8 @@ for (let i = keys.length; i--;) { // and the config with uppercase is not set // we set the new config using the old key. if (uppercase.test(keys[i]) && - config[lowercaseKey] && - !config[keys[1]]) { + config[lowercaseKey] !== undefined && + fileConfig[keys[i]] === undefined) { logger.warn('config.js contains deprecated lowercase setting for ' + keys[i] + '. Please change your config.js file to replace ' + lowercaseKey + ' with ' + keys[i]) config[keys[i]] = config[lowercaseKey] } @@ -11,6 +11,7 @@ var defaultDirectives = { styleSrc: ['\'self\'', '\'unsafe-inline\'', 'https://assets-cdn.github.com'], // unsafe-inline is required for some libs, plus used in views fontSrc: ['\'self\'', 'https://public.slidesharecdn.com'], objectSrc: ['*'], // Chrome PDF viewer treats PDFs as objects :/ + mediaSrc: ['*'], childSrc: ['*'], connectSrc: ['*'] } diff --git a/public/js/index.js b/public/js/index.js index 68fb2614..d76a37fe 100644 --- a/public/js/index.js +++ b/public/js/index.js @@ -451,6 +451,7 @@ $(document).ready(function () { // Re-enable nightmode if (store.get('nightMode') || Cookies.get('nightMode')) { $body.addClass('night') + ui.toolbar.night.addClass('active') } // showup |