Можно ли использовать Kerberos аутентификацию с mongodb без указания пароля при запуске приложения узла в среде Windows?
Я могу успешно войти на мой сервер Монго из командной строки:
mongo.exe --host xxxx.yyyy.zzzz.com --port 27017 --username FLast@YYYY.ZZZZ.COM --authenticationMechanism=GSSAPI --authenticationDatabase=$external
Но я не могу сделать то же самое в коде:
const MongoClient = require('mongodb').MongoClient;
const f = require('util').format;
const assert = require('assert');
const server = 'xxxx.yyyy.zzzz.com';
const principal = 'FLast@YYYY.ZZZZ.COM';
const urlEncodedPrincipal = encodeURIComponent(principal);
// Let's write the actual connection code
MongoClient.connect(f("mongodb://%s@%s/?authMechanism=GSSAPI&gssapiServiceName=mongodb", urlEncodedPrincipal, server), function (err, client) {
assert.equal(null, err);
client.close();
});
Я получаю сообщение об ошибке: AssertionError [ERR_ASSERTION]: null == 'Error: SEC_E_LOGON_DENIED The logon failed.'
Что привлекло мое внимание, так это то, что все собственные тесты 10Gen указывают пароль при работе в среде Windows (см. Вторую половину https://github.com/mongodb/node-mongodb-native/blob/master/test/functional/kerberos_tests.js)
Так можно ли проходить аутентификацию без указания пароля при запуске в windows?