bm-identity.js
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
- If set to
true
, will use @blinkmobile/blinkmrc User Config to store on local file system for later use.
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
});