Аутентификация с MongoDB из файла JavaScript - PullRequest
0 голосов
/ 05 июня 2018

Я пытаюсь написать скрипт MongoDB как часть автоматизации удаления данных клиента в соответствии с GDPR (текущий процесс выполняется вручную), но у меня возникают проблемы с аутентификацией по сценарию.Аутентификация отлично работает из командной строки, но не из скрипта.

Я не уверен, какой механизм мне следует использовать, но поскольку есть только два, которым не требуются внешние файлы (чего я не делаюиспользовать в командной строке), я решил попробовать оба.

При запуске из командной строки, я использую эту команду:

$ mongo -u [adminusr] -p '[adminpwd]' --authenticationDatabase admin

Этот скрипт:

var host = '127.0.0.1';
var port = '27017';
var user = 'admin';
var pwd = 'secrets';
var authDB = 'admin';

try {
    var conn = new Mongo('mongodb://' + host + ':' + port + '/' + authDB);
    conn.auth({
        user: user,
        pwd: pwd,
        mechanism: 'SCRAM-SHA-1',
        digest: false
    });

    // deletion commands...
} catch (e) {
    print(e);
}

выдает эту ошибку:

$ mongo erasure.js
MongoDB shell version v3.4.2
connecting to: mongodb://127.0.0.1:27017
MongoDB server version: 3.4.10
Error: Authentication failed.

Изменение части auth на это:

    conn.auth({
        user: user,
        pwd: pwd,
        mechanism: 'MONGODB-CR',
        db: authDB,
        digest: false
    });

дает мне эту ошибку:

$ mongo erasure.js
MongoDB shell version v3.4.2
connecting to: mongodb://127.0.0.1:27017
MongoDB server version: 3.4.10
Error: auth failed

Официальная документация по написанию сценариев MongoDB и аутентификация также очень мало о том, как это сделать.

Как заставить работать аутентификацию?

Спасибо.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...