Sha256: 4a5512c87a4d686ff07a59d7a057e473f0e2468b74a55f8a14b605d06e3d9548
Contents?: true
Size: 616 Bytes
Versions: 12
Compression:
Stored size: 616 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(feed_slug, user_id) message = "#{feed_slug}#{user_id}" key = Digest::SHA1.digest @key.to_s token = Base64.strict_encode64(OpenSSL::HMAC.digest(@sha1, key, message)) self.urlSafeB64encode(token) end end end
Version data entries
12 entries across 12 versions & 1 rubygems