ruby-kafka-aws-iam 1.4.4 → 1.4.5
Sign up to get free protection for your applications and to get access to all the features.
- checksums.yaml +4 -4
- data/lib/kafka/sasl/awsmskiam.rb +24 -22
- data/lib/kafka/version.rb +1 -1
- metadata +2 -2
checksums.yaml
CHANGED
@@ -1,7 +1,7 @@
|
|
1
1
|
---
|
2
2
|
SHA256:
|
3
|
-
metadata.gz:
|
4
|
-
data.tar.gz:
|
3
|
+
metadata.gz: 410a10299e8244f0e25ca5d6cea717a54792caa24cf006674d2d2eb45124b646
|
4
|
+
data.tar.gz: 97492d2e16908532076a635049bddb7149ec374a282e6c3b13c20000fe0d523f
|
5
5
|
SHA512:
|
6
|
-
metadata.gz:
|
7
|
-
data.tar.gz:
|
6
|
+
metadata.gz: 95e075270ff241afba5b09f03ba18dddcf500022daa56077b2cfeb35a95ed66f69f3db356b7b4bb8a3f77a50bb4c44509d1197d4b936b8418723cce757259d76
|
7
|
+
data.tar.gz: 6f2a8046c8b4a77ea3980b5c6b3f88aa7df51a078451b97705defda0c4fcfcc8567407e39817542607ffcec3155c58009a56905550d72d8ec35ceb294b880010
|
data/lib/kafka/sasl/awsmskiam.rb
CHANGED
@@ -63,31 +63,31 @@ module Kafka
|
|
63
63
|
|
64
64
|
def authentication_payload(host:, time_now:)
|
65
65
|
{
|
66
|
-
'version'
|
67
|
-
'host'
|
68
|
-
'user-agent'
|
69
|
-
'action'
|
70
|
-
'x-amz-algorithm'
|
71
|
-
'x-amz-credential'
|
72
|
-
'x-amz-date'
|
73
|
-
'x-amz-signedheaders'
|
74
|
-
'x-amz-expires'
|
75
|
-
'x-amz-security-token'
|
76
|
-
'x-amz-signature'
|
77
|
-
}.to_json
|
66
|
+
'version' => "2020_10_22",
|
67
|
+
'host' => host,
|
68
|
+
'user-agent' => "ruby-kafka",
|
69
|
+
'action' => "kafka-cluster:Connect",
|
70
|
+
'x-amz-algorithm' => "AWS4-HMAC-SHA256",
|
71
|
+
'x-amz-credential' => @access_key_id + "/" + time_now.strftime("%Y%m%d") + "/" + @aws_region + "/kafka-cluster/aws4_request",
|
72
|
+
'x-amz-date' => time_now.strftime("%Y%m%dT%H%M%SZ"),
|
73
|
+
'x-amz-signedheaders' => "host",
|
74
|
+
'x-amz-expires' => "900",
|
75
|
+
'x-amz-security-token' => @session_token,
|
76
|
+
'x-amz-signature' => signature(host: host, time_now: time_now)
|
77
|
+
}.delete_if { |_, v| v.nil? }.to_json
|
78
78
|
end
|
79
79
|
|
80
80
|
def canonical_request(host:, time_now:)
|
81
81
|
"GET\n" +
|
82
|
-
|
83
|
-
|
84
|
-
|
85
|
-
|
86
|
-
|
82
|
+
"/\n" +
|
83
|
+
canonical_query_string(time_now: time_now) + "\n" +
|
84
|
+
canonical_headers(host: host) + "\n" +
|
85
|
+
signed_headers + "\n" +
|
86
|
+
hashed_payload
|
87
87
|
end
|
88
88
|
|
89
89
|
def canonical_query_string(time_now:)
|
90
|
-
|
90
|
+
params = {
|
91
91
|
"Action" => "kafka-cluster:Connect",
|
92
92
|
"X-Amz-Algorithm" => "AWS4-HMAC-SHA256",
|
93
93
|
"X-Amz-Credential" => @access_key_id + "/" + time_now.strftime("%Y%m%d") + "/" + @aws_region + "/kafka-cluster/aws4_request",
|
@@ -95,7 +95,9 @@ module Kafka
|
|
95
95
|
"X-Amz-Expires" => "900",
|
96
96
|
"X-Amz-Security-Token" => @session_token,
|
97
97
|
"X-Amz-SignedHeaders" => "host"
|
98
|
-
|
98
|
+
}.delete_if { |_, v| v.nil? }
|
99
|
+
|
100
|
+
URI.encode_www_form(params)
|
99
101
|
end
|
100
102
|
|
101
103
|
def canonical_headers(host:)
|
@@ -112,9 +114,9 @@ module Kafka
|
|
112
114
|
|
113
115
|
def string_to_sign(host:, time_now:)
|
114
116
|
"AWS4-HMAC-SHA256" + "\n" +
|
115
|
-
|
116
|
-
|
117
|
-
|
117
|
+
time_now.strftime("%Y%m%dT%H%M%SZ") + "\n" +
|
118
|
+
time_now.strftime("%Y%m%d") + "/" + @aws_region + "/kafka-cluster/aws4_request" + "\n" +
|
119
|
+
bin_to_hex(digest.digest(canonical_request(host: host, time_now: time_now)))
|
118
120
|
end
|
119
121
|
|
120
122
|
def signature(host:, time_now:)
|
data/lib/kafka/version.rb
CHANGED
metadata
CHANGED
@@ -1,14 +1,14 @@
|
|
1
1
|
--- !ruby/object:Gem::Specification
|
2
2
|
name: ruby-kafka-aws-iam
|
3
3
|
version: !ruby/object:Gem::Version
|
4
|
-
version: 1.4.
|
4
|
+
version: 1.4.5
|
5
5
|
platform: ruby
|
6
6
|
authors:
|
7
7
|
- Daniel Schierbeck
|
8
8
|
autorequire:
|
9
9
|
bindir: exe
|
10
10
|
cert_chain: []
|
11
|
-
date: 2022-03-
|
11
|
+
date: 2022-03-15 00:00:00.000000000 Z
|
12
12
|
dependencies:
|
13
13
|
- !ruby/object:Gem::Dependency
|
14
14
|
name: digest-crc
|