npm.io
5.0.0 • Published 7 years ago

@blinkmobile/bm-identity

Licence
ISC
Version
5.0.0
Deps
7
Size
52 kB
Vulns
6
Weekly
0
DeprecatedThis package is deprecated

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 blinkMobileIdentity = new BlinkMobileIdentity();

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
  });