Sha256: dc484b60706a8ef6be175892b61e8b35f0775fdcb8e8ca7171bf29d55e8532e2

Contents?: true

Size: 937 Bytes

Versions: 4

Compression:

Stored size: 937 Bytes

Contents

##
# Singature 类提供生成JS-SDK权限验证的签名的方法。如:
# link      = 'https://product-wechat.company.com/home'
# ticket    = // your ticket
# timestamp = Time.now.to_i.to_s
# nonce     = SecureRandom.hex 8
# singature = Wechat::JSAPI::Signature.create link, ticket, timestamp, nonce

class Wechat::JSAPI::Signature

  extend Wechat::Core::Common

  ##
  # 生成JS-SDK权限验证的签名
  # http://mp.weixin.qq.com/wiki/11/74ad127cc054f6b80759c40f77ec03db.html#.E9.99.84.E5.BD.951-JS-SDK.E4.BD.BF.E7.94.A8.E6.9D.83.E9.99.90.E7.AD.BE.E5.90.8D.E7.AE.97.E6.B3.95
  def self.create(link, ticket, timestamp, nonce)

    assert_present! :link,      link
    assert_present! :ticket,    ticket
    assert_present! :timestamp, timestamp
    assert_present! :nonce,     nonce

    Digest::SHA1.hexdigest [ "url=#{link}", "jsapi_ticket=#{ticket}", "timestamp=#{timestamp}", "noncestr=#{nonce}" ].sort.join('&')

  end

end

Version data entries

4 entries across 4 versions & 1 rubygems

Version Path
wechat-jsapi-1.1 lib/wechat/jsapi/signature.rb
wechat-jsapi-1.0 lib/wechat/jsapi/signature.rb
wechat-jsapi-0.1.3 lib/wechat/jsapi/signature.rb
wechat-jsapi-0.1.2 lib/wechat/jsapi/signature.rb