27 lines
1 KiB
JavaScript
27 lines
1 KiB
JavaScript
|
"use strict";
|
||
|
Object.defineProperty(exports, "__esModule", { value: true });
|
||
|
exports.Plain = void 0;
|
||
|
const bson_1 = require("../../bson");
|
||
|
const error_1 = require("../../error");
|
||
|
const utils_1 = require("../../utils");
|
||
|
const auth_provider_1 = require("./auth_provider");
|
||
|
class Plain extends auth_provider_1.AuthProvider {
|
||
|
auth(authContext, callback) {
|
||
|
const { connection, credentials } = authContext;
|
||
|
if (!credentials) {
|
||
|
return callback(new error_1.MongoMissingCredentialsError('AuthContext must provide credentials.'));
|
||
|
}
|
||
|
const username = credentials.username;
|
||
|
const password = credentials.password;
|
||
|
const payload = new bson_1.Binary(Buffer.from(`\x00${username}\x00${password}`));
|
||
|
const command = {
|
||
|
saslStart: 1,
|
||
|
mechanism: 'PLAIN',
|
||
|
payload: payload,
|
||
|
autoAuthorize: 1
|
||
|
};
|
||
|
connection.command((0, utils_1.ns)('$external.$cmd'), command, undefined, callback);
|
||
|
}
|
||
|
}
|
||
|
exports.Plain = Plain;
|
||
|
//# sourceMappingURL=plain.js.map
|