devise-jwt-cookie 0.1.0

Sign up to get free protection for your applications and to get access to all the features.
checksums.yaml ADDED
@@ -0,0 +1,7 @@
1
+ ---
2
+ SHA256:
3
+ metadata.gz: c651a98107436a37d4411225bda3f600539a4732c3db026afb97f36ea0f076c9
4
+ data.tar.gz: d2f98c4f2fffbac7c616f1d01df9b22d941ae2242ca5fbab095a440ea665c9db
5
+ SHA512:
6
+ metadata.gz: 4662d4091164b5c24c41ab6c178733473d6b4557a9db394a8f9d35d0fa1ee6ba828b87a6202fdb26e1e6a106853fc3501a3358bc6258ea946b457db1bf330c3f
7
+ data.tar.gz: 0da03f68dabf6d4e26d0e94f699fa10ea30a0ced2cb37919e2eb10a341038431ed45ad67291698de8d372d15ba7f5dc37b3d1fc51aeea9ec53e3f8daf829922d
data/Gemfile ADDED
@@ -0,0 +1,3 @@
1
+ source 'https://rubygems.org'
2
+
3
+ gemspec
data/Gemfile.lock ADDED
@@ -0,0 +1,208 @@
1
+ PATH
2
+ remote: .
3
+ specs:
4
+ devise-jwt-cookie (0.1.0)
5
+ devise-jwt (~> 0.6.0)
6
+ dry-auto_inject (~> 0.6)
7
+ dry-configurable (~> 0.9, < 0.11)
8
+
9
+ GEM
10
+ remote: https://rubygems.org/
11
+ specs:
12
+ actioncable (5.2.4.2)
13
+ actionpack (= 5.2.4.2)
14
+ nio4r (~> 2.0)
15
+ websocket-driver (>= 0.6.1)
16
+ actionmailer (5.2.4.2)
17
+ actionpack (= 5.2.4.2)
18
+ actionview (= 5.2.4.2)
19
+ activejob (= 5.2.4.2)
20
+ mail (~> 2.5, >= 2.5.4)
21
+ rails-dom-testing (~> 2.0)
22
+ actionpack (5.2.4.2)
23
+ actionview (= 5.2.4.2)
24
+ activesupport (= 5.2.4.2)
25
+ rack (~> 2.0, >= 2.0.8)
26
+ rack-test (>= 0.6.3)
27
+ rails-dom-testing (~> 2.0)
28
+ rails-html-sanitizer (~> 1.0, >= 1.0.2)
29
+ actionview (5.2.4.2)
30
+ activesupport (= 5.2.4.2)
31
+ builder (~> 3.1)
32
+ erubi (~> 1.4)
33
+ rails-dom-testing (~> 2.0)
34
+ rails-html-sanitizer (~> 1.0, >= 1.0.3)
35
+ activejob (5.2.4.2)
36
+ activesupport (= 5.2.4.2)
37
+ globalid (>= 0.3.6)
38
+ activemodel (5.2.4.2)
39
+ activesupport (= 5.2.4.2)
40
+ activerecord (5.2.4.2)
41
+ activemodel (= 5.2.4.2)
42
+ activesupport (= 5.2.4.2)
43
+ arel (>= 9.0)
44
+ activestorage (5.2.4.2)
45
+ actionpack (= 5.2.4.2)
46
+ activerecord (= 5.2.4.2)
47
+ marcel (~> 0.3.1)
48
+ activesupport (5.2.4.2)
49
+ concurrent-ruby (~> 1.0, >= 1.0.2)
50
+ i18n (>= 0.7, < 2)
51
+ minitest (~> 5.1)
52
+ tzinfo (~> 1.1)
53
+ arel (9.0.0)
54
+ bcrypt (3.1.13)
55
+ builder (3.2.4)
56
+ byebug (11.0.1)
57
+ codeclimate-test-reporter (1.0.7)
58
+ simplecov
59
+ coderay (1.1.2)
60
+ concurrent-ruby (1.1.6)
61
+ crass (1.0.6)
62
+ devise (4.7.1)
63
+ bcrypt (~> 3.0)
64
+ orm_adapter (~> 0.1)
65
+ railties (>= 4.1.0)
66
+ responders
67
+ warden (~> 1.2.3)
68
+ devise-jwt (0.6.0)
69
+ devise (~> 4.0)
70
+ warden-jwt_auth (~> 0.4)
71
+ diff-lcs (1.3)
72
+ docile (1.3.2)
73
+ dry-auto_inject (0.7.0)
74
+ dry-container (>= 0.3.4)
75
+ dry-configurable (0.9.0)
76
+ concurrent-ruby (~> 1.0)
77
+ dry-core (~> 0.4, >= 0.4.7)
78
+ dry-container (0.7.2)
79
+ concurrent-ruby (~> 1.0)
80
+ dry-configurable (~> 0.1, >= 0.1.3)
81
+ dry-core (0.4.9)
82
+ concurrent-ruby (~> 1.0)
83
+ erubi (1.9.0)
84
+ globalid (0.4.2)
85
+ activesupport (>= 4.2.0)
86
+ i18n (1.8.2)
87
+ concurrent-ruby (~> 1.0)
88
+ json (2.3.0)
89
+ jwt (2.2.1)
90
+ loofah (2.4.0)
91
+ crass (~> 1.0.2)
92
+ nokogiri (>= 1.5.9)
93
+ mail (2.7.1)
94
+ mini_mime (>= 0.1.1)
95
+ marcel (0.3.3)
96
+ mimemagic (~> 0.3.2)
97
+ method_source (1.0.0)
98
+ mimemagic (0.3.4)
99
+ mini_mime (1.0.2)
100
+ mini_portile2 (2.4.0)
101
+ minitest (5.14.0)
102
+ nio4r (2.5.2)
103
+ nokogiri (1.10.9)
104
+ mini_portile2 (~> 2.4.0)
105
+ orm_adapter (0.5.0)
106
+ pry (0.13.0)
107
+ coderay (~> 1.1)
108
+ method_source (~> 1.0)
109
+ pry-byebug (3.7.0)
110
+ byebug (~> 11.0)
111
+ pry (~> 0.10)
112
+ rack (2.2.2)
113
+ rack-test (1.1.0)
114
+ rack (>= 1.0, < 3)
115
+ rails (5.2.4.2)
116
+ actioncable (= 5.2.4.2)
117
+ actionmailer (= 5.2.4.2)
118
+ actionpack (= 5.2.4.2)
119
+ actionview (= 5.2.4.2)
120
+ activejob (= 5.2.4.2)
121
+ activemodel (= 5.2.4.2)
122
+ activerecord (= 5.2.4.2)
123
+ activestorage (= 5.2.4.2)
124
+ activesupport (= 5.2.4.2)
125
+ bundler (>= 1.3.0)
126
+ railties (= 5.2.4.2)
127
+ sprockets-rails (>= 2.0.0)
128
+ rails-dom-testing (2.0.3)
129
+ activesupport (>= 4.2.0)
130
+ nokogiri (>= 1.6)
131
+ rails-html-sanitizer (1.3.0)
132
+ loofah (~> 2.3)
133
+ railties (5.2.4.2)
134
+ actionpack (= 5.2.4.2)
135
+ activesupport (= 5.2.4.2)
136
+ method_source
137
+ rake (>= 0.8.7)
138
+ thor (>= 0.19.0, < 2.0)
139
+ rake (12.3.3)
140
+ responders (3.0.0)
141
+ actionpack (>= 5.0)
142
+ railties (>= 5.0)
143
+ rspec (3.9.0)
144
+ rspec-core (~> 3.9.0)
145
+ rspec-expectations (~> 3.9.0)
146
+ rspec-mocks (~> 3.9.0)
147
+ rspec-core (3.9.1)
148
+ rspec-support (~> 3.9.1)
149
+ rspec-expectations (3.9.1)
150
+ diff-lcs (>= 1.2.0, < 2.0)
151
+ rspec-support (~> 3.9.0)
152
+ rspec-mocks (3.9.1)
153
+ diff-lcs (>= 1.2.0, < 2.0)
154
+ rspec-support (~> 3.9.0)
155
+ rspec-rails (3.9.1)
156
+ actionpack (>= 3.0)
157
+ activesupport (>= 3.0)
158
+ railties (>= 3.0)
159
+ rspec-core (~> 3.9.0)
160
+ rspec-expectations (~> 3.9.0)
161
+ rspec-mocks (~> 3.9.0)
162
+ rspec-support (~> 3.9.0)
163
+ rspec-support (3.9.2)
164
+ simplecov (0.17.0)
165
+ docile (~> 1.1)
166
+ json (>= 1.8, < 3)
167
+ simplecov-html (~> 0.10.0)
168
+ simplecov-html (0.10.2)
169
+ sprockets (3.7.2)
170
+ concurrent-ruby (~> 1.0)
171
+ rack (> 1, < 3)
172
+ sprockets-rails (3.2.1)
173
+ actionpack (>= 4.0)
174
+ activesupport (>= 4.0)
175
+ sprockets (>= 3.0.0)
176
+ sqlite3 (1.4.2)
177
+ thor (1.0.1)
178
+ thread_safe (0.3.6)
179
+ tzinfo (1.2.6)
180
+ thread_safe (~> 0.1)
181
+ warden (1.2.8)
182
+ rack (>= 2.0.6)
183
+ warden-jwt_auth (0.4.2)
184
+ dry-auto_inject (~> 0.6)
185
+ dry-configurable (~> 0.9, < 0.11)
186
+ jwt (~> 2.1)
187
+ warden (~> 1.2)
188
+ websocket-driver (0.7.1)
189
+ websocket-extensions (>= 0.1.0)
190
+ websocket-extensions (0.1.4)
191
+
192
+ PLATFORMS
193
+ ruby
194
+
195
+ DEPENDENCIES
196
+ bundler (> 1)
197
+ codeclimate-test-reporter (~> 1.0)
198
+ devise-jwt-cookie!
199
+ pry-byebug (~> 3.7)
200
+ rails (~> 5.0)
201
+ rake (~> 12.3)
202
+ rspec (~> 3.8)
203
+ rspec-rails (~> 3.5)
204
+ simplecov (= 0.17)
205
+ sqlite3 (~> 1.3)
206
+
207
+ BUNDLED WITH
208
+ 2.1.4
data/README.md ADDED
@@ -0,0 +1,55 @@
1
+ # Devise::JWT::Cookie
2
+
3
+ `devise-jwt-cookie` is a [devise](https://github.com/plataformatec/devise) extension based on [devise-jwt](https://github.com/waiting-for-dev/devise-jwt). It should be used alongside `devise-jwt`.
4
+
5
+ ## Installation
6
+
7
+ Add this line to your application's Gemfile:
8
+
9
+ ```ruby
10
+ gem 'devise-jwt', '~> 0.5.9'
11
+ ```
12
+
13
+ And then execute:
14
+
15
+ $ bundle
16
+
17
+ ## Usage
18
+
19
+ First you need to setup up and configure devise and devise-jwt. This gem hooks into devise-jwt to add an httpOnly cookie with the JWT.
20
+
21
+ ### Model configuration
22
+
23
+ You have to update the user model to be able to use the cookie method. For example:
24
+
25
+ ```ruby
26
+ class User < ApplicationRecord
27
+ devise :database_authenticatable,
28
+ :jwt_cookie_authenticatable,
29
+ :jwt_authenticatable, jwt_revocation_strategy: Blacklist
30
+ end
31
+ ```
32
+
33
+ ### Configuration reference
34
+
35
+ This library can be configured by calling `jwt_cookie` on the devise config object:
36
+
37
+ ```ruby
38
+ Devise.setup do |config|
39
+ config.jwt do |jwt|
40
+ # config for devise-jwt goes here
41
+ end
42
+ config.jwt_cookie do |jwt_cookie|
43
+ # ...
44
+ end
45
+ end
46
+ ```
47
+
48
+ #### name
49
+
50
+ The name of the cookie. Defaults to `access_token`.
51
+
52
+ #### domain
53
+
54
+ The domain the cookie should be issued to. Will be omitted if not set.
55
+
@@ -0,0 +1,38 @@
1
+ lib = File.expand_path('../lib', __FILE__)
2
+ $LOAD_PATH.unshift(lib) unless $LOAD_PATH.include?(lib)
3
+ require 'devise/jwt/cookie/version'
4
+
5
+ Gem::Specification.new do |spec|
6
+ spec.name = "devise-jwt-cookie"
7
+ spec.version = Devise::JWT::Cookie::VERSION
8
+ spec.authors = ["Niels van der Zanden"]
9
+ spec.email = ["niels@pharynx.nl"]
10
+
11
+ spec.summary = %q{Cookie-based JWT authentication for devise}
12
+ spec.description = %q{Cookie-based JWT authentication for devise with configurable token revocation strategies}
13
+ spec.homepage = "https://github.com/scarhand/devise-jwt-cookie"
14
+ spec.license = "MIT"
15
+
16
+ spec.files = `git ls-files -z`.split("\x0").reject do |f|
17
+ f.match(%r{^(test|spec|features)/})
18
+ end
19
+ spec.bindir = "exe"
20
+ spec.executables = spec.files.grep(%r{^exe/}) { |f| File.basename(f) }
21
+ spec.require_paths = ["lib"]
22
+
23
+ spec.add_dependency 'devise-jwt', '~> 0.6'
24
+ spec.add_dependency 'dry-auto_inject', '~> 0.6'
25
+ spec.add_dependency 'dry-configurable', '~> 0.9', '< 0.11'
26
+
27
+ spec.add_development_dependency "bundler", "> 1"
28
+ spec.add_development_dependency "rake", "~> 12.3"
29
+ spec.add_development_dependency "rspec", "~> 3.8"
30
+ spec.add_development_dependency "pry-byebug", "~> 3.7"
31
+ # Needed to test the rails fixture application
32
+ spec.add_development_dependency 'rails', '~> 5.0'
33
+ spec.add_development_dependency 'sqlite3', '~> 1.3'
34
+ spec.add_development_dependency 'rspec-rails', '~> 3.5'
35
+ # Test reporting
36
+ spec.add_development_dependency 'simplecov', '0.17'
37
+ spec.add_development_dependency 'codeclimate-test-reporter', '~> 1.0'
38
+ end
@@ -0,0 +1,29 @@
1
+ require 'dry/configurable'
2
+ require 'dry/auto_inject'
3
+ require 'devise/jwt/cookie/strategy'
4
+
5
+ # Authentication library
6
+ module Devise
7
+ def self.jwt_cookie
8
+ yield(Devise::JWT::Cookie.config)
9
+ end
10
+
11
+ add_module(:jwt_cookie_authenticatable, strategy: :jwt_cookie)
12
+
13
+ module JWT
14
+ module Cookie
15
+ extend Dry::Configurable
16
+
17
+ setting :name, 'access_token'
18
+ setting :domain
19
+
20
+ Import = Dry::AutoInject(config)
21
+ end
22
+ end
23
+ end
24
+
25
+ require 'devise/jwt/cookie/version'
26
+ require 'devise/jwt/cookie/railtie'
27
+ require 'devise/jwt/cookie/cookie_helper'
28
+ require 'devise/jwt/cookie/middleware'
29
+ require 'devise/jwt/cookie/models'
@@ -0,0 +1,23 @@
1
+ module Devise
2
+ module JWT
3
+ module Cookie
4
+ class CookieHelper
5
+ include Cookie::Import['name', 'domain']
6
+
7
+ def build(token)
8
+ res = {
9
+ value: token,
10
+ path: '/',
11
+ httponly: true
12
+ }
13
+ res[:domain] = domain if domain.present?
14
+ [name, res]
15
+ end
16
+
17
+ def read_from(cookies)
18
+ cookies[name]
19
+ end
20
+ end
21
+ end
22
+ end
23
+ end
@@ -0,0 +1,22 @@
1
+ module Devise
2
+ module JWT
3
+ module Cookie
4
+ class Middleware
5
+ ENV_KEY = 'warden-jwt_auth.token'
6
+
7
+ def initialize(app)
8
+ @app = app
9
+ end
10
+
11
+ def call(env)
12
+ status, headers, response = @app.call(env)
13
+ if headers['Authorization'] && env[ENV_KEY]
14
+ name, cookie = CookieHelper.new.build(env[ENV_KEY])
15
+ Rack::Utils.set_cookie_header!(headers, name, cookie)
16
+ end
17
+ [status, headers, response]
18
+ end
19
+ end
20
+ end
21
+ end
22
+ end
@@ -0,0 +1,6 @@
1
+ require 'devise/jwt/cookie/models/jwt_cookie_authenticatable'
2
+
3
+ module Devise
4
+ module Models
5
+ end
6
+ end
@@ -0,0 +1,19 @@
1
+ require 'active_support/concern'
2
+
3
+ module Devise
4
+ module Models
5
+ module JwtCookieAuthenticatable
6
+ extend ActiveSupport::Concern
7
+
8
+ included do
9
+ def self.find_for_jwt_authentication(sub)
10
+ find_by(primary_key => sub)
11
+ end
12
+ end
13
+
14
+ def jwt_subject
15
+ id
16
+ end
17
+ end
18
+ end
19
+ end
@@ -0,0 +1,13 @@
1
+ require 'rails/railtie'
2
+
3
+ module Devise
4
+ module JWT
5
+ module Cookie
6
+ class Railtie < Rails::Railtie
7
+ initializer 'devise-jwt-cookie-middleware' do |app|
8
+ app.middleware.insert_before Warden::JWTAuth::Middleware, Devise::JWT::Cookie::Middleware
9
+ end
10
+ end
11
+ end
12
+ end
13
+ end
@@ -0,0 +1,36 @@
1
+ require 'warden'
2
+
3
+ module Devise
4
+ module JWT
5
+ module Cookie
6
+ # Warden strategy to authenticate an user through a JWT token in
7
+ # an http-only cookie
8
+ class Strategy < Warden::Strategies::Base
9
+ def valid?
10
+ !token.nil?
11
+ end
12
+
13
+ def store?
14
+ false
15
+ end
16
+
17
+ def authenticate!
18
+ # FIXME support aud
19
+ aud = nil
20
+ user = Warden::JWTAuth::UserDecoder.new.call(token, scope, aud)
21
+ success!(user)
22
+ rescue ::JWT::DecodeError => exception
23
+ fail!(exception.message)
24
+ end
25
+
26
+ private
27
+
28
+ def token
29
+ @token ||= CookieHelper.new.read_from(cookies)
30
+ end
31
+ end
32
+ end
33
+ end
34
+ end
35
+
36
+ Warden::Strategies.add(:jwt_cookie, Devise::JWT::Cookie::Strategy)
@@ -0,0 +1,7 @@
1
+ module Devise
2
+ module JWT
3
+ module Cookie
4
+ VERSION = '0.1.0'
5
+ end
6
+ end
7
+ end
metadata ADDED
@@ -0,0 +1,231 @@
1
+ --- !ruby/object:Gem::Specification
2
+ name: devise-jwt-cookie
3
+ version: !ruby/object:Gem::Version
4
+ version: 0.1.0
5
+ platform: ruby
6
+ authors:
7
+ - Niels van der Zanden
8
+ autorequire:
9
+ bindir: exe
10
+ cert_chain: []
11
+ date: 2020-04-01 00:00:00.000000000 Z
12
+ dependencies:
13
+ - !ruby/object:Gem::Dependency
14
+ name: devise-jwt
15
+ requirement: !ruby/object:Gem::Requirement
16
+ requirements:
17
+ - - "~>"
18
+ - !ruby/object:Gem::Version
19
+ version: '0.6'
20
+ type: :runtime
21
+ prerelease: false
22
+ version_requirements: !ruby/object:Gem::Requirement
23
+ requirements:
24
+ - - "~>"
25
+ - !ruby/object:Gem::Version
26
+ version: '0.6'
27
+ - !ruby/object:Gem::Dependency
28
+ name: dry-auto_inject
29
+ requirement: !ruby/object:Gem::Requirement
30
+ requirements:
31
+ - - "~>"
32
+ - !ruby/object:Gem::Version
33
+ version: '0.6'
34
+ type: :runtime
35
+ prerelease: false
36
+ version_requirements: !ruby/object:Gem::Requirement
37
+ requirements:
38
+ - - "~>"
39
+ - !ruby/object:Gem::Version
40
+ version: '0.6'
41
+ - !ruby/object:Gem::Dependency
42
+ name: dry-configurable
43
+ requirement: !ruby/object:Gem::Requirement
44
+ requirements:
45
+ - - "~>"
46
+ - !ruby/object:Gem::Version
47
+ version: '0.9'
48
+ - - "<"
49
+ - !ruby/object:Gem::Version
50
+ version: '0.11'
51
+ type: :runtime
52
+ prerelease: false
53
+ version_requirements: !ruby/object:Gem::Requirement
54
+ requirements:
55
+ - - "~>"
56
+ - !ruby/object:Gem::Version
57
+ version: '0.9'
58
+ - - "<"
59
+ - !ruby/object:Gem::Version
60
+ version: '0.11'
61
+ - !ruby/object:Gem::Dependency
62
+ name: bundler
63
+ requirement: !ruby/object:Gem::Requirement
64
+ requirements:
65
+ - - ">"
66
+ - !ruby/object:Gem::Version
67
+ version: '1'
68
+ type: :development
69
+ prerelease: false
70
+ version_requirements: !ruby/object:Gem::Requirement
71
+ requirements:
72
+ - - ">"
73
+ - !ruby/object:Gem::Version
74
+ version: '1'
75
+ - !ruby/object:Gem::Dependency
76
+ name: rake
77
+ requirement: !ruby/object:Gem::Requirement
78
+ requirements:
79
+ - - "~>"
80
+ - !ruby/object:Gem::Version
81
+ version: '12.3'
82
+ type: :development
83
+ prerelease: false
84
+ version_requirements: !ruby/object:Gem::Requirement
85
+ requirements:
86
+ - - "~>"
87
+ - !ruby/object:Gem::Version
88
+ version: '12.3'
89
+ - !ruby/object:Gem::Dependency
90
+ name: rspec
91
+ requirement: !ruby/object:Gem::Requirement
92
+ requirements:
93
+ - - "~>"
94
+ - !ruby/object:Gem::Version
95
+ version: '3.8'
96
+ type: :development
97
+ prerelease: false
98
+ version_requirements: !ruby/object:Gem::Requirement
99
+ requirements:
100
+ - - "~>"
101
+ - !ruby/object:Gem::Version
102
+ version: '3.8'
103
+ - !ruby/object:Gem::Dependency
104
+ name: pry-byebug
105
+ requirement: !ruby/object:Gem::Requirement
106
+ requirements:
107
+ - - "~>"
108
+ - !ruby/object:Gem::Version
109
+ version: '3.7'
110
+ type: :development
111
+ prerelease: false
112
+ version_requirements: !ruby/object:Gem::Requirement
113
+ requirements:
114
+ - - "~>"
115
+ - !ruby/object:Gem::Version
116
+ version: '3.7'
117
+ - !ruby/object:Gem::Dependency
118
+ name: rails
119
+ requirement: !ruby/object:Gem::Requirement
120
+ requirements:
121
+ - - "~>"
122
+ - !ruby/object:Gem::Version
123
+ version: '5.0'
124
+ type: :development
125
+ prerelease: false
126
+ version_requirements: !ruby/object:Gem::Requirement
127
+ requirements:
128
+ - - "~>"
129
+ - !ruby/object:Gem::Version
130
+ version: '5.0'
131
+ - !ruby/object:Gem::Dependency
132
+ name: sqlite3
133
+ requirement: !ruby/object:Gem::Requirement
134
+ requirements:
135
+ - - "~>"
136
+ - !ruby/object:Gem::Version
137
+ version: '1.3'
138
+ type: :development
139
+ prerelease: false
140
+ version_requirements: !ruby/object:Gem::Requirement
141
+ requirements:
142
+ - - "~>"
143
+ - !ruby/object:Gem::Version
144
+ version: '1.3'
145
+ - !ruby/object:Gem::Dependency
146
+ name: rspec-rails
147
+ requirement: !ruby/object:Gem::Requirement
148
+ requirements:
149
+ - - "~>"
150
+ - !ruby/object:Gem::Version
151
+ version: '3.5'
152
+ type: :development
153
+ prerelease: false
154
+ version_requirements: !ruby/object:Gem::Requirement
155
+ requirements:
156
+ - - "~>"
157
+ - !ruby/object:Gem::Version
158
+ version: '3.5'
159
+ - !ruby/object:Gem::Dependency
160
+ name: simplecov
161
+ requirement: !ruby/object:Gem::Requirement
162
+ requirements:
163
+ - - '='
164
+ - !ruby/object:Gem::Version
165
+ version: '0.17'
166
+ type: :development
167
+ prerelease: false
168
+ version_requirements: !ruby/object:Gem::Requirement
169
+ requirements:
170
+ - - '='
171
+ - !ruby/object:Gem::Version
172
+ version: '0.17'
173
+ - !ruby/object:Gem::Dependency
174
+ name: codeclimate-test-reporter
175
+ requirement: !ruby/object:Gem::Requirement
176
+ requirements:
177
+ - - "~>"
178
+ - !ruby/object:Gem::Version
179
+ version: '1.0'
180
+ type: :development
181
+ prerelease: false
182
+ version_requirements: !ruby/object:Gem::Requirement
183
+ requirements:
184
+ - - "~>"
185
+ - !ruby/object:Gem::Version
186
+ version: '1.0'
187
+ description: Cookie-based JWT authentication for devise with configurable token revocation
188
+ strategies
189
+ email:
190
+ - niels@pharynx.nl
191
+ executables: []
192
+ extensions: []
193
+ extra_rdoc_files: []
194
+ files:
195
+ - Gemfile
196
+ - Gemfile.lock
197
+ - README.md
198
+ - devise-jwt-cookie.gemspec
199
+ - lib/devise/jwt/cookie.rb
200
+ - lib/devise/jwt/cookie/cookie_helper.rb
201
+ - lib/devise/jwt/cookie/middleware.rb
202
+ - lib/devise/jwt/cookie/models.rb
203
+ - lib/devise/jwt/cookie/models/jwt_cookie_authenticatable.rb
204
+ - lib/devise/jwt/cookie/railtie.rb
205
+ - lib/devise/jwt/cookie/strategy.rb
206
+ - lib/devise/jwt/cookie/version.rb
207
+ homepage: https://github.com/scarhand/devise-jwt-cookie
208
+ licenses:
209
+ - MIT
210
+ metadata: {}
211
+ post_install_message:
212
+ rdoc_options: []
213
+ require_paths:
214
+ - lib
215
+ required_ruby_version: !ruby/object:Gem::Requirement
216
+ requirements:
217
+ - - ">="
218
+ - !ruby/object:Gem::Version
219
+ version: '0'
220
+ required_rubygems_version: !ruby/object:Gem::Requirement
221
+ requirements:
222
+ - - ">="
223
+ - !ruby/object:Gem::Version
224
+ version: '0'
225
+ requirements: []
226
+ rubyforge_project:
227
+ rubygems_version: 2.7.6.2
228
+ signing_key:
229
+ specification_version: 4
230
+ summary: Cookie-based JWT authentication for devise
231
+ test_files: []