@blinkmobile/bm-identity

Helper functions for Blink Mobiles single identity


License
ISC
Install
npm install @blinkmobile/bm-identity@2.3.5

Documentation

bm-identity.js npm AppVeyor Status Travis CI Status Greenkeeper badge

Provides easy management of authenication for our CLI via a single identity.

Getting Started

npm install @blinkmobile/bm-identity --save
const BlinkMobileIdentity = require('@blinkmobile/bm-identity')
const tenant = 'ONEBLINK' || 'CIVICPLUS'
const blinkMobileIdentity = new BlinkMobileIdentity(tenant)

Usage

Login

If no LoginOptions are passed, a browser based login process will start. This is how users can login using a social account e.g. Google.

login (options: LoginOptions) => Promise{String}
interface LoginOptions {
  username?: String | Boolean; // Can also pass true, and username will be prompted for
  password?: String; // Will be prompted for password if username is truthy
  storeJwt?: Boolean; // Set to true to store jwt on local file system, defaults to false
  refreshToken?: Boolean; // Set to true will request a refresh token as well as an access token
}
blinkMobileIdentity.login().then(jwt => {
  // Use jwt access token.
})

storeJwt Option

Logout

logout () => Promise
blinkMobileIdentity.logout()

Get Access Token

To create an AccessToken using BlinkM Deployment Keys or retrieve the AccessToken stored after a successful login:

Using Deployment Keys

If the following environment variables are set:

  • BLINKM_ACCESS_KEY
  • BLINKM_SECRET_KEY

These will be used to create an AccessToken

getAccessToken () => Promise{string}
blinkMobileIdentity.getAccessToken().then(jwt => {
  // Use access token
})

Get Access Token Payload

Helper function to get the payload for a JWT

getPayload () => Promise{Object}
blinkMobileIdentity.getPayload().then(payload => {
  // Use payload
})