Commit f31b9072af098e55611223aab2d59559d7b4e97a
1 parent
053e577d
Exists in
master
Fix bug
Showing
1 changed file
with
6 additions
and
4 deletions
Show diff stats
lib/dingtalk/client.rb
@@ -9,11 +9,13 @@ module Dingtalk | @@ -9,11 +9,13 @@ module Dingtalk | ||
9 | end | 9 | end |
10 | 10 | ||
11 | def response_json(return_str) | 11 | def response_json(return_str) |
12 | + the_timestamp = timestamp | ||
13 | + the_nonce = nonce | ||
12 | { | 14 | { |
13 | - msg_signature: signature(return_str), | 15 | + msg_signature: signature(return_str, the_timestamp, the_nonce), |
14 | encrypt: encrypt(return_str), | 16 | encrypt: encrypt(return_str), |
15 | - timeStamp: timestamp, | ||
16 | - nonce: nonce | 17 | + timeStamp: the_timestamp, |
18 | + nonce: the_nonce | ||
17 | } | 19 | } |
18 | end | 20 | end |
19 | 21 | ||
@@ -21,7 +23,7 @@ module Dingtalk | @@ -21,7 +23,7 @@ module Dingtalk | ||
21 | encrypt = Dingtalk::Prpcrypt.encrypt(aes_key, return_str, Dingtalk.suite_key) | 23 | encrypt = Dingtalk::Prpcrypt.encrypt(aes_key, return_str, Dingtalk.suite_key) |
22 | end | 24 | end |
23 | 25 | ||
24 | - def signature(return_str) | 26 | + def signature(return_str, timestamp, nonce) |
25 | sort_params = [Dingtalk.suite_token, timestamp, nonce, encrypt(return_str)].sort.join | 27 | sort_params = [Dingtalk.suite_token, timestamp, nonce, encrypt(return_str)].sort.join |
26 | Digest::SHA1.hexdigest(sort_params) | 28 | Digest::SHA1.hexdigest(sort_params) |
27 | end | 29 | end |