@datastax/astra-db-ts
Version:
Data API TypeScript client
25 lines (24 loc) • 1.02 kB
JavaScript
;
// Copyright Datastax, Inc
// SPDX-License-Identifier: Apache-2.0
Object.defineProperty(exports, "__esModule", { value: true });
exports.UsernamePasswordTokenProvider = void 0;
const utils_js_1 = require("../../lib/utils.js");
const static_token_provider_js_1 = require("../../lib/token-providers/static-token-provider.js");
class UsernamePasswordTokenProvider extends static_token_provider_js_1.StaticTokenProvider {
constructor(username, password) {
super(`Cassandra:${encodeB64(username)}:${encodeB64(password)}`);
}
}
exports.UsernamePasswordTokenProvider = UsernamePasswordTokenProvider;
const encodeB64 = (0, utils_js_1.forJSEnv)({
server: (input) => {
return Buffer.from(input, 'utf-8').toString('base64');
},
browser: (input) => {
return window.btoa(input);
},
unknown: () => {
throw new Error('Unable to encode username/password to base64... please provide the "Cassandra:[username_b64]:[password_b64]" token manually');
},
});