jwtear 1.0.6 → 1.1.9

Sign up to get free protection for your applications and to get access to all the features.
checksums.yaml CHANGED
@@ -1,7 +1,7 @@
1
1
  ---
2
2
  SHA256:
3
- metadata.gz: 214465c3eb8ab23270f4caa51276a8af5814821515d77a29e7b17b57106a27d1
4
- data.tar.gz: b9ecca972fcaa68d4729b1952b66f30aa9c6745070eb4a7261007162ed843277
3
+ metadata.gz: c204817c953daad64ae360c9ce596a455b56312d0ace1a1ed17052b8077a271c
4
+ data.tar.gz: 3cb27aa9ffb55b0c492eb72ed375298f40f75e33ebd98bb308e8086e51e54c07
5
5
  SHA512:
6
- metadata.gz: c4af5ebfe24cef925c15c87672b1572d37858a079d0b1d4044966999637597ff699c7a1be1a50a228329619c64c9ba003c76c9dcfc8b6262647493485c23164a
7
- data.tar.gz: 97544a55bc3b65a2342f083dab6a877ae4db6285d4a6187a8116ac10ce5d9f24b72ed488912a0c945c5eae04c0a3384d5f0e5f939ba482d95d00eac6dd76e5aa
6
+ metadata.gz: 9682f4285990d4b3a6b47d2dc44a619137c21dde563f52b9848123dd626318adfe1bf17ac8cb545e05f06b806ed24d37ccf57eefaae2b9a58cf8cabdc525e8f7
7
+ data.tar.gz: 4d6ae9c5588721153b4f919ec744466378cf20bcd1da1ce437f3fe2bcf2fbb8a74e9cac3329fa39bcf58e4a50bc1e2b880ab735cbd8bc3f4700345585adc8e67
@@ -1,4 +1,4 @@
1
- name: Ruby Gem
1
+ name: Push2RubyGems
2
2
 
3
3
  on:
4
4
  push:
@@ -18,18 +18,6 @@ jobs:
18
18
  with:
19
19
  ruby-version: 2.6.x
20
20
 
21
- - name: Publish to GPR
22
- run: |
23
- mkdir -p $HOME/.gem
24
- touch $HOME/.gem/credentials
25
- chmod 0600 $HOME/.gem/credentials
26
- printf -- "---\n:github: ${GEM_HOST_API_KEY}\n" > $HOME/.gem/credentials
27
- gem build *.gemspec
28
- gem push --KEY github --host https://rubygems.pkg.github.com/${OWNER} *.gem
29
- env:
30
- GEM_HOST_API_KEY: "Bearer ${{secrets.GITHUB_TOKEN}}"
31
- OWNER: ${{ github.repository_owner }}
32
-
33
21
  - name: Publish to RubyGems
34
22
  run: |
35
23
  mkdir -p $HOME/.gem
@@ -39,4 +27,4 @@ jobs:
39
27
  gem build *.gemspec
40
28
  gem push *.gem
41
29
  env:
42
- GEM_HOST_API_KEY: "${{secrets.RUBYGEMS_AUTH_TOKEN}}"
30
+ GEM_HOST_API_KEY: "${{secrets.GEM_HOST_API_KEY}}"
data/Gemfile.lock CHANGED
@@ -1,73 +1,70 @@
1
1
  PATH
2
2
  remote: .
3
3
  specs:
4
- jwtear (1.0.6)
4
+ jwtear (1.0.7)
5
5
  colorize (~> 0.8.1)
6
- gli (~> 2.19, >= 2.19.0)
7
- json-jwt (~> 1.11, >= 1.11.0)
6
+ gli (~> 2.20, >= 2.20.0)
7
+ json-jwt (~> 1.13.0)
8
8
  jwe (~> 0.4.0)
9
- tty-markdown (~> 0.6.0)
10
- tty-pager (~> 0.12.1)
9
+ tty-markdown (~> 0.7.0)
10
+ tty-pager (~> 0.14.0)
11
11
 
12
12
  GEM
13
13
  remote: https://rubygems.org/
14
14
  specs:
15
- activesupport (6.0.3.4)
15
+ activesupport (6.1.4.1)
16
16
  concurrent-ruby (~> 1.0, >= 1.0.2)
17
- i18n (>= 0.7, < 2)
18
- minitest (~> 5.1)
19
- tzinfo (~> 1.1)
20
- zeitwerk (~> 2.2, >= 2.2.2)
17
+ i18n (>= 1.6, < 2)
18
+ minitest (>= 5.1)
19
+ tzinfo (~> 2.0)
20
+ zeitwerk (~> 2.3)
21
21
  aes_key_wrap (1.1.0)
22
- bindata (2.4.8)
22
+ bindata (2.4.10)
23
23
  colorize (0.8.1)
24
- concurrent-ruby (1.1.7)
25
- equatable (0.6.1)
26
- gli (2.19.2)
27
- i18n (1.8.5)
24
+ concurrent-ruby (1.1.9)
25
+ gli (2.20.1)
26
+ i18n (1.8.10)
28
27
  concurrent-ruby (~> 1.0)
29
28
  json-jwt (1.13.0)
30
29
  activesupport (>= 4.2)
31
30
  aes_key_wrap
32
31
  bindata
33
32
  jwe (0.4.0)
34
- kramdown (1.16.2)
35
- minitest (5.14.2)
36
- pastel (0.7.4)
37
- equatable (~> 0.6)
33
+ kramdown (2.3.1)
34
+ rexml
35
+ minitest (5.14.4)
36
+ pastel (0.8.0)
38
37
  tty-color (~> 0.5)
39
- rouge (3.25.0)
40
- strings (0.1.8)
41
- strings-ansi (~> 0.1)
42
- unicode-display_width (~> 1.5)
38
+ rexml (3.2.5)
39
+ rouge (3.26.0)
40
+ strings (0.2.1)
41
+ strings-ansi (~> 0.2)
42
+ unicode-display_width (>= 1.5, < 3.0)
43
43
  unicode_utils (~> 1.4)
44
44
  strings-ansi (0.2.0)
45
- thread_safe (0.3.6)
46
45
  tty-color (0.6.0)
47
- tty-markdown (0.6.0)
48
- kramdown (~> 1.16.2)
49
- pastel (~> 0.7.2)
50
- rouge (~> 3.3)
51
- strings (~> 0.1.4)
52
- tty-color (~> 0.4)
53
- tty-screen (~> 0.6)
54
- tty-pager (0.12.1)
55
- strings (~> 0.1.4)
56
- tty-screen (~> 0.6)
57
- tty-which (~> 0.4)
46
+ tty-markdown (0.7.0)
47
+ kramdown (>= 1.16.2, < 3.0)
48
+ pastel (~> 0.8)
49
+ rouge (~> 3.14)
50
+ strings (~> 0.2.0)
51
+ tty-color (~> 0.5)
52
+ tty-screen (~> 0.8)
53
+ tty-pager (0.14.0)
54
+ strings (~> 0.2.0)
55
+ tty-screen (~> 0.8)
58
56
  tty-screen (0.8.1)
59
- tty-which (0.4.2)
60
- tzinfo (1.2.8)
61
- thread_safe (~> 0.1)
62
- unicode-display_width (1.7.0)
57
+ tzinfo (2.0.4)
58
+ concurrent-ruby (~> 1.0)
59
+ unicode-display_width (2.0.0)
63
60
  unicode_utils (1.4.0)
64
- zeitwerk (2.4.1)
61
+ zeitwerk (2.4.2)
65
62
 
66
63
  PLATFORMS
67
- ruby
64
+ x86_64-linux
68
65
 
69
66
  DEPENDENCIES
70
67
  jwtear!
71
68
 
72
69
  BUNDLED WITH
73
- 2.1.4
70
+ 2.2.25
data/jwtear.gemspec CHANGED
@@ -18,11 +18,11 @@ Gem::Specification.new do |spec|
18
18
  spec.executables = ['jwtear']
19
19
  spec.require_paths = ["lib"]
20
20
 
21
- spec.add_dependency 'gli', '~> 2.19', '>= 2.19.0'
22
- spec.add_dependency 'json-jwt', '~> 1.11', '>= 1.11.0'
21
+ spec.add_dependency 'gli', '~> 2.20', '>= 2.20.0'
22
+ spec.add_dependency 'json-jwt', '~> 1.13.0'
23
23
  spec.add_dependency 'jwe', "~> 0.4.0"
24
- spec.add_dependency 'tty-markdown', "~> 0.6.0"
25
- spec.add_dependency 'tty-pager', "~> 0.12.1"
24
+ spec.add_dependency 'tty-markdown', "~> 0.7.0"
25
+ spec.add_dependency 'tty-pager', "~> 0.14.0"
26
26
  spec.add_dependency 'colorize', "~> 0.8.1"
27
27
 
28
28
  # spec.add_development_dependency('rake', '~> 0.9.2.2')
@@ -19,7 +19,7 @@ module JWTear
19
19
 
20
20
  # read key as a string or from file(eg. pub_key.pem)
21
21
  def read_key(key)
22
- if File.file?(File.absolute_path(key))
22
+ if File.exist?(key.to_s) && File.file?(key.to_s)
23
23
  File.read(File.absolute_path(key))
24
24
  else
25
25
  key
@@ -46,7 +46,7 @@ module JWTear
46
46
  end
47
47
  end
48
48
  ensure
49
- unless missing.empty?
49
+ unless missing.nil? or missing.empty?
50
50
  print_error "Missing dependencies!"
51
51
  print_warning "Please install as follows:"
52
52
  puts "gem install #{missing.join(' ')}"
@@ -1,3 +1,3 @@
1
1
  module JWTear
2
- VERSION = "1.0.6"
2
+ VERSION = "1.1.9"
3
3
  end
data/plugins/parse.rb CHANGED
@@ -1,3 +1,5 @@
1
+ require 'time'
2
+
1
3
  module JWTear
2
4
  module CLI
3
5
  extend GLI::App
@@ -83,10 +85,28 @@ module JWTear
83
85
  def print_jws_payload(payload)
84
86
  print_h2 "Payload"
85
87
  payload.each do |k, v|
86
- print_h3 "#{k}" , "#{v}"
88
+ if k == "iat" || k == "nbf"
89
+ print_h3 "#{k}" , "#{v}", "\tTIMESTAMP = #{Time.at(v.to_i)}".green
90
+ elsif k == "exp"
91
+ compare_time_with_now(k,v)
92
+ else
93
+ print_h3 "#{k}" , "#{v}"
94
+ end
87
95
  end
88
96
  end
89
97
 
98
+ def compare_time_with_now(k, timestamp)
99
+ if timestamp.nil?
100
+ return
101
+ end
102
+ readable_time = Time.at(timestamp.to_i)
103
+ if readable_time < Time.now
104
+ print_h3 "#{k}", "#{timestamp}", "\tTIMESTAMP = #{readable_time}\t(EXPIRED)".red
105
+ else
106
+ print_h3 "#{k}", "#{timestamp}", "\tTIMESTAMP = #{readable_time}".green
107
+ end
108
+ end
109
+
90
110
  def print_jws_sig(signature)
91
111
  print_h2 "Signature - B64 encoded"
92
112
  puts Base64.urlsafe_encode64(@token.signature, padding: false)
data/plugins/wiki.rb CHANGED
@@ -34,7 +34,7 @@ module JWTear
34
34
  require 'open-uri'
35
35
  print_status 'Updating wiki'
36
36
  current_wiki = File.expand_path(File.join(__dir__ , 'wiki', 'README.md'))
37
- updated_wiki = open('https://raw.githubusercontent.com/KINGSABRI/jwtear/master/plugins/wiki/README.md').read
37
+ updated_wiki = URI.open('https://raw.githubusercontent.com/KINGSABRI/jwtear/master/plugins/wiki/README.md').read
38
38
  if File.exists?(current_wiki) && File.writable?(current_wiki)
39
39
  File.write(current_wiki, updated_wiki)
40
40
  else
metadata CHANGED
@@ -1,55 +1,49 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: jwtear
3
3
  version: !ruby/object:Gem::Version
4
- version: 1.0.6
4
+ version: 1.1.9
5
5
  platform: ruby
6
6
  authors:
7
7
  - KING SABRI
8
8
  autorequire:
9
9
  bindir: bin
10
10
  cert_chain: []
11
- date: 2021-02-19 00:00:00.000000000 Z
11
+ date: 2021-08-31 00:00:00.000000000 Z
12
12
  dependencies:
13
13
  - !ruby/object:Gem::Dependency
14
14
  name: gli
15
15
  requirement: !ruby/object:Gem::Requirement
16
16
  requirements:
17
- - - "~>"
18
- - !ruby/object:Gem::Version
19
- version: '2.19'
20
17
  - - ">="
21
18
  - !ruby/object:Gem::Version
22
- version: 2.19.0
19
+ version: 2.20.0
20
+ - - "~>"
21
+ - !ruby/object:Gem::Version
22
+ version: '2.20'
23
23
  type: :runtime
24
24
  prerelease: false
25
25
  version_requirements: !ruby/object:Gem::Requirement
26
26
  requirements:
27
- - - "~>"
28
- - !ruby/object:Gem::Version
29
- version: '2.19'
30
27
  - - ">="
31
28
  - !ruby/object:Gem::Version
32
- version: 2.19.0
29
+ version: 2.20.0
30
+ - - "~>"
31
+ - !ruby/object:Gem::Version
32
+ version: '2.20'
33
33
  - !ruby/object:Gem::Dependency
34
34
  name: json-jwt
35
35
  requirement: !ruby/object:Gem::Requirement
36
36
  requirements:
37
37
  - - "~>"
38
38
  - !ruby/object:Gem::Version
39
- version: '1.11'
40
- - - ">="
41
- - !ruby/object:Gem::Version
42
- version: 1.11.0
39
+ version: 1.13.0
43
40
  type: :runtime
44
41
  prerelease: false
45
42
  version_requirements: !ruby/object:Gem::Requirement
46
43
  requirements:
47
44
  - - "~>"
48
45
  - !ruby/object:Gem::Version
49
- version: '1.11'
50
- - - ">="
51
- - !ruby/object:Gem::Version
52
- version: 1.11.0
46
+ version: 1.13.0
53
47
  - !ruby/object:Gem::Dependency
54
48
  name: jwe
55
49
  requirement: !ruby/object:Gem::Requirement
@@ -70,28 +64,28 @@ dependencies:
70
64
  requirements:
71
65
  - - "~>"
72
66
  - !ruby/object:Gem::Version
73
- version: 0.6.0
67
+ version: 0.7.0
74
68
  type: :runtime
75
69
  prerelease: false
76
70
  version_requirements: !ruby/object:Gem::Requirement
77
71
  requirements:
78
72
  - - "~>"
79
73
  - !ruby/object:Gem::Version
80
- version: 0.6.0
74
+ version: 0.7.0
81
75
  - !ruby/object:Gem::Dependency
82
76
  name: tty-pager
83
77
  requirement: !ruby/object:Gem::Requirement
84
78
  requirements:
85
79
  - - "~>"
86
80
  - !ruby/object:Gem::Version
87
- version: 0.12.1
81
+ version: 0.14.0
88
82
  type: :runtime
89
83
  prerelease: false
90
84
  version_requirements: !ruby/object:Gem::Requirement
91
85
  requirements:
92
86
  - - "~>"
93
87
  - !ruby/object:Gem::Version
94
- version: 0.12.1
88
+ version: 0.14.0
95
89
  - !ruby/object:Gem::Dependency
96
90
  name: colorize
97
91
  requirement: !ruby/object:Gem::Requirement
@@ -157,7 +151,7 @@ required_rubygems_version: !ruby/object:Gem::Requirement
157
151
  - !ruby/object:Gem::Version
158
152
  version: '0'
159
153
  requirements: []
160
- rubygems_version: 3.1.4
154
+ rubygems_version: 3.0.3.1
161
155
  signing_key:
162
156
  specification_version: 4
163
157
  summary: JWTear, a modular command-line tool to parse, create and manipulate JWT tokens