JSPM

  • Created
  • Published
  • Downloads 12864
  • Score
    100M100P100Q161241F
  • License Apache-2.0

A JS client to access the Adobe I/O token vending machine

Package Exports

  • @adobe/aio-lib-core-tvm
  • @adobe/aio-lib-core-tvm/lib/TvmClient.js

This package does not declare an exports field, so the exports above have been automatically detected and optimized by JSPM instead. If any package subpath is missing, it is recommended to post an issue to the original package (@adobe/aio-lib-core-tvm) to support the "exports" field. If that is not possible, create a JSPM override to customize the exports field for this package.

Readme

Version Downloads/week Node.js CI License Codecov
Coverage

Adobe I/O Lib Core Token Vending Machine

A JS client to access the token vending machine.

For more details on the server side, goto adobe/aio-tvm

Install

npm install @adobe/aio-lib-core-tvm

Use

const TvmClient = require('@adobe/aio-lib-core-tvm')
// init
const tvm = await TvmClient.init({ ow: { auth: '<myauth>', namespace: '<mynamespace>' } })
// init with retryOptions
const tvm = await TvmClient.init({ ow: { auth: '<myauth>', namespace: '<mynamespace>' }, retryOptions: { maxRetries: 5, initialDelayInMillis: 100} })

// aws s3
const awsS3Credentials = await tvm.getAwsS3Credentials()
const aws = require('aws-sdk')
const s3 = new aws.S3(awsS3Credentials)
// ...operations on s3 object

// azure blob
const azureBlobCredentials = await tvm.getAzureBlobCredentials()
const azure = require('@azure/storage-blob')
const azureCreds = new azure.AnonymousCredential()
const pipeline = azure.newPipeline(azureCreds)
const containerClientPrivate = new azure.ContainerClient(azureBlobCredentials.sasURLPrivate, pipeline)
const containerClientPublic = new azure.ContainerClient(azureBlobCredentials.sasURLPublic, pipeline)
// ...operations on containerClientPrivate and containerClientPublic

// azure cosmos
const azureCosmosCredentials = await tvm.getAzureCosmosCredentials()
const cosmos = require('@azure/cosmos')
const container = new cosmos.CosmosClient({ endpoint: azureCosmosCredentials.endpoint, tokenProvider: async () => azureCosmosCredentials.resourceToken })
                            .database(azureCosmosCredentials.databaseId)
                            .container(azureCosmosCredentials.containerId)
const data = await container.item('<itemKey>', azureCosmosCredentials.partitionKey).read()
// ...operations on items within azureCosmosCredentials.partitionKey

Explore

goto API

Debug

set DEBUG=@adobe/aio-lib-core-tvm* to see debug logs.

Contributing

Contributions are welcomed! Read the Contributing Guide for more information.

Licensing

This project is licensed under the Apache V2 License. See LICENSE for more information.