wechat-validation 0.2 → 0.2.1

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
checksums.yaml CHANGED
@@ -1,7 +1,7 @@
1
1
  ---
2
2
  SHA1:
3
- metadata.gz: 1c629402eaab5269660d6b09eb47cdf8d673c120
4
- data.tar.gz: 8e95ee8fbeff736beebc9982fc0780d0cb1b30b9
3
+ metadata.gz: 7e976d382b0682e853dfc2b5ca3300cf709ceef1
4
+ data.tar.gz: 78b7cce53115b76455f2c649e542a221917f0931
5
5
  SHA512:
6
- metadata.gz: 81b33bb566aed05505355c73221b6be6891f84162aae844ca1fd45c50899f8013d7f1f0a45b7988c1193475aff0b349890740823654be99994ceeb47b907f105
7
- data.tar.gz: c35f3b713556ebfbe79373cc5fe0cc3e55d37f1de01ea5015fd6566f2e43e2fcdd616c19530ed8e2a6fd72161ada5fea49c886fe63bb20b451ed6cf3a0e1db3e
6
+ metadata.gz: 18fbf333ab842251899bce8e91ef54accd63f17856715e198c9b4a1d2f6c6767237409fed730e6a8df9460f318196667ffa420926b663e63ac5761b783b47d26
7
+ data.tar.gz: 96a68cb7b7ef16e86e363425204f2781586c5ea248155fc7a9abeccf39bf72d04f21f9e974c670d03dcc562388941d6deb7096fa374f155bf008f09ec6471088
data/.gitignore CHANGED
@@ -1,6 +1,5 @@
1
1
  /.bundle/
2
2
  /.yardoc
3
- /Gemfile.lock
4
3
  /_yardoc/
5
4
  /coverage/
6
5
  /doc/
data/CHANGELOG.md CHANGED
@@ -1,7 +1,11 @@
1
1
  # Wechat Validation Change Log 微信验证库变更日志
2
2
 
3
3
  ## v0.1
4
- 1. Wechat::Validation.sign method.
4
+ 1. Wechat::Validation.sign method
5
5
 
6
6
  ## v0.2
7
- 1. Deprecated the Wechat Validation ::sign method, use Wechat Validation Signature ::create instead.
7
+ 1. Deprecated the Wechat Validation ::sign method, use Wechat Validation Signature ::create instead
8
+
9
+ ## v0.2.1
10
+ 1. Improve the Ruby Gem Specification to depend on [wechat-core](https://github.com/topbitdu/wechat-core) v0.4
11
+ 2. Improve the Signature class for the argument validation
data/Gemfile.lock ADDED
@@ -0,0 +1,39 @@
1
+ PATH
2
+ remote: .
3
+ specs:
4
+ wechat-validation (0.2.1)
5
+ wechat-core (>= 0.4)
6
+
7
+ GEM
8
+ remote: https://rubygems.org/
9
+ specs:
10
+ diff-lcs (1.2.5)
11
+ httpclient (2.8.2.4)
12
+ rake (10.5.0)
13
+ rspec (3.4.0)
14
+ rspec-core (~> 3.4.0)
15
+ rspec-expectations (~> 3.4.0)
16
+ rspec-mocks (~> 3.4.0)
17
+ rspec-core (3.4.4)
18
+ rspec-support (~> 3.4.0)
19
+ rspec-expectations (3.4.0)
20
+ diff-lcs (>= 1.2.0, < 2.0)
21
+ rspec-support (~> 3.4.0)
22
+ rspec-mocks (3.4.1)
23
+ diff-lcs (>= 1.2.0, < 2.0)
24
+ rspec-support (~> 3.4.0)
25
+ rspec-support (3.4.1)
26
+ wechat-core (0.4)
27
+ httpclient (>= 2.8)
28
+
29
+ PLATFORMS
30
+ ruby
31
+
32
+ DEPENDENCIES
33
+ bundler (~> 1.11)
34
+ rake (~> 10.0)
35
+ rspec (~> 3.0)
36
+ wechat-validation!
37
+
38
+ BUNDLED WITH
39
+ 1.12.5
data/README.md CHANGED
@@ -1,11 +1,23 @@
1
1
  # Wechat Validation 微信服务器验证库
2
2
 
3
+ [![Documentation](http://img.shields.io/badge/docs-rdoc.info-blue.svg)](http://www.rubydoc.info/gems/wechat-validation/frames)
3
4
  [![License](https://img.shields.io/badge/license-MIT-green.svg)](http://opensource.org/licenses/MIT)
5
+
4
6
  [![Gem Version](https://badge.fury.io/rb/wechat-validation.svg)](https://badge.fury.io/rb/wechat-validation)
7
+ [![Dependency Status](https://gemnasium.com/badges/github.com/topbitdu/wechat-validation.svg)](https://gemnasium.com/github.com/topbitdu/wechat-validation)
5
8
 
6
9
  The Wechat Server Validation Library is a code base for validating the HTTP server in Wechat.
7
10
  微信服务器验证库用于处理[微信服务器验证请求](http://mp.weixin.qq.com/wiki/8/f9a0b8382e0b77d87b3bcc1ce6fbc104.html#.E7.AC.AC.E4.BA.8C.E6.AD.A5.EF.BC.9A.E9.AA.8C.E8.AF.81.E6.9C.8D.E5.8A.A1.E5.99.A8.E5.9C.B0.E5.9D.80.E7.9A.84.E6.9C.89.E6.95.88.E6.80.A7)。
8
11
 
12
+
13
+
14
+ ## Recent Update
15
+
16
+ Check out the [Road Map](ROADMAP.md) to find out what's the next.
17
+ Check out the [Change Log](CHANGELOG.md) to find out what's new.
18
+
19
+
20
+
9
21
  ## Installation
10
22
 
11
23
  Add this line to your application's Gemfile:
@@ -22,28 +34,35 @@ Or install it yourself as:
22
34
 
23
35
  $ gem install wechat-validation
24
36
 
37
+
38
+
25
39
  ## Usage
26
40
 
27
41
  ```ruby
28
- actual_signature = ::Wechat::Validation.sign(params[:nonce], params[:timestamp], Rails.application.secrets.wechat_validation_token)
42
+ actual_signature = ::Wechat::Validation::Signature.create(params[:nonce], params[:timestamp], Rails.application.secrets.wechat_validation_token)
29
43
  if params[:signature]==actual_signature
30
44
  # Correct
31
45
  else
32
46
  # Wrong
33
47
  end
34
48
  ```
49
+
50
+
51
+
35
52
  ## Development
36
53
 
37
54
  After checking out the repo, run `bin/setup` to install dependencies. Then, run `rake spec` to run the tests. You can also run `bin/console` for an interactive prompt that will allow you to experiment.
38
55
 
39
56
  To install this gem onto your local machine, run `bundle exec rake install`. To release a new version, update the version number in `version.rb`, and then run `bundle exec rake release`, which will create a git tag for the version, push git commits and tags, and push the `.gem` file to [rubygems.org](https://rubygems.org).
40
57
 
58
+
59
+
41
60
  ## Contributing
42
61
 
43
62
  Bug reports and pull requests are welcome on GitHub at https://github.com/topbitdu/wechat-validation. This project is intended to be a safe, welcoming space for collaboration, and contributors are expected to adhere to the [Contributor Covenant](http://contributor-covenant.org) code of conduct.
44
63
 
45
64
 
65
+
46
66
  ## License
47
67
 
48
68
  The gem is available as open source under the terms of the [MIT License](http://opensource.org/licenses/MIT).
49
-
data/ROADMAP.md CHANGED
@@ -1,7 +1,15 @@
1
1
  # Wechat Validation Road Map 微信验证库路线图
2
2
 
3
3
  ## v0.1
4
- 1. Wechat::Validation.sign method.
4
+ 1. Wechat::Validation.sign method
5
5
 
6
6
  ## v0.2
7
- 1. Deprecated the Wechat Validation ::sign method, use Wechat Validation Signature ::create instead.
7
+ 1. Improve the Wechat Validation to deprecate the ::sign method, use Wechat Validation Signature ::create instead
8
+
9
+ ## v0.2.1
10
+ 1. Improve the Ruby Gem Specification to depend on [wechat-core](https://github.com/topbitdu/wechat-core) v0.4
11
+ 2. Improve the Signature class for the argument validation
12
+
13
+ ## v1.0
14
+ 1. Remove the deprecated classes & methods
15
+ 2. Improve the Signature class for argument validation
data/_config.yml ADDED
@@ -0,0 +1 @@
1
+ markdown: kramdown
data/bin/console CHANGED
@@ -1,7 +1,7 @@
1
1
  #!/usr/bin/env ruby
2
2
 
3
- require "bundler/setup"
4
- require "wechat/validation"
3
+ require 'bundler/setup'
4
+ require 'wechat/validation'
5
5
 
6
6
  # You can add fixtures and/or initialization code here to make experimenting
7
7
  # with your gem easier. You can also use a different console, if you like.
@@ -10,5 +10,5 @@ require "wechat/validation"
10
10
  # require "pry"
11
11
  # Pry.start
12
12
 
13
- require "irb"
13
+ require 'irb'
14
14
  IRB.start
@@ -1,3 +1,5 @@
1
+ require 'wechat/core'
2
+
1
3
  require 'wechat/validation/version'
2
4
 
3
5
  require 'wechat/validation/signature'
@@ -1,5 +1,7 @@
1
1
  class Wechat::Validation::Signature
2
2
 
3
+ extend Wechat::Core::Common
4
+
3
5
  # 验证服务器地址的有效性
4
6
  # http://mp.weixin.qq.com/wiki/8/f9a0b8382e0b77d87b3bcc1ce6fbc104.html#.E7.AC.AC.E4.BA.8C.E6.AD.A5.EF.BC.9A.E9.AA.8C.E8.AF.81.E6.9C.8D.E5.8A.A1.E5.99.A8.E5.9C.B0.E5.9D.80.E7.9A.84.E6.9C.89.E6.95.88.E6.80.A7
5
7
  #
@@ -10,7 +12,13 @@ class Wechat::Validation::Signature
10
12
  # 2. 将三个参数字符串拼接成一个字符串进行sha1加密
11
13
  # 3. 开发者获得加密后的字符串可与signature对比,标识该请求来源于微信
12
14
  def self.create(nonce, timestamp, token)
13
- Digest::SHA1.hexdigest [ nonce, timestamp, token ].sort.join
15
+
16
+ assert_present! :nonce, nonce
17
+ assert_present! :timestamp, timestamp
18
+ assert_present! :token, token
19
+
20
+ Digest::SHA1.hexdigest [ nonce.to_s, timestamp.to_s, token.to_s ].sort.join
21
+
14
22
  end
15
23
 
16
24
  end
@@ -1,5 +1,5 @@
1
1
  module Wechat
2
2
  module Validation
3
- VERSION = '0.2'.freeze
3
+ VERSION = '0.2.1'.freeze
4
4
  end
5
5
  end
@@ -26,8 +26,10 @@ Gem::Specification.new do |spec|
26
26
  spec.executables = spec.files.grep(%r{^exe/}) { |f| File.basename(f) }
27
27
  spec.require_paths = [ 'lib' ]
28
28
 
29
+ spec.add_dependency 'wechat-core', '~> 0.4'
30
+
29
31
  spec.add_development_dependency 'bundler', '~> 1.11'
30
- spec.add_development_dependency 'rake', '~> 10.0'
31
- spec.add_development_dependency 'rspec', '~> 3.0'
32
+ spec.add_development_dependency 'rake', '~> 10.0'
33
+ spec.add_development_dependency 'rspec', '~> 3.0'
32
34
 
33
35
  end
metadata CHANGED
@@ -1,15 +1,29 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: wechat-validation
3
3
  version: !ruby/object:Gem::Version
4
- version: '0.2'
4
+ version: 0.2.1
5
5
  platform: ruby
6
6
  authors:
7
7
  - Topbit Du
8
8
  autorequire:
9
9
  bindir: exe
10
10
  cert_chain: []
11
- date: 2016-02-29 00:00:00.000000000 Z
11
+ date: 2017-01-12 00:00:00.000000000 Z
12
12
  dependencies:
13
+ - !ruby/object:Gem::Dependency
14
+ name: wechat-core
15
+ requirement: !ruby/object:Gem::Requirement
16
+ requirements:
17
+ - - "~>"
18
+ - !ruby/object:Gem::Version
19
+ version: '0.4'
20
+ type: :runtime
21
+ prerelease: false
22
+ version_requirements: !ruby/object:Gem::Requirement
23
+ requirements:
24
+ - - "~>"
25
+ - !ruby/object:Gem::Version
26
+ version: '0.4'
13
27
  - !ruby/object:Gem::Dependency
14
28
  name: bundler
15
29
  requirement: !ruby/object:Gem::Requirement
@@ -66,10 +80,12 @@ files:
66
80
  - CHANGELOG.md
67
81
  - CODE_OF_CONDUCT.md
68
82
  - Gemfile
83
+ - Gemfile.lock
69
84
  - LICENSE.txt
70
85
  - README.md
71
86
  - ROADMAP.md
72
87
  - Rakefile
88
+ - _config.yml
73
89
  - bin/console
74
90
  - bin/setup
75
91
  - lib/wechat/validation.rb
@@ -96,7 +112,7 @@ required_rubygems_version: !ruby/object:Gem::Requirement
96
112
  version: '0'
97
113
  requirements: []
98
114
  rubyforge_project:
99
- rubygems_version: 2.4.5.1
115
+ rubygems_version: 2.6.4
100
116
  signing_key:
101
117
  specification_version: 4
102
118
  summary: Wechat Server Validation Library 微信服务器验证库