| 123456789101112131415161718192021222324252627282930313233343536 | "use strict";Object.defineProperty(exports, "__esModule", { value: true });exports.X509 = void 0;const error_1 = require("../../error");const utils_1 = require("../../utils");const auth_provider_1 = require("./auth_provider");class X509 extends auth_provider_1.AuthProvider {    async prepare(handshakeDoc, authContext) {        const { credentials } = authContext;        if (!credentials) {            throw new error_1.MongoMissingCredentialsError('AuthContext must provide credentials.');        }        return { ...handshakeDoc, speculativeAuthenticate: x509AuthenticateCommand(credentials) };    }    async auth(authContext) {        const connection = authContext.connection;        const credentials = authContext.credentials;        if (!credentials) {            throw new error_1.MongoMissingCredentialsError('AuthContext must provide credentials.');        }        const response = authContext.response;        if (response?.speculativeAuthenticate) {            return;        }        await connection.commandAsync((0, utils_1.ns)('$external.$cmd'), x509AuthenticateCommand(credentials), undefined);    }}exports.X509 = X509;function x509AuthenticateCommand(credentials) {    const command = { authenticate: 1, mechanism: 'MONGODB-X509' };    if (credentials.username) {        command.user = credentials.username;    }    return command;}//# sourceMappingURL=x509.js.map
 |