plugair-sdk
v1.0.2
Published
PlugAir SDK for Node.js
Downloads
12
Readme
PlugAir SDK for Node.js
Installation
npm install plugair-sdk
Credentials from Environment Variables
export PLUGAIR_API_KEY=0123456789012345678901234567890123456789
export PLUGAIR_SHARED_SECRET=abcdefghijklmnopqrstuvwxyzabcdefghijklmnopqrstuvwxyzabcdefghijkl
Usage
var PlugAir = require('plugair-sdk');
var pa = new PlugAir();
pa.generateChallenge()
.then((challenge)=>{
console.log('challenge', challenge);
// challenge 5ACB6CFB04DCFADC481E193F427FF477D5D74807317014F0B7668C495214D1F4
})
.catch((error)=>{
console.log('error', error);
})
;
pa.verify(
'pKjZIfryjyhGskAJPAnj9XoQy2q1vOOywLY9XiH5',
'XFFEaiyk3SCVfGCfI1ZxzhDqZcd96O95zKrG+5NCy1ib5wiNTtHKutVb4AL94HyCjOYDnt9QeSnqUtUJGJ8RG9DmqLl6vpG8imIyzFBsVGRUaF/lSpoRumFWj4uNGKgKWgRbNaCtBefJBkuToPctD4xqPDjI0/a1KAQDYTIyqhvrJcJIN8EXbB0EGxYyLlhmJJBTNMXf1bdvNINCi756xi5RusYj3Ismpo1NV7cDQ37Uy3W21lhKwCJXjlvr2jK7QPton0NxftCWjaeIwTHw/f61CzI4JHaGLft1KrZqCBptCs2fRpf7De3VL/mCaAKeoGAIERbtYfAeB3bOXpRA2A==',
'hI3wSJ3mkypCJH8doXx6wcStkvNwslYGlZ1tbRjNFGSoYfWT3tgE/3N8f7hLZyHA9XD/aLaJtW3py9DamGw7dcjsEZSHrQ+xKee+q6ExM3vLUu/98YHPDjExCXzVeYwmKz7xN88FWVEuSEiMA/d1xC/pyjJUs10bMH/ITs3UkrydI9MynuNH3C+TrnD2FnNkkcAvJRrsYMhxPcjLLIcBbEGuEIAtHoK8X10fXtrGEjr7eztht2lkaFfRSkdPUa/lCrHb+t3M9iX/6hd9HiY//BmOS0CTw07GiPjFM/WKc8OOieax1XQMKJ/J5g9WxMAJktVeCMOXNze4tdNtOgZh4DegFsrCp2Y3evnF12MXD+qM2vozFL4lDc8HygNIIx4t3L43c5hEDGHk0Nb/KcL+58RKqKovVHez1VOsfnC14jTOAqZlkRDXb6Fs3SOfsh8ogg+oqU56EWPwXAqC6Jy/ZQ=='
)
.then((result)=>{
console.log('verify result', result);
// verify result { serialNumber: '0124000000006B66EE', authResult: 'OK' }
if(result.authResult == PlugAir.AUTH_RESULT_OK){
console.log('### Auth OK');
}
})
.catch((error)=>{
console.log('error', error);
})
;
API Documents
Initialize
let plugAir = new PlugAir(apiKey, sharedSecret)
- Parameters
- apiKey
String
- Hard coded API key (optional) - sharedSecret
String
- Hard coded shared secret (optional)
- apiKey
- Response
PlugAir
object
Generate challenge
plugAir.generateChallenge(callback)
- Parameters
- callback
Function
- Callback function (optional)- Parameters
- error
Error
- Error object - challenge
String
- 32 Bytes challenge in Hex
- error
- Parameters
- callback
- Response
Promise
object
Verfiy
plugAir.verify(credentialKey, authKey, authData, callback)
- Parameters
- credentialKey
String
- Client credential key from smartphone - authKey
String
- Client authentication key from smartphone - authData
String
- Client authentication data from smartphone - callback
Function
- Callback function (optional)- Parameters
- error
Error
- Error object- status
String
- Status code - reason
String
- Error reason - message
String
- Detail error message
- status
- result
Object
- Authentication result- authResult
String
- 'OK', 'NG', 'OTHER_APP_PLUG' - serialNumber
String
- 9 Bytes serialNumber in Hex - apps
Array
- store correct iOS/Android app info when authResult is 'OTHER_APP_PLUG'
- authResult
- error
- Parameters
- credentialKey
- Response
Promise
object
Error reasons
| Reason | |:-----------------------------------------| | SERVER_API_KEY_AUTHENTICATION_ERROR | | CLIENT_CREDENTIAL_AUTHENTICATION_ERROR | | INVALID_CHALLENGE | | PLUGAIR_AUTHENTICATION_ERROR | | PLUGAIR_NOT_FOUND | | INTERNAL_SERVER_ERROR |
License
Apache 2.0