@ibm-functions/iam-token-manager

1.0.11 • Public • Published

IBM IAM Token Manager library

Build Status License JavaScript Style Guide

Installation

npm install @ibm-functions/iam-token-manager

Usage

Provide constructor parameters iamApikey and iamUrl (Optional) to create a new instance.

const itm = require('@ibm-functions/iam-token-manager')
const m = new itm({
    "iamApikey":"1234ABCD..."
})

Use the function getToken to get an IAM acess token. This function returns a Promise.

m.getToken().then(token => console.log('Authorization:', 'Bearer', token))

output:

Authorization: Bearer eyJhbGciOiJIUz......sgrKIi8hdFs

Use the function getAuthHeader to get a Bearer HTTP Authorization header including the token. This function returns a Promise.

m.getAuthHeader().then(header => console.log('Authorization:', header))

output:

Authorization: Bearer eyJhbGciOiJIUz......sgrKIi8hdFs

Using with OpenWhisk client library

const itm = require('@ibm-functions/iam-token-manager')
const m = new itm({
    "iamApikey":"1234ABCD..."
})
const openwhisk = require('openwhisk')
const ow = openwhisk({
    auth_handler:m
})

Note: Need to use a version of openwhisk that supports auth_handler plugin.

Using Within IBM Cloud Functions nodejs v8 runtime

The nodejs v8 runtime provides an openwhisk npm module already including the iam token manager plugin pre-installed, it will use the environment variable __OW_IAM_NAMESPACE_API_KEY as the iamApikey

var openwhisk = require('openwhisk');

function action() {
  var ow = openwhisk();
  return ow.actions.invoke('sample')
}

exports.main = action

License

Apache-2.0

/@ibm-functions/iam-token-manager/

    Package Sidebar

    Install

    npm i @ibm-functions/iam-token-manager

    Weekly Downloads

    553

    Version

    1.0.11

    License

    Apache-2.0

    Unpacked Size

    22.4 kB

    Total Files

    4

    Last publish

    Collaborators

    • csantanapr
    • rabbah
    • wsk
    • starpit
    • tardieu
    • kerryspchang
    • reggeenr