ruby-kafka-aws-iam 1.4.4 → 1.4.5
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 +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
         
     |