@anddev-oss/verdaccio-htpasswd-azure
Version:
htpasswd auth plugin for Verdaccio that saves in Azure Blob
48 lines • 2.35 kB
JavaScript
;
Object.defineProperty(exports, "__esModule", { value: true });
exports.setupConnectionStringAuth = setupConnectionStringAuth;
exports.setupDefaultAzureCredentialAuth = setupDefaultAzureCredentialAuth;
exports.setupStorageSharedKeyCredential = setupStorageSharedKeyCredential;
const storage_blob_1 = require("@azure/storage-blob");
const identity_1 = require("@azure/identity");
const constants_1 = require("./constants");
function setupConnectionStringAuth(logger, connectionString, containerName) {
if (!connectionString) {
logger.error(`${constants_1.LOGGER_PREFIX}: Connection string is required!`);
throw new Error('Connection string is required!');
}
try {
const blobClient = storage_blob_1.BlobServiceClient.fromConnectionString(connectionString);
const containerClient = blobClient.getContainerClient(containerName);
return { blobClient, containerClient };
}
catch (ex) {
logger.error({ ex }, `${constants_1.LOGGER_PREFIX}: Error creating Azure blob client! @{ex}`);
throw ex;
}
}
function setupDefaultAzureCredentialAuth(logger, accountName, containerName, accountDomain) {
try {
const credential = new identity_1.DefaultAzureCredential();
const blobClient = new storage_blob_1.BlobServiceClient(`https://${accountName}.${accountDomain}`, credential);
const containerClient = blobClient.getContainerClient(containerName);
return { blobClient, containerClient };
}
catch (ex) {
logger.error({ ex }, `${constants_1.LOGGER_PREFIX}: Error creating Azure blob client with Azure CLI authentication! @{ex}`);
throw ex;
}
}
function setupStorageSharedKeyCredential(logger, accountName, accountKey, containerName, accountDomain) {
try {
const credential = new storage_blob_1.StorageSharedKeyCredential(accountName, accountKey);
const blobClient = new storage_blob_1.BlobServiceClient(`https://${accountName}.${accountDomain}`, credential);
const containerClient = blobClient.getContainerClient(containerName);
return { blobClient, containerClient };
}
catch (ex) {
logger.error({ ex }, `${constants_1.LOGGER_PREFIX}: Error creating Azure blob client with managed identity! @{ex}`);
throw ex;
}
}
//# sourceMappingURL=azureAuth.js.map