Sha256: bbd4abf1a48783a1d8c97ff9308db954635f33cf9386981ba02545fe599005e5
Contents?: true
Size: 672 Bytes
Versions: 4
Compression:
Stored size: 672 Bytes
Contents
require 'openssl' require 'base64' module Stream class Signer @key = nil def initialize(key) @key = key.to_s @sha1 = OpenSSL::Digest.new('sha1') end def urlSafeB64encode(value) value.gsub('+', '-').gsub('/', '_').gsub(/^=+/, '').gsub(/=+$/, '') end def sign_message(message) key = Digest::SHA1.digest @key.to_s token = Base64.strict_encode64(OpenSSL::HMAC.digest(@sha1, key, message)) self.urlSafeB64encode(token) end def sign(feed_slug, user_id) self.sign_message("#{feed_slug}#{user_id}") end end end
Version data entries
4 entries across 4 versions & 1 rubygems
Version | Path |
---|---|
stream-ruby-2.2.3 | lib/stream/signer.rb |
stream-ruby-2.2.2 | lib/stream/signer.rb |
stream-ruby-2.2.1 | lib/stream/signer.rb |
stream-ruby-2.2 | lib/stream/signer.rb |