jwt_auth_token 1.0.5 → 1.0.6

Sign up to get free protection for your applications and to get access to all the features.
Files changed (3) hide show
  1. checksums.yaml +4 -4
  2. data/lib/jwt_auth_token.rb +25 -3
  3. metadata +16 -2
checksums.yaml CHANGED
@@ -1,7 +1,7 @@
1
1
  ---
2
2
  SHA1:
3
- metadata.gz: 41b981a2454aedf19ba5e464fc265fd0400a5da1
4
- data.tar.gz: 881d352293ea114c8740c65ea8ca5c4a25b26632
3
+ metadata.gz: 40ffb7501e5b453384923aeb2a385e934bd951d5
4
+ data.tar.gz: 974e72cab347acb4e316ad6268b51b0f9d450665
5
5
  SHA512:
6
- metadata.gz: 418d1104f050acca7b4601be92ef8cb71b4db94c9df891961a845c417ce22e1fc920c9e424f874e731b0981e0bbe2fb564b737d154e559e619f973762f752ed9
7
- data.tar.gz: 445080cbedece1eced1b232e099e45c49f71d04cb9220ddc2edda8f26c360b0334dc5880ab520a3b61ca6c04ece5cbc83b7aed95248e1355b27fe1257d0530fb
6
+ metadata.gz: da376b71cb2c97db96de084e7aebc2e3e5b4a5d897bcf8d5e8ee03e7495985c400dc46386a2848c46d4012126db85e6258b9965741325608d8d397209515a6cb
7
+ data.tar.gz: 371c54fc5e02082e96292b846b59611abd67b32115137a39dded87aca1019b83e414d029b5938ea676e88139def5383ce03f1549520814eec212a156105b865a
@@ -30,10 +30,13 @@ def current_user
30
30
  @_current_user ||= OpenStruct.new(@decoded_token) if is_valid_token?
31
31
  end
32
32
 
33
+ def header_token
34
+ @_header_token ||= request.headers[header_name] rescue nil
35
+ end
36
+
33
37
  def is_valid_token?
34
38
  begin
35
- token = request.headers[header_name]
36
- @decoded_token = JSON.parse(JWT.decode(token, jwt_hmac_secret, true, { :algorithm => jwt_algorithm })[0])
39
+ @decoded_token = JSON.parse(JWT.decode(header_token, jwt_hmac_secret, true, { :algorithm => jwt_algorithm })[0])
37
40
  return validate_keys
38
41
  rescue Exception => e
39
42
  return false
@@ -42,4 +45,23 @@ end
42
45
 
43
46
  def validate_keys
44
47
  !!@_validate_keys ||= (@decoded_token.keys && ["id", "email"]).any?
45
- end
48
+ end
49
+
50
+ ROUTES = {}
51
+ def restClientUrl(url, payload = {})
52
+ @_get_routers ||= get_routers
53
+ _req = OpenStruct.new(ROUTES[url])
54
+ data = RestClient::Request.execute(method: _req.verb, url: _req.url, payload: payload, headers: { "#{header_name}" => header_token})
55
+ {code: data.code, data: JSON.parse(data.body), headers: data.headers, cookies: data.cookies}
56
+ end
57
+
58
+ def get_routers
59
+ Rails.application.routes.routes.map do |route|
60
+ path = route.path.spec.to_s.gsub(/\(\.:format\)/, "").gsub(/:[a-zA-Z_]+/, "1")
61
+ next if path.include?("rails")
62
+ port = ":#{route.defaults[:port]}" if route.defaults[:port]
63
+ complete_url = "#{route.defaults[:host]}#{port}#{path}"
64
+ verb = %W{ GET POST PUT PATCH DELETE }.grep(route.verb).first.downcase.to_sym rescue nil
65
+ ROUTES["#{route.name}_url"] = { path: path, verb: verb, url: complete_url}
66
+ end
67
+ end
metadata CHANGED
@@ -1,7 +1,7 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: jwt_auth_token
3
3
  version: !ruby/object:Gem::Version
4
- version: 1.0.5
4
+ version: 1.0.6
5
5
  platform: ruby
6
6
  authors:
7
7
  - Afzal Lakdawala
@@ -38,6 +38,20 @@ dependencies:
38
38
  - - ">="
39
39
  - !ruby/object:Gem::Version
40
40
  version: '0'
41
+ - !ruby/object:Gem::Dependency
42
+ name: rest-client
43
+ requirement: !ruby/object:Gem::Requirement
44
+ requirements:
45
+ - - ">="
46
+ - !ruby/object:Gem::Version
47
+ version: '0'
48
+ type: :runtime
49
+ prerelease: false
50
+ version_requirements: !ruby/object:Gem::Requirement
51
+ requirements:
52
+ - - ">="
53
+ - !ruby/object:Gem::Version
54
+ version: '0'
41
55
  description: ''
42
56
  email: afzalmlakdawala@gmail.com
43
57
  executables: []
@@ -65,7 +79,7 @@ required_rubygems_version: !ruby/object:Gem::Requirement
65
79
  version: '0'
66
80
  requirements: []
67
81
  rubyforge_project:
68
- rubygems_version: 2.4.3
82
+ rubygems_version: 2.6.12
69
83
  signing_key:
70
84
  specification_version: 4
71
85
  summary: Json web token, setting data to header