mirror of https://github.com/status-im/codimd.git
Merge branch 'master' into ldap-username-field
This commit is contained in:
commit
17e3b8b5cd
|
@ -169,7 +169,7 @@ There are some configs you need to change in the files below
|
||||||
| HMD_LDAP_TOKENSECRET | `supersecretkey` | secret used for generating access/refresh tokens |
|
| HMD_LDAP_TOKENSECRET | `supersecretkey` | secret used for generating access/refresh tokens |
|
||||||
| HMD_LDAP_SEARCHBASE | `o=users,dc=example,dc=com` | LDAP directory to begin search from |
|
| HMD_LDAP_SEARCHBASE | `o=users,dc=example,dc=com` | LDAP directory to begin search from |
|
||||||
| HMD_LDAP_SEARCHFILTER | `(uid={{username}})` | LDAP filter to search with |
|
| HMD_LDAP_SEARCHFILTER | `(uid={{username}})` | LDAP filter to search with |
|
||||||
| HMD_LDAP_SEARCHATTRIBUTES | no example | LDAP attributes to search with |
|
| HMD_LDAP_SEARCHATTRIBUTES | `displayName, mail` | LDAP attributes to search with (use comma to separate) |
|
||||||
| HMD_LDAP_USERNAMEFIELD | `uid` | The LDAP field which is used as the username on HackMD |
|
| HMD_LDAP_USERNAMEFIELD | `uid` | The LDAP field which is used as the username on HackMD |
|
||||||
| HMD_LDAP_TLS_CA | `server-cert.pem, root.pem` | Root CA for LDAP TLS in PEM format (use comma to separate) |
|
| HMD_LDAP_TLS_CA | `server-cert.pem, root.pem` | Root CA for LDAP TLS in PEM format (use comma to separate) |
|
||||||
| HMD_LDAP_PROVIDERNAME | `My institution` | Optional name to be displayed at login form indicating the LDAP provider |
|
| HMD_LDAP_PROVIDERNAME | `My institution` | Optional name to be displayed at login form indicating the LDAP provider |
|
||||||
|
@ -289,7 +289,7 @@ See more at [http://operational-transformation.github.io/](http://operational-tr
|
||||||
|
|
||||||
# License
|
# License
|
||||||
|
|
||||||
**License under MIT.**
|
**License under AGPL.**
|
||||||
|
|
||||||
[gitter-image]: https://badges.gitter.im/Join%20Chat.svg
|
[gitter-image]: https://badges.gitter.im/Join%20Chat.svg
|
||||||
[gitter-url]: https://gitter.im/hackmdio/hackmd?utm_source=badge&utm_medium=badge&utm_campaign=pr-badge&utm_content=badge
|
[gitter-url]: https://gitter.im/hackmdio/hackmd?utm_source=badge&utm_medium=badge&utm_campaign=pr-badge&utm_content=badge
|
||||||
|
|
|
@ -70,7 +70,7 @@
|
||||||
"tokenSecret": "change this",
|
"tokenSecret": "change this",
|
||||||
"searchBase": "change this",
|
"searchBase": "change this",
|
||||||
"searchFilter": "change this",
|
"searchFilter": "change this",
|
||||||
"searchAttributes": "change this",
|
"searchAttributes": ["change this"],
|
||||||
"usernameField": "change this e.g. uid"
|
"usernameField": "change this e.g. uid"
|
||||||
"tlsOptions": {
|
"tlsOptions": {
|
||||||
"changeme": "See https://nodejs.org/api/tls.html#tls_tls_connect_options_callback"
|
"changeme": "See https://nodejs.org/api/tls.html#tls_tls_connect_options_callback"
|
||||||
|
|
|
@ -1,6 +1,6 @@
|
||||||
'use strict'
|
'use strict'
|
||||||
|
|
||||||
const {toBooleanConfig} = require('./utils')
|
const {toBooleanConfig, toArrayConfig} = require('./utils')
|
||||||
|
|
||||||
module.exports = {
|
module.exports = {
|
||||||
domain: process.env.HMD_DOMAIN,
|
domain: process.env.HMD_DOMAIN,
|
||||||
|
@ -15,7 +15,7 @@ module.exports = {
|
||||||
preload: toBooleanConfig(process.env.HMD_HSTS_PRELOAD)
|
preload: toBooleanConfig(process.env.HMD_HSTS_PRELOAD)
|
||||||
},
|
},
|
||||||
protocolusessl: toBooleanConfig(process.env.HMD_PROTOCOL_USESSL),
|
protocolusessl: toBooleanConfig(process.env.HMD_PROTOCOL_USESSL),
|
||||||
alloworigin: process.env.HMD_ALLOW_ORIGIN ? process.env.HMD_ALLOW_ORIGIN.split(',') : undefined,
|
alloworigin: toArrayConfig(process.env.HMD_ALLOW_ORIGIN),
|
||||||
usecdn: toBooleanConfig(process.env.HMD_USECDN),
|
usecdn: toBooleanConfig(process.env.HMD_USECDN),
|
||||||
allowanonymous: toBooleanConfig(process.env.HMD_ALLOW_ANONYMOUS),
|
allowanonymous: toBooleanConfig(process.env.HMD_ALLOW_ANONYMOUS),
|
||||||
allowfreeurl: toBooleanConfig(process.env.HMD_ALLOW_FREEURL),
|
allowfreeurl: toBooleanConfig(process.env.HMD_ALLOW_FREEURL),
|
||||||
|
@ -70,7 +70,7 @@ module.exports = {
|
||||||
tokenSecret: process.env.HMD_LDAP_TOKENSECRET,
|
tokenSecret: process.env.HMD_LDAP_TOKENSECRET,
|
||||||
searchBase: process.env.HMD_LDAP_SEARCHBASE,
|
searchBase: process.env.HMD_LDAP_SEARCHBASE,
|
||||||
searchFilter: process.env.HMD_LDAP_SEARCHFILTER,
|
searchFilter: process.env.HMD_LDAP_SEARCHFILTER,
|
||||||
searchAttributes: process.env.HMD_LDAP_SEARCHATTRIBUTES,
|
searchAttributes: toArrayConfig(process.env.HMD_LDAP_SEARCHATTRIBUTES),
|
||||||
usernameField: process.env.HMD_LDAP_USERNAMEFIELD,
|
usernameField: process.env.HMD_LDAP_USERNAMEFIELD,
|
||||||
tlsca: process.env.HMD_LDAP_TLS_CA
|
tlsca: process.env.HMD_LDAP_TLS_CA
|
||||||
},
|
},
|
||||||
|
@ -80,8 +80,8 @@ module.exports = {
|
||||||
issuer: process.env.HMD_SAML_ISSUER,
|
issuer: process.env.HMD_SAML_ISSUER,
|
||||||
identifierFormat: process.env.HMD_SAML_IDENTIFIERFORMAT,
|
identifierFormat: process.env.HMD_SAML_IDENTIFIERFORMAT,
|
||||||
groupAttribute: process.env.HMD_SAML_GROUPATTRIBUTE,
|
groupAttribute: process.env.HMD_SAML_GROUPATTRIBUTE,
|
||||||
externalGroups: process.env.HMD_SAML_EXTERNALGROUPS ? process.env.HMD_SAML_EXTERNALGROUPS.split('|') : [],
|
externalGroups: toArrayConfig(process.env.HMD_SAML_EXTERNALGROUPS, '|', []),
|
||||||
requiredGroups: process.env.HMD_SAML_REQUIREDGROUPS ? process.env.HMD_SAML_REQUIREDGROUPS.split('|') : [],
|
requiredGroups: toArrayConfig(process.env.HMD_SAML_REQUIREDGROUPS, '|', []),
|
||||||
attribute: {
|
attribute: {
|
||||||
id: process.env.HMD_SAML_ATTRIBUTE_ID,
|
id: process.env.HMD_SAML_ATTRIBUTE_ID,
|
||||||
username: process.env.HMD_SAML_ATTRIBUTE_USERNAME,
|
username: process.env.HMD_SAML_ATTRIBUTE_USERNAME,
|
||||||
|
|
|
@ -6,3 +6,10 @@ exports.toBooleanConfig = function toBooleanConfig (configValue) {
|
||||||
}
|
}
|
||||||
return configValue
|
return configValue
|
||||||
}
|
}
|
||||||
|
|
||||||
|
exports.toArrayConfig = function toArrayConfig (configValue, separator = ',', fallback) {
|
||||||
|
if (configValue && typeof configValue === 'string') {
|
||||||
|
return (configValue.split(separator).map(arrayItem => arrayItem.trim()))
|
||||||
|
}
|
||||||
|
return fallback
|
||||||
|
}
|
||||||
|
|
Loading…
Reference in New Issue