Layer::IdentityToken
Use this class to generate a token for authenticating the Layer SDK
Installation
Add this line to your application's Gemfile:
gem 'layer-identity_token'
And then execute:
$ bundle
Or install it yourself as:
$ gem install layer-identity_token
Setup
- Create a layer app
- Write down your provider ID(app's info tab)
- Create a new private key (app's authentication tab – we recommend to create keys for each developer and/or environments like: staging, development)
- Save the private keyand note thekey ID
Usage
token = Layer::IdentityToken.new(user_id, nonce, optional_expires_at)
token.encode
Integration
If you want to return this token as JSON and your framework (like Rails) uses #as_json you just write a controller like:
class ApiController
  def hello_layer
    token = Layer::IdentityToken.new(current_user.id, params[:nonce])
    render json: token
  end
end
Configuration
Per default the class looks for ENV variables like:
LAYER_PROVIDER_ID
LAYER_KEY_ID
LAYER_PRIVATE_KEY
If you can not set ENV variables you can also set them on the class directly:
Layer::IdentityToken.layer_provider_id = "layer:///providers/PROVIDER_ID"
Layer::IdentityToken.layer_key_id = "layer:///keys/KEY_ID"
Layer::IdentityToken.layer_private_key = "private_key"
The prefixes are not needed necessarily as we do some normalizing on these IDs for compatibility reasons.
Contributing
- Fork it
- Create your feature branch (git checkout -b my-new-feature)
- Commit your changes (git commit -am 'Add some feature')
- Push to the branch (git push origin my-new-feature)
- Create new Pull Request