mirror of
https://github.com/strapi/strapi.git
synced 2025-12-24 13:43:41 +00:00
Move authentication and ssl in database options
This commit is contained in:
parent
6e9dc44aa0
commit
7a456da974
@ -10,11 +10,12 @@
|
||||
"port": "${process.env.DATABASE_PORT || 27017}",
|
||||
"database": "${process.env.DATABASE_NAME || 'strapi-production'}",
|
||||
"username": "${process.env.DATABASE_USERNAME || ''}",
|
||||
"password": "${process.env.DATABASE_PASSWORD || ''}",
|
||||
"password": "${process.env.DATABASE_PASSWORD || ''}"
|
||||
},
|
||||
"options": {
|
||||
"ssl": "${process.env.DATABASE_SSL || false}",
|
||||
"authenticationDatabase": "${process.env.DATABASE_AUTHENTICATION_DATABASE || ''}"
|
||||
},
|
||||
"options": {}
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
@ -10,11 +10,12 @@
|
||||
"port": "${process.env.DATABASE_PORT || 27017}",
|
||||
"database": "${process.env.DATABASE_NAME || 'strapi-staging'}",
|
||||
"username": "${process.env.DATABASE_USERNAME || ''}",
|
||||
"password": "${process.env.DATABASE_PASSWORD || ''}",
|
||||
"password": "${process.env.DATABASE_PASSWORD || ''}"
|
||||
},
|
||||
"options": {
|
||||
"ssl": "${process.env.DATABASE_SSL || false}",
|
||||
"authenticationDatabase": "${process.env.DATABASE_AUTHENTICATION_DATABASE || ''}"
|
||||
},
|
||||
"options": {}
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
@ -212,7 +212,6 @@ module.exports = (scope, cb) => {
|
||||
}
|
||||
])
|
||||
.then(answers => {
|
||||
|
||||
if (hasDatabaseConfig) {
|
||||
answers = _.omit(scope.database.settings, ['client'])
|
||||
}
|
||||
@ -222,8 +221,8 @@ module.exports = (scope, cb) => {
|
||||
scope.database.settings.database = answers.database;
|
||||
scope.database.settings.username = answers.username;
|
||||
scope.database.settings.password = answers.password;
|
||||
scope.database.settings.authenticationDatabase = answers.authenticationDatabase;
|
||||
scope.database.settings.ssl = answers.ssl;
|
||||
scope.database.options.authenticationDatabase = answers.authenticationDatabase;
|
||||
scope.database.options.ssl = _.toString(answers.ssl) === 'true';
|
||||
|
||||
logger.info('Testing database connection...');
|
||||
|
||||
|
||||
@ -43,19 +43,24 @@ module.exports = function (strapi) {
|
||||
initialize: cb => {
|
||||
_.forEach(_.pickBy(strapi.config.connections, {connector: 'strapi-mongoose'}), (connection, connectionName) => {
|
||||
const instance = new Mongoose();
|
||||
const { uri, host, port, username, password, database, authenticationDatabase, ssl } = _.defaults(connection.settings, strapi.config.hook.settings.mongoose);
|
||||
const { uri, host, port, username, password, database } = _.defaults(connection.settings, strapi.config.hook.settings.mongoose);
|
||||
const { authenticationDatabase, ssl } = _.defaults(connection.options, strapi.config.hook.settings.mongoose);
|
||||
|
||||
// Connect to mongo database
|
||||
const connectOptions = {}
|
||||
|
||||
if (!_.isEmpty(username)) {
|
||||
connectOptions.user = username
|
||||
connectOptions.user = username;
|
||||
|
||||
if (!_.isEmpty(password)) {
|
||||
connectOptions.pass = password
|
||||
connectOptions.pass = password;
|
||||
}
|
||||
}
|
||||
|
||||
if (!_.isEmpty(authenticationDatabase)) {
|
||||
connectOptions.authSource = authenticationDatabase;
|
||||
}
|
||||
|
||||
connectOptions.ssl = ssl === true || ssl === 'true';
|
||||
|
||||
instance.connect(uri || `mongodb://${host}:${port}/${database}`, connectOptions);
|
||||
|
||||
@ -10,18 +10,27 @@ const logger = require('strapi-utils').logger;
|
||||
module.exports = (scope, success, error) => {
|
||||
const Mongoose = require(path.resolve(`${scope.tmpPath}/node_modules/mongoose`));
|
||||
|
||||
const { username, password, authenticationDatabase, ssl } = scope.database.settings
|
||||
const connectOptions = {}
|
||||
const { username, password } = scope.database.settings;
|
||||
const { authenticationDatabase, ssl } = scope.database.options;
|
||||
|
||||
const connectOptions = {};
|
||||
|
||||
if (username) {
|
||||
connectOptions.user = username
|
||||
connectOptions.user = username;
|
||||
|
||||
if (password) {
|
||||
connectOptions.pass = password
|
||||
connectOptions.pass = password;
|
||||
}
|
||||
}
|
||||
|
||||
if (authenticationDatabase) {
|
||||
connectOptions.authSource = authenticationDatabase;
|
||||
}
|
||||
connectOptions.ssl = ssl ? true : false
|
||||
|
||||
connectOptions.ssl = ssl ? true : false;
|
||||
|
||||
console.log(connectOptions);
|
||||
|
||||
Mongoose.connect(`mongodb://${scope.database.settings.host}:${scope.database.settings.port}/${scope.database.settings.database}`, connectOptions, function (err) {
|
||||
if (err) {
|
||||
logger.warn('Database connection has failed! Make sure your database is running.');
|
||||
|
||||
Loading…
x
Reference in New Issue
Block a user