feat: ldap module + deps upgrade
This commit is contained in:
parent
db14239eba
commit
26c7d49a78
@ -168,6 +168,7 @@ export default {
|
|||||||
return {
|
return {
|
||||||
analyticsServices: [
|
analyticsServices: [
|
||||||
{ text: 'None', value: '' },
|
{ text: 'None', value: '' },
|
||||||
|
{ text: 'Elasticsearch APM', value: 'elk' },
|
||||||
{ text: 'Google Analytics', value: 'ga' },
|
{ text: 'Google Analytics', value: 'ga' },
|
||||||
{ text: 'Google Tag Manager', value: 'gtm' }
|
{ text: 'Google Tag Manager', value: 'gtm' }
|
||||||
],
|
],
|
||||||
|
@ -15,7 +15,7 @@
|
|||||||
v-toolbar(color='primary', flat, dense, dark)
|
v-toolbar(color='primary', flat, dense, dark)
|
||||||
v-spacer
|
v-spacer
|
||||||
.subheading(v-if='screen === "tfa"') {{ $t('auth:tfa.subtitle') }}
|
.subheading(v-if='screen === "tfa"') {{ $t('auth:tfa.subtitle') }}
|
||||||
.subheading(v-else-if='selectedStrategy.key !== "local"') {{ $t('auth:loginUsingStrategy', { strategy: selectedStrategy.title }) }}
|
.subheading(v-else-if='selectedStrategy.key !== "local"') {{ $t('auth:loginUsingStrategy', { strategy: selectedStrategy.title, interpolation: { escapeValue: false } }) }}
|
||||||
.subheading(v-else) {{ $t('auth:loginRequired') }}
|
.subheading(v-else) {{ $t('auth:loginRequired') }}
|
||||||
v-spacer
|
v-spacer
|
||||||
v-card-text.text-xs-center
|
v-card-text.text-xs-center
|
||||||
|
214
package.json
214
package.json
@ -40,24 +40,24 @@
|
|||||||
},
|
},
|
||||||
"dependencies": {
|
"dependencies": {
|
||||||
"@aoberoi/passport-slack": "1.0.5",
|
"@aoberoi/passport-slack": "1.0.5",
|
||||||
"@bugsnag/js": "5.2.0",
|
"@bugsnag/js": "6.2.0",
|
||||||
"algoliasearch": "3.32.1",
|
"algoliasearch": "3.32.1",
|
||||||
"apollo-fetch": "0.7.0",
|
"apollo-fetch": "0.7.0",
|
||||||
"apollo-server": "2.3.3",
|
"apollo-server": "2.4.8",
|
||||||
"apollo-server-express": "2.3.3",
|
"apollo-server-express": "2.4.8",
|
||||||
"auto-load": "3.0.4",
|
"auto-load": "3.0.4",
|
||||||
"aws-sdk": "2.420.0",
|
"aws-sdk": "2.444.0",
|
||||||
"axios": "0.18.0",
|
"axios": "0.18.0",
|
||||||
"azure-search-client": "3.1.5",
|
"azure-search-client": "3.1.5",
|
||||||
"bcryptjs-then": "1.0.1",
|
"bcryptjs-then": "1.0.1",
|
||||||
"bluebird": "3.5.3",
|
"bluebird": "3.5.4",
|
||||||
"body-parser": "1.18.3",
|
"body-parser": "1.19.0",
|
||||||
"chalk": "2.4.2",
|
"chalk": "2.4.2",
|
||||||
"cheerio": "1.0.0-rc.2",
|
"cheerio": "1.0.0-rc.3",
|
||||||
"chokidar": "2.0.4",
|
"chokidar": "2.1.5",
|
||||||
"clean-css": "4.2.1",
|
"clean-css": "4.2.1",
|
||||||
"compression": "1.7.3",
|
"compression": "1.7.4",
|
||||||
"cookie-parser": "1.4.3",
|
"cookie-parser": "1.4.4",
|
||||||
"cors": "2.8.5",
|
"cors": "2.8.5",
|
||||||
"custom-error-instance": "2.1.1",
|
"custom-error-instance": "2.1.1",
|
||||||
"dependency-graph": "0.8.0",
|
"dependency-graph": "0.8.0",
|
||||||
@ -69,33 +69,33 @@
|
|||||||
"express": "4.16.4",
|
"express": "4.16.4",
|
||||||
"express-brute": "1.0.1",
|
"express-brute": "1.0.1",
|
||||||
"express-session": "1.16.1",
|
"express-session": "1.16.1",
|
||||||
"file-type": "10.7.1",
|
"file-type": "10.11.0",
|
||||||
"filesize": "4.0.0",
|
"filesize": "4.1.2",
|
||||||
"fs-extra": "7.0.1",
|
"fs-extra": "7.0.1",
|
||||||
"getos": "3.1.1",
|
"getos": "3.1.1",
|
||||||
"graphql": "14.1.1",
|
"graphql": "14.2.1",
|
||||||
"graphql-list-fields": "2.0.2",
|
"graphql-list-fields": "2.0.2",
|
||||||
"graphql-rate-limit-directive": "0.1.0",
|
"graphql-rate-limit-directive": "1.0.1",
|
||||||
"graphql-subscriptions": "1.0.0",
|
"graphql-subscriptions": "1.1.0",
|
||||||
"graphql-tools": "4.0.4",
|
"graphql-tools": "4.0.4",
|
||||||
"graphql-upload": "8.0.5",
|
"graphql-upload": "8.0.6",
|
||||||
"highlight.js": "9.14.2",
|
"highlight.js": "9.15.6",
|
||||||
"i18next": "14.0.1",
|
"i18next": "15.1.0",
|
||||||
"i18next-express-middleware": "1.7.1",
|
"i18next-express-middleware": "1.8.0",
|
||||||
"i18next-localstorage-cache": "1.1.1",
|
"i18next-localstorage-cache": "1.1.1",
|
||||||
"i18next-node-fs-backend": "2.1.1",
|
"i18next-node-fs-backend": "2.1.3",
|
||||||
"image-size": "0.7.1",
|
"image-size": "0.7.4",
|
||||||
"js-base64": "2.5.1",
|
"js-base64": "2.5.1",
|
||||||
"js-binary": "1.2.0",
|
"js-binary": "1.2.0",
|
||||||
"js-yaml": "3.12.1",
|
"js-yaml": "3.13.1",
|
||||||
"jsonwebtoken": "8.4.0",
|
"jsonwebtoken": "8.5.1",
|
||||||
"klaw": "3.0.0",
|
"klaw": "3.0.0",
|
||||||
"knex": "0.16.3",
|
"knex": "0.16.5",
|
||||||
"lodash": "4.17.11",
|
"lodash": "4.17.11",
|
||||||
"markdown-it": "8.4.2",
|
"markdown-it": "8.4.2",
|
||||||
"markdown-it-abbr": "1.0.4",
|
"markdown-it-abbr": "1.0.4",
|
||||||
"markdown-it-anchor": "5.0.2",
|
"markdown-it-anchor": "5.0.2",
|
||||||
"markdown-it-attrs": "2.3.2",
|
"markdown-it-attrs": "2.3.3",
|
||||||
"markdown-it-emoji": "1.4.0",
|
"markdown-it-emoji": "1.4.0",
|
||||||
"markdown-it-expand-tabs": "1.0.13",
|
"markdown-it-expand-tabs": "1.0.13",
|
||||||
"markdown-it-external-links": "0.0.6",
|
"markdown-it-external-links": "0.0.6",
|
||||||
@ -107,19 +107,19 @@
|
|||||||
"markdown-it-sup": "1.0.0",
|
"markdown-it-sup": "1.0.0",
|
||||||
"markdown-it-task-lists": "2.1.1",
|
"markdown-it-task-lists": "2.1.1",
|
||||||
"mathjax-node": "2.1.1",
|
"mathjax-node": "2.1.1",
|
||||||
"mime-types": "2.1.21",
|
"mime-types": "2.1.24",
|
||||||
"moment": "2.24.0",
|
"moment": "2.24.0",
|
||||||
"moment-timezone": "0.5.23",
|
"moment-timezone": "0.5.25",
|
||||||
"mongodb": "3.1.13",
|
"mongodb": "3.2.3",
|
||||||
"mssql": "5.0.0-beta.1",
|
"mssql": "5.1.0",
|
||||||
"multer": "1.4.1",
|
"multer": "1.4.1",
|
||||||
"mysql2": "1.6.4",
|
"mysql2": "1.6.5",
|
||||||
"nanoid": "2.0.1",
|
"nanoid": "2.0.1",
|
||||||
"node-2fa": "1.1.2",
|
"node-2fa": "1.1.2",
|
||||||
"node-cache": "4.2.0",
|
"node-cache": "4.2.0",
|
||||||
"nodemailer": "5.1.1",
|
"nodemailer": "6.1.1",
|
||||||
"objection": "1.5.3",
|
"objection": "1.6.8",
|
||||||
"ora": "3.0.0",
|
"ora": "3.4.0",
|
||||||
"passport": "0.4.0",
|
"passport": "0.4.0",
|
||||||
"passport-auth0": "1.1.0",
|
"passport-auth0": "1.1.0",
|
||||||
"passport-azure-ad-oauth2": "0.0.4",
|
"passport-azure-ad-oauth2": "0.0.4",
|
||||||
@ -128,52 +128,52 @@
|
|||||||
"passport-dropbox-oauth2": "1.1.0",
|
"passport-dropbox-oauth2": "1.1.0",
|
||||||
"passport-facebook": "3.0.0",
|
"passport-facebook": "3.0.0",
|
||||||
"passport-github2": "0.1.11",
|
"passport-github2": "0.1.11",
|
||||||
"passport-google-oauth20": "1.0.0",
|
"passport-google-oauth20": "2.0.0",
|
||||||
"passport-jwt": "4.0.0",
|
"passport-jwt": "4.0.0",
|
||||||
"passport-ldapauth": "2.1.1",
|
"passport-ldapauth": "2.1.3",
|
||||||
"passport-local": "1.0.0",
|
"passport-local": "1.0.0",
|
||||||
"passport-oauth2": "1.4.0",
|
"passport-microsoft": "0.0.5",
|
||||||
|
"passport-oauth2": "1.5.0",
|
||||||
"passport-okta-oauth": "0.0.1",
|
"passport-okta-oauth": "0.0.1",
|
||||||
"passport-openidconnect": "0.0.2",
|
"passport-openidconnect": "0.0.2",
|
||||||
"passport-saml": "1.0.0",
|
"passport-saml": "1.0.0",
|
||||||
"passport-twitch": "1.0.3",
|
"passport-twitch": "1.0.3",
|
||||||
"passport-windowslive": "1.0.2",
|
|
||||||
"pem-jwk": "2.0.0",
|
"pem-jwk": "2.0.0",
|
||||||
"pg": "7.8.0",
|
"pg": "7.10.0",
|
||||||
"pg-hstore": "2.3.2",
|
"pg-hstore": "2.3.2",
|
||||||
"pg-query-stream": "2.0.0",
|
"pg-query-stream": "2.0.0",
|
||||||
"pg-tsquery": "8.0.3",
|
"pg-tsquery": "8.0.4",
|
||||||
"pm2": "3.2.9",
|
"pm2": "3.5.0",
|
||||||
"pug": "2.0.3",
|
"pug": "2.0.3",
|
||||||
"qr-image": "3.2.0",
|
"qr-image": "3.2.0",
|
||||||
"raven": "2.6.4",
|
"raven": "2.6.4",
|
||||||
"remove-markdown": "0.3.0",
|
"remove-markdown": "0.3.0",
|
||||||
"request": "2.88.0",
|
"request": "2.88.0",
|
||||||
"request-promise": "4.2.2",
|
"request-promise": "4.2.4",
|
||||||
"safe-regex": "2.0.1",
|
"safe-regex": "2.0.2",
|
||||||
"scim-query-filter-parser": "1.1.0",
|
"scim-query-filter-parser": "1.1.0",
|
||||||
"semver": "5.6.0",
|
"semver": "6.0.0",
|
||||||
"serve-favicon": "2.5.0",
|
"serve-favicon": "2.5.0",
|
||||||
"simple-git": "1.107.0",
|
"simple-git": "1.110.0",
|
||||||
"solr-node": "1.1.3",
|
"solr-node": "1.1.3",
|
||||||
"sqlite3": "4.0.6",
|
"sqlite3": "4.0.6",
|
||||||
"striptags": "3.1.1",
|
"striptags": "3.1.1",
|
||||||
"subscriptions-transport-ws": "0.9.15",
|
"subscriptions-transport-ws": "0.9.16",
|
||||||
"tar-fs": "2.0.0",
|
"tar-fs": "2.0.0",
|
||||||
"twemoji": "11.3.0",
|
"twemoji": "12.0.1",
|
||||||
"uslug": "1.0.4",
|
"uslug": "1.0.4",
|
||||||
"uuid": "3.3.2",
|
"uuid": "3.3.2",
|
||||||
"validate.js": "0.12.0",
|
"validate.js": "0.12.0",
|
||||||
"validator": "10.11.0",
|
"validator": "10.11.0",
|
||||||
"validator-as-promised": "1.0.2",
|
"validator-as-promised": "1.0.2",
|
||||||
"winston": "3.2.1",
|
"winston": "3.2.1",
|
||||||
"yargs": "12.0.5"
|
"yargs": "13.2.2"
|
||||||
},
|
},
|
||||||
"devDependencies": {
|
"devDependencies": {
|
||||||
"@babel/cli": "^7.2.3",
|
"@babel/cli": "^7.4.3",
|
||||||
"@babel/core": "^7.2.2",
|
"@babel/core": "^7.4.3",
|
||||||
"@babel/plugin-proposal-class-properties": "^7.3.0",
|
"@babel/plugin-proposal-class-properties": "^7.4.0",
|
||||||
"@babel/plugin-proposal-decorators": "^7.3.0",
|
"@babel/plugin-proposal-decorators": "^7.4.0",
|
||||||
"@babel/plugin-proposal-export-namespace-from": "^7.2.0",
|
"@babel/plugin-proposal-export-namespace-from": "^7.2.0",
|
||||||
"@babel/plugin-proposal-function-sent": "^7.2.0",
|
"@babel/plugin-proposal-function-sent": "^7.2.0",
|
||||||
"@babel/plugin-proposal-json-strings": "^7.2.0",
|
"@babel/plugin-proposal-json-strings": "^7.2.0",
|
||||||
@ -181,62 +181,62 @@
|
|||||||
"@babel/plugin-proposal-throw-expressions": "^7.2.0",
|
"@babel/plugin-proposal-throw-expressions": "^7.2.0",
|
||||||
"@babel/plugin-syntax-dynamic-import": "^7.2.0",
|
"@babel/plugin-syntax-dynamic-import": "^7.2.0",
|
||||||
"@babel/plugin-syntax-import-meta": "^7.2.0",
|
"@babel/plugin-syntax-import-meta": "^7.2.0",
|
||||||
"@babel/polyfill": "^7.2.5",
|
"@babel/polyfill": "^7.4.3",
|
||||||
"@babel/preset-env": "^7.3.1",
|
"@babel/preset-env": "^7.4.3",
|
||||||
"@panter/vue-i18next": "0.15.0",
|
"@panter/vue-i18next": "0.15.0",
|
||||||
"animate-sass": "0.8.2",
|
"animate-sass": "0.8.2",
|
||||||
"animated-number-vue": "0.1.4",
|
"animated-number-vue": "0.1.5",
|
||||||
"apollo-cache-inmemory": "1.4.2",
|
"apollo-cache-inmemory": "1.5.1",
|
||||||
"apollo-client": "2.4.12",
|
"apollo-client": "2.4.12",
|
||||||
"apollo-link": "1.2.8",
|
"apollo-link": "1.2.11",
|
||||||
"apollo-link-batch-http": "1.2.8",
|
"apollo-link-batch-http": "1.2.11",
|
||||||
"apollo-link-error": "1.1.7",
|
"apollo-link-error": "1.1.10",
|
||||||
"apollo-link-http": "1.5.11",
|
"apollo-link-http": "1.5.14",
|
||||||
"apollo-link-persisted-queries": "0.2.2",
|
"apollo-link-persisted-queries": "0.2.2",
|
||||||
"apollo-link-ws": "1.0.14",
|
"apollo-link-ws": "1.0.17",
|
||||||
"apollo-upload-client": "10.0.0",
|
"apollo-upload-client": "10.0.0",
|
||||||
"apollo-utilities": "1.1.2",
|
"apollo-utilities": "1.2.1",
|
||||||
"autoprefixer": "9.4.7",
|
"autoprefixer": "9.5.1",
|
||||||
"babel-eslint": "10.0.1",
|
"babel-eslint": "10.0.1",
|
||||||
"babel-jest": "24.0.0",
|
"babel-jest": "24.7.1",
|
||||||
"babel-loader": "^8.0.5",
|
"babel-loader": "^8.0.5",
|
||||||
"babel-plugin-graphql-tag": "1.6.0",
|
"babel-plugin-graphql-tag": "2.1.0",
|
||||||
"babel-plugin-lodash": "3.3.4",
|
"babel-plugin-lodash": "3.3.4",
|
||||||
"babel-plugin-transform-imports": "1.5.1",
|
"babel-plugin-transform-imports": "1.5.1",
|
||||||
"brace": "0.11.1",
|
"brace": "0.11.1",
|
||||||
"cache-loader": "2.0.1",
|
"cache-loader": "3.0.0",
|
||||||
"chart.js": "2.7.3",
|
"chart.js": "2.8.0",
|
||||||
"clean-webpack-plugin": "1.0.1",
|
"clean-webpack-plugin": "2.0.1",
|
||||||
"copy-webpack-plugin": "4.6.0",
|
"copy-webpack-plugin": "5.0.3",
|
||||||
"core-js": "2.6.3",
|
"core-js": "2.6.3",
|
||||||
"css-loader": "2.1.0",
|
"css-loader": "2.1.1",
|
||||||
"cssnano": "4.1.8",
|
"cssnano": "4.1.10",
|
||||||
"duplicate-package-checker-webpack-plugin": "3.0.0",
|
"duplicate-package-checker-webpack-plugin": "3.0.0",
|
||||||
"epic-spinners": "1.0.4",
|
"epic-spinners": "1.0.4",
|
||||||
"eslint": "5.13.0",
|
"eslint": "5.16.0",
|
||||||
"eslint-config-requarks": "1.0.7",
|
"eslint-config-requarks": "1.0.7",
|
||||||
"eslint-config-standard": "12.0.0",
|
"eslint-config-standard": "12.0.0",
|
||||||
"eslint-plugin-import": "2.16.0",
|
"eslint-plugin-import": "2.17.2",
|
||||||
"eslint-plugin-node": "8.0.1",
|
"eslint-plugin-node": "8.0.1",
|
||||||
"eslint-plugin-promise": "4.0.1",
|
"eslint-plugin-promise": "4.1.1",
|
||||||
"eslint-plugin-standard": "4.0.0",
|
"eslint-plugin-standard": "4.0.0",
|
||||||
"eslint-plugin-vue": "5.1.0",
|
"eslint-plugin-vue": "5.2.2",
|
||||||
"file-loader": "3.0.1",
|
"file-loader": "3.0.1",
|
||||||
"filepond": "4.2.0",
|
"filepond": "4.4.0",
|
||||||
"filepond-plugin-file-validate-type": "1.2.2",
|
"filepond-plugin-file-validate-type": "1.2.4",
|
||||||
"filesize.js": "1.0.2",
|
"filesize.js": "1.0.2",
|
||||||
"grapesjs": "0.14.52",
|
"grapesjs": "0.14.57",
|
||||||
"graphiql": "0.12.0",
|
"graphiql": "0.13.0",
|
||||||
"graphql-persisted-document-loader": "1.0.1",
|
"graphql-persisted-document-loader": "1.0.1",
|
||||||
"graphql-tag": "^2.10.1",
|
"graphql-tag": "^2.10.1",
|
||||||
"graphql-voyager": "1.0.0-rc.26",
|
"graphql-voyager": "1.0.0-rc.27",
|
||||||
"hammerjs": "2.0.8",
|
"hammerjs": "2.0.8",
|
||||||
"html-webpack-plugin": "3.2.0",
|
"html-webpack-plugin": "3.2.0",
|
||||||
"html-webpack-pug-plugin": "0.3.0",
|
"html-webpack-pug-plugin": "0.3.0",
|
||||||
"i18next-xhr-backend": "1.5.1",
|
"i18next-xhr-backend": "2.0.1",
|
||||||
"ignore-loader": "0.1.2",
|
"ignore-loader": "0.1.2",
|
||||||
"js-cookie": "2.2.0",
|
"js-cookie": "2.2.0",
|
||||||
"mini-css-extract-plugin": "0.5.0",
|
"mini-css-extract-plugin": "0.6.0",
|
||||||
"moment-duration-format": "2.2.2",
|
"moment-duration-format": "2.2.2",
|
||||||
"node-sass": "4.11.0",
|
"node-sass": "4.11.0",
|
||||||
"offline-plugin": "5.0.6",
|
"offline-plugin": "5.0.6",
|
||||||
@ -246,15 +246,15 @@
|
|||||||
"postcss-flexibility": "2.0.0",
|
"postcss-flexibility": "2.0.0",
|
||||||
"postcss-import": "12.0.1",
|
"postcss-import": "12.0.1",
|
||||||
"postcss-loader": "3.0.0",
|
"postcss-loader": "3.0.0",
|
||||||
"postcss-preset-env": "6.5.0",
|
"postcss-preset-env": "6.6.0",
|
||||||
"postcss-selector-parser": "5.0.0",
|
"postcss-selector-parser": "6.0.2",
|
||||||
"pug-lint": "2.5.0",
|
"pug-lint": "2.5.0",
|
||||||
"pug-loader": "2.4.0",
|
"pug-loader": "2.4.0",
|
||||||
"pug-plain-loader": "1.0.0",
|
"pug-plain-loader": "1.0.0",
|
||||||
"raw-loader": "1.0.0",
|
"raw-loader": "2.0.0",
|
||||||
"react": "16.7.0",
|
"react": "16.8.6",
|
||||||
"react-dom": "16.7.0",
|
"react-dom": "16.8.6",
|
||||||
"resolve-url-loader": "3.0.0",
|
"resolve-url-loader": "3.1.0",
|
||||||
"sass-loader": "7.1.0",
|
"sass-loader": "7.1.0",
|
||||||
"sass-resources-loader": "2.0.0",
|
"sass-resources-loader": "2.0.0",
|
||||||
"script-ext-html-webpack-plugin": "2.1.3",
|
"script-ext-html-webpack-plugin": "2.1.3",
|
||||||
@ -264,41 +264,41 @@
|
|||||||
"stylus-loader": "3.0.2",
|
"stylus-loader": "3.0.2",
|
||||||
"twemoji-awesome": "1.0.6",
|
"twemoji-awesome": "1.0.6",
|
||||||
"url-loader": "1.1.2",
|
"url-loader": "1.1.2",
|
||||||
"vee-validate": "2.1.7",
|
"vee-validate": "2.2.5",
|
||||||
"velocity-animate": "1.5.2",
|
"velocity-animate": "1.5.2",
|
||||||
"viz.js": "2.1.2",
|
"viz.js": "2.1.2",
|
||||||
"vue": "2.5.22",
|
"vue": "2.6.10",
|
||||||
"vue-apollo": "3.0.0-beta.27",
|
"vue-apollo": "3.0.0-beta.28",
|
||||||
"vue-chartjs": "3.4.0",
|
"vue-chartjs": "3.4.2",
|
||||||
"vue-clipboards": "1.2.4",
|
"vue-clipboards": "1.2.4",
|
||||||
"vue-codemirror": "4.0.6",
|
"vue-codemirror": "4.0.6",
|
||||||
"vue-filepond": "5.0.0",
|
"vue-filepond": "5.1.0",
|
||||||
"vue-hot-reload-api": "2.3.1",
|
"vue-hot-reload-api": "2.3.3",
|
||||||
"vue-loader": "15.6.2",
|
"vue-loader": "15.7.0",
|
||||||
"vue-material-design-icons": "3.0.0",
|
"vue-material-design-icons": "3.2.0",
|
||||||
"vue-moment": "4.0.0",
|
"vue-moment": "4.0.0",
|
||||||
"vue-router": "3.0.2",
|
"vue-router": "3.0.6",
|
||||||
"vue-simple-breakpoints": "1.0.3",
|
"vue-simple-breakpoints": "1.0.3",
|
||||||
"vue-status-indicator": "1.1.1",
|
"vue-status-indicator": "1.1.1",
|
||||||
"vue-template-compiler": "2.5.22",
|
"vue-template-compiler": "2.6.10",
|
||||||
"vue-tour": "1.1.0",
|
"vue-tour": "1.1.0",
|
||||||
"vue2-animate": "2.1.0",
|
"vue2-animate": "2.1.0",
|
||||||
"vuedraggable": "2.17.0",
|
"vuedraggable": "2.20.0",
|
||||||
"vuescroll": "4.10.2",
|
"vuescroll": "4.12.2",
|
||||||
"vuetify": "1.4.4",
|
"vuetify": "1.5.13",
|
||||||
"vuex": "3.1.0",
|
"vuex": "3.1.0",
|
||||||
"vuex-pathify": "1.1.3",
|
"vuex-pathify": "1.2.2",
|
||||||
"vuex-persistedstate": "2.5.4",
|
"vuex-persistedstate": "2.5.4",
|
||||||
"webpack": "4.29.0",
|
"webpack": "4.30.0",
|
||||||
"webpack-bundle-analyzer": "3.0.3",
|
"webpack-bundle-analyzer": "3.3.2",
|
||||||
"webpack-cli": "3.2.1",
|
"webpack-cli": "3.3.1",
|
||||||
"webpack-dev-middleware": "3.5.1",
|
"webpack-dev-middleware": "3.6.2",
|
||||||
"webpack-hot-middleware": "2.24.3",
|
"webpack-hot-middleware": "2.24.4",
|
||||||
"webpack-merge": "4.2.1",
|
"webpack-merge": "4.2.1",
|
||||||
"webpack-subresource-integrity": "1.3.2",
|
"webpack-subresource-integrity": "1.3.2",
|
||||||
"whatwg-fetch": "3.0.0",
|
"whatwg-fetch": "3.0.0",
|
||||||
"write-file-webpack-plugin": "4.5.0",
|
"write-file-webpack-plugin": "4.5.0",
|
||||||
"xterm": "3.11.0",
|
"xterm": "3.12.2",
|
||||||
"zxcvbn": "4.4.2"
|
"zxcvbn": "4.4.2"
|
||||||
},
|
},
|
||||||
"resolutions": {
|
"resolutions": {
|
||||||
|
@ -17,7 +17,6 @@ router.get('/login/:strategy', async (req, res, next) => {
|
|||||||
const authResult = await WIKI.models.users.login({
|
const authResult = await WIKI.models.users.login({
|
||||||
strategy: req.params.strategy
|
strategy: req.params.strategy
|
||||||
}, { req, res })
|
}, { req, res })
|
||||||
console.info(authResult)
|
|
||||||
} catch (err) {
|
} catch (err) {
|
||||||
next(err)
|
next(err)
|
||||||
}
|
}
|
||||||
|
@ -5,6 +5,8 @@ const crypto = require('crypto')
|
|||||||
const localeSegmentRegex = /^[A-Z]{2}(-[A-Z]{2})?$/gi
|
const localeSegmentRegex = /^[A-Z]{2}(-[A-Z]{2})?$/gi
|
||||||
const systemSegmentRegex = /^[A-Z]\//gi
|
const systemSegmentRegex = /^[A-Z]\//gi
|
||||||
|
|
||||||
|
/* global WIKI */
|
||||||
|
|
||||||
module.exports = {
|
module.exports = {
|
||||||
/**
|
/**
|
||||||
* Parse raw url path and make it safe
|
* Parse raw url path and make it safe
|
||||||
@ -63,7 +65,10 @@ module.exports = {
|
|||||||
/**
|
/**
|
||||||
* Check if path is a reserved path
|
* Check if path is a reserved path
|
||||||
*/
|
*/
|
||||||
isReservedPath(rawPath) {
|
isReservedPath(rawPath) {
|
||||||
return _.some(WIKI.data.reservedPaths, p => _.startsWith(rawPath, p)) || systemSegmentRegex.test(rawPath)
|
const firstSection = _.head(rawPath.split('/'))
|
||||||
|
return _.some(WIKI.data.reservedPaths, p => {
|
||||||
|
return p === firstSection || systemSegmentRegex.test(rawPath)
|
||||||
|
})
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
@ -6,10 +6,11 @@
|
|||||||
|
|
||||||
const LdapStrategy = require('passport-ldapauth').Strategy
|
const LdapStrategy = require('passport-ldapauth').Strategy
|
||||||
const fs = require('fs')
|
const fs = require('fs')
|
||||||
|
const _ = require('lodash')
|
||||||
|
|
||||||
module.exports = {
|
module.exports = {
|
||||||
init (passport, conf) {
|
init (passport, conf) {
|
||||||
passport.use('ldapauth',
|
passport.use('ldap',
|
||||||
new LdapStrategy({
|
new LdapStrategy({
|
||||||
server: {
|
server: {
|
||||||
url: conf.url,
|
url: conf.url,
|
||||||
@ -17,7 +18,6 @@ module.exports = {
|
|||||||
bindCredentials: conf.bindCredentials,
|
bindCredentials: conf.bindCredentials,
|
||||||
searchBase: conf.searchBase,
|
searchBase: conf.searchBase,
|
||||||
searchFilter: conf.searchFilter,
|
searchFilter: conf.searchFilter,
|
||||||
searchAttributes: ['displayName', 'name', 'cn', 'mail'],
|
|
||||||
tlsOptions: (conf.tlsEnabled) ? {
|
tlsOptions: (conf.tlsEnabled) ? {
|
||||||
ca: [
|
ca: [
|
||||||
fs.readFileSync(conf.tlsCertPath)
|
fs.readFileSync(conf.tlsCertPath)
|
||||||
@ -25,15 +25,28 @@ module.exports = {
|
|||||||
} : {}
|
} : {}
|
||||||
},
|
},
|
||||||
usernameField: 'email',
|
usernameField: 'email',
|
||||||
|
passwordField: 'password',
|
||||||
passReqToCallback: false
|
passReqToCallback: false
|
||||||
}, (profile, cb) => {
|
}, async (profile, cb) => {
|
||||||
profile.provider = 'ldap'
|
try {
|
||||||
profile.id = profile.dn
|
const userId = _.get(profile, conf.mappingUID, null)
|
||||||
WIKI.models.users.processProfile(profile).then((user) => {
|
if (!userId) {
|
||||||
return cb(null, user) || true
|
throw new Error('Invalid Unique ID field mapping!')
|
||||||
}).catch((err) => {
|
}
|
||||||
return cb(err, null) || true
|
|
||||||
})
|
const user = await WIKI.models.users.processProfile({
|
||||||
|
profile: {
|
||||||
|
id: userId,
|
||||||
|
email: _.get(profile, conf.mappingEmail, ''),
|
||||||
|
displayName: _.get(profile, conf.mappingDisplayName, '???'),
|
||||||
|
picture: _.get(profile, conf.mappingPicture, '')
|
||||||
|
},
|
||||||
|
providerKey: 'ldap'
|
||||||
|
})
|
||||||
|
cb(null, user)
|
||||||
|
} catch (err) {
|
||||||
|
cb(err, null)
|
||||||
|
}
|
||||||
}
|
}
|
||||||
))
|
))
|
||||||
}
|
}
|
||||||
|
@ -5,33 +5,69 @@ author: requarks.io
|
|||||||
logo: https://static.requarks.io/logo/active-directory.svg
|
logo: https://static.requarks.io/logo/active-directory.svg
|
||||||
color: blue darken-3
|
color: blue darken-3
|
||||||
website: https://www.microsoft.com/windowsserver
|
website: https://www.microsoft.com/windowsserver
|
||||||
|
isAvailable: true
|
||||||
useForm: true
|
useForm: true
|
||||||
props:
|
props:
|
||||||
url:
|
url:
|
||||||
title: URL
|
title: LDAP URL
|
||||||
type: String
|
type: String
|
||||||
default: 'ldap://serverhost:389'
|
default: 'ldap://serverhost:389'
|
||||||
hint: (e.g. ldap://serverhost:389)
|
hint: (e.g. ldap://serverhost:389 or ldaps://serverhost:636)
|
||||||
|
order: 1
|
||||||
bindDn:
|
bindDn:
|
||||||
title: Bind DN
|
title: Admin Bind DN
|
||||||
type: String
|
type: String
|
||||||
default: cn='root'
|
default: cn='root'
|
||||||
hint: The dstinguished name (dn) of the account used for binding.
|
hint: The dstinguished name (dn) of the account used for binding.
|
||||||
|
order: 2
|
||||||
bindCredentials:
|
bindCredentials:
|
||||||
|
title: Admin Bind Credentials
|
||||||
type: String
|
type: String
|
||||||
hint: The password of the account used for binding.
|
hint: The password of the account used above for binding.
|
||||||
|
order: 3
|
||||||
searchBase:
|
searchBase:
|
||||||
|
title: Search Base
|
||||||
type: String
|
type: String
|
||||||
default: 'o=users,o=example.com'
|
default: 'o=users,o=example.com'
|
||||||
|
hint: The base DN from which to search for users.
|
||||||
|
order: 4
|
||||||
searchFilter:
|
searchFilter:
|
||||||
|
title: Search Filter
|
||||||
type: String
|
type: String
|
||||||
default: '(uid={{username}})'
|
default: '(uid={{username}})'
|
||||||
hint: The query to use to match username. {{username}} must be present.
|
hint: The query to use to match username. {{username}} must be present and will be interpolated with the user provided username when performing the LDAP search.
|
||||||
|
order: 5
|
||||||
tlsEnabled:
|
tlsEnabled:
|
||||||
title: Use TLS
|
title: Use TLS
|
||||||
type: Boolean
|
type: Boolean
|
||||||
default: false
|
default: false
|
||||||
|
order: 6
|
||||||
tlsCertPath:
|
tlsCertPath:
|
||||||
title: TLS Certificate Path
|
title: TLS Certificate Path
|
||||||
type: String
|
type: String
|
||||||
hint: Absolute path to the TLS certificate on the server.
|
hint: Absolute path to the TLS certificate on the server.
|
||||||
|
order: 7
|
||||||
|
mappingUID:
|
||||||
|
title: Unique ID Field Mapping
|
||||||
|
type: String
|
||||||
|
default: 'uid'
|
||||||
|
hint: The field storing the user unique identifier. Usually "uid" or "sAMAccountName".
|
||||||
|
order: 8
|
||||||
|
mappingEmail:
|
||||||
|
title: Email Field Mapping
|
||||||
|
type: String
|
||||||
|
default: 'mail'
|
||||||
|
hint: The field storing the user email. Usually "mail".
|
||||||
|
order: 9
|
||||||
|
mappingDisplayName:
|
||||||
|
title: Display Name Field Mapping
|
||||||
|
type: String
|
||||||
|
default: 'displayName'
|
||||||
|
hint: The field storing the user display name. Usually "displayName" or "cn".
|
||||||
|
order: 10
|
||||||
|
mappingPicture:
|
||||||
|
title: Avatar Picture Field Mapping
|
||||||
|
type: String
|
||||||
|
default: 'jpegPhoto'
|
||||||
|
hint: The field storing the user avatar picture. Usually "jpegPhoto" or "thumbnailPhoto".
|
||||||
|
order: 11
|
||||||
|
@ -4,7 +4,8 @@
|
|||||||
// Microsoft Account
|
// Microsoft Account
|
||||||
// ------------------------------------
|
// ------------------------------------
|
||||||
|
|
||||||
const WindowsLiveStrategy = require('passport-windowslive').Strategy
|
const WindowsLiveStrategy = require('passport-microsoft').Strategy
|
||||||
|
const _ = require('lodash')
|
||||||
|
|
||||||
module.exports = {
|
module.exports = {
|
||||||
init (passport, conf) {
|
init (passport, conf) {
|
||||||
@ -12,7 +13,8 @@ module.exports = {
|
|||||||
new WindowsLiveStrategy({
|
new WindowsLiveStrategy({
|
||||||
clientID: conf.clientId,
|
clientID: conf.clientId,
|
||||||
clientSecret: conf.clientSecret,
|
clientSecret: conf.clientSecret,
|
||||||
callbackURL: conf.callbackURL
|
callbackURL: conf.callbackURL,
|
||||||
|
scope: ['User.Read', 'email', 'openid', 'profile']
|
||||||
}, async (accessToken, refreshToken, profile, cb) => {
|
}, async (accessToken, refreshToken, profile, cb) => {
|
||||||
console.info(profile)
|
console.info(profile)
|
||||||
try {
|
try {
|
||||||
|
Loading…
Reference in New Issue
Block a user