Plugair SDK for Ruby
Installation
Add this line to your application's Gemfile:
gem 'plugair-sdk'
And then execute:
$ bundle
Or install it yourself as:
$ gem install plugair-sdk
Credentials from Environment Variables
export PLUGAIR_API_KEY=0123456789012345678901234567890123456789
export PLUGAIR_SHARED_SECRET=abcdefghijklmnopqrstuvwxyzabcdefghijklmnopqrstuvwxyzabcdefghijkl
Usage
require 'plugair-sdk'
begin
pa = PlugAir.new
challenge = pa.generate_challenge
result = 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=='
)
serial_number = result['serialNumber']
auth_result = result['authResult']
if auth_result == PlugAir::AUTH_RESULT_OK then
p 'PlugAir auth is OK'
end
rescue PlugAirAuthError => e
p 'PlugAirAuthError: ' + e.
rescue PlugAirApiKeyError => e
p 'PlugAirApiKeyError: ' + e.
rescue PlugAirUnkownError => e
p 'PlugAirUnkownError'
end
API Documents
Initialize
pa = PlugAir.new(api_key, shared_secret)
- Parameters
- api_key
String
- Hard coded API key (optional) - shared_secret
String
- Hard coded shared secret (optional)
- api_key
- Response
PlugAir
object
Generate challenge
pa.generate_challenge
- Parameters
- none
- Response
String
- challenge
Verfiy
pa.verify(credential_key, auth_key, auth_data)
- Parameters
- credential_key
String
- Client credential key from smartphone - auth_key
String
- Client authentication key from smartphone - auth_data
String
- Client authentication data from smartphone
- credential_key
- Response
Object
- Authentication result- authResult
String
- PlugAir::AUTH_RESULT_OK, PlugAir::AUTH_RESULT_NG, PlugAir::AUTH_RESULT_OTHER_APP_PLUG - serialNumber
String
- 9 Bytes serialNumber in Hex - apps
Array
- store correct iOS/Android app info when authResult is PlugAir::AUTH_RESULT_OTHER_APP_PLUG
Exceptions
PlugAirAuthError
- status
Integer
- Status code - reason
String
- Error reason - message
String
- Detail error message
PlugAirApiKeyError
API key error
PlugAirUnknownError
Unknown error
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