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.
- checksums.yaml +4 -4
- data/lib/jwt_auth_token.rb +25 -3
- metadata +16 -2
checksums.yaml
CHANGED
@@ -1,7 +1,7 @@
|
|
1
1
|
---
|
2
2
|
SHA1:
|
3
|
-
metadata.gz:
|
4
|
-
data.tar.gz:
|
3
|
+
metadata.gz: 40ffb7501e5b453384923aeb2a385e934bd951d5
|
4
|
+
data.tar.gz: 974e72cab347acb4e316ad6268b51b0f9d450665
|
5
5
|
SHA512:
|
6
|
-
metadata.gz:
|
7
|
-
data.tar.gz:
|
6
|
+
metadata.gz: da376b71cb2c97db96de084e7aebc2e3e5b4a5d897bcf8d5e8ee03e7495985c400dc46386a2848c46d4012126db85e6258b9965741325608d8d397209515a6cb
|
7
|
+
data.tar.gz: 371c54fc5e02082e96292b846b59611abd67b32115137a39dded87aca1019b83e414d029b5938ea676e88139def5383ce03f1549520814eec212a156105b865a
|
data/lib/jwt_auth_token.rb
CHANGED
@@ -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
|
-
|
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.
|
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.
|
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
|