Sha256: e876e77983744576ed5f39e2f0e8de6801b01180beb08c9aca11bc23271ec732

Contents?: true

Size: 618 Bytes

Versions: 11

Compression:

Stored size: 618 Bytes

Contents

require 'openssl'
require 'base64'

module Stream
  class Signer
    @key = nil

    def initialize(key)
      @key = key.to_s
    end

    def self.create_user_token(user_id, payload = {}, api_secret)
      payload['user_id'] = user_id
      JWT.encode(payload, api_secret, 'HS256')
    end

    def self.create_jwt_token(resource, action, api_secret, feed_id = nil, user_id = nil)
      payload = {
        resource: resource,
        action: action
      }
      payload['feed_id'] = feed_id if feed_id
      payload['user_id'] = user_id if user_id

      JWT.encode(payload, api_secret, 'HS256')
    end
  end
end

Version data entries

11 entries across 11 versions & 1 rubygems

Version Path
stream-ruby-5.1.0 lib/stream/signer.rb
stream-ruby-5.0.0 lib/stream/signer.rb
stream-ruby-4.6.0 lib/stream/signer.rb
stream-ruby-4.5.0 lib/stream/signer.rb
stream-ruby-4.4.0 lib/stream/signer.rb
stream-ruby-4.3.0 lib/stream/signer.rb
stream-ruby-4.2.0 lib/stream/signer.rb
stream-ruby-4.1.0 lib/stream/signer.rb
stream-ruby-4.0.2 lib/stream/signer.rb
stream-ruby-4.0.1 lib/stream/signer.rb
stream-ruby-4.0.0 lib/stream/signer.rb