UNPKG

@anddev-oss/verdaccio-htpasswd-azure

Version:

htpasswd auth plugin for Verdaccio that saves in Azure Blob

48 lines 2.35 kB
"use strict"; 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