plugair-sdk
v1.0.2
Published
PlugAir SDK for Node.js
Readme
PlugAir SDK for Node.js
Installation
npm install plugair-sdkCredentials from Environment Variables
export PLUGAIR_API_KEY=0123456789012345678901234567890123456789
export PLUGAIR_SHARED_SECRET=abcdefghijklmnopqrstuvwxyzabcdefghijklmnopqrstuvwxyzabcdefghijklUsage
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
PlugAirobject
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
Promiseobject
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
Promiseobject
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
