UNPKG

@datastax/astra-db-ts

Version:
21 lines (20 loc) 776 B
// Copyright Datastax, Inc // SPDX-License-Identifier: Apache-2.0 import { forJSEnv } from '../../lib/utils.js'; import { StaticTokenProvider } from '../../lib/token-providers/static-token-provider.js'; export class UsernamePasswordTokenProvider extends StaticTokenProvider { constructor(username, password) { super(`Cassandra:${encodeB64(username)}:${encodeB64(password)}`); } } const encodeB64 = 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'); }, });