Kerberos аутентификация для mongodb в узле, работающем на Windows без указания пароля? - PullRequest
0 голосов
/ 17 мая 2018

Можно ли использовать 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?

...