doorkeeper-grants_assertion 0.1.0 → 0.2.0
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/.gitignore +3 -0
- data/.travis.yml +1 -6
- data/Gemfile +6 -9
- data/README.md +71 -2
- data/Rakefile +8 -6
- data/doorkeeper-grants_assertion.gemspec +27 -8
- data/gemfiles/rails_4_2.gemfile +0 -3
- data/gemfiles/rails_4_2.gemfile.lock +68 -17
- data/gemfiles/rails_5_0.gemfile +0 -3
- data/gemfiles/rails_5_0.gemfile.lock +68 -17
- data/gemfiles/rails_latest_and_doorkeeper_latest.gemfile +0 -3
- data/gemfiles/rails_latest_and_doorkeeper_latest.gemfile.lock +68 -17
- data/lib/doorkeeper/grants_assertion.rb +5 -0
- data/lib/doorkeeper/grants_assertion/devise/omniauth.rb +33 -0
- data/lib/doorkeeper/grants_assertion/omniauth.rb +35 -0
- data/lib/doorkeeper/grants_assertion/railtie.rb +6 -0
- data/lib/doorkeeper/grants_assertion/version.rb +7 -0
- data/lib/doorkeeper/request/assertion.rb +2 -0
- metadata +115 -58
- data/spec/dummy/Rakefile +0 -7
- data/spec/dummy/app/controllers/application_controller.rb +0 -3
- data/spec/dummy/app/controllers/custom_authorizations_controller.rb +0 -7
- data/spec/dummy/app/controllers/full_protected_resources_controller.rb +0 -11
- data/spec/dummy/app/controllers/home_controller.rb +0 -17
- data/spec/dummy/app/controllers/metal_controller.rb +0 -11
- data/spec/dummy/app/controllers/semi_protected_resources_controller.rb +0 -11
- data/spec/dummy/app/helpers/application_helper.rb +0 -5
- data/spec/dummy/app/models/user.rb +0 -9
- data/spec/dummy/app/views/home/index.html.erb +0 -0
- data/spec/dummy/app/views/layouts/application.html.erb +0 -14
- data/spec/dummy/config.ru +0 -4
- data/spec/dummy/config/application.rb +0 -47
- data/spec/dummy/config/boot.rb +0 -4
- data/spec/dummy/config/database.yml +0 -15
- data/spec/dummy/config/environment.rb +0 -5
- data/spec/dummy/config/environments/development.rb +0 -29
- data/spec/dummy/config/environments/production.rb +0 -62
- data/spec/dummy/config/environments/test.rb +0 -53
- data/spec/dummy/config/initializers/backtrace_silencers.rb +0 -7
- data/spec/dummy/config/initializers/doorkeeper.rb +0 -92
- data/spec/dummy/config/initializers/secret_token.rb +0 -9
- data/spec/dummy/config/initializers/session_store.rb +0 -8
- data/spec/dummy/config/initializers/wrap_parameters.rb +0 -14
- data/spec/dummy/config/locales/doorkeeper.en.yml +0 -74
- data/spec/dummy/config/routes.rb +0 -52
- data/spec/dummy/db/migrate/20111122132257_create_users.rb +0 -10
- data/spec/dummy/db/migrate/20130902165751_create_doorkeeper_tables.rb +0 -41
- data/spec/dummy/db/migrate/20130902175349_add_owner_to_application.rb +0 -7
- data/spec/dummy/db/schema.rb +0 -66
- data/spec/dummy/script/rails +0 -6
- data/spec/factories/access_grant.rb +0 -9
- data/spec/factories/access_token.rb +0 -11
- data/spec/factories/application.rb +0 -6
- data/spec/requests/flows/assertion_spec.rb +0 -127
- data/spec/spec_helper.rb +0 -2
- data/spec/spec_helper_integration.rb +0 -28
- data/spec/support/dependencies/factory_girl.rb +0 -2
- data/spec/support/helpers/config_helper.rb +0 -9
- data/spec/support/helpers/model_helper.rb +0 -45
- data/spec/support/helpers/request_spec_helper.rb +0 -76
- data/spec/support/helpers/url_helper.rb +0 -19
- data/spec/support/shared/controllers_shared_context.rb +0 -60
- data/spec/support/shared/models_shared_examples.rb +0 -52
checksums.yaml
CHANGED
@@ -1,7 +1,7 @@
|
|
1
1
|
---
|
2
2
|
SHA1:
|
3
|
-
metadata.gz:
|
4
|
-
data.tar.gz:
|
3
|
+
metadata.gz: 7ff51a2816fe5e939a96a6dc6f20f5d277b5f3a0
|
4
|
+
data.tar.gz: 06f8b660742a4ed96ee2ef41a791a12d16290c9a
|
5
5
|
SHA512:
|
6
|
-
metadata.gz:
|
7
|
-
data.tar.gz:
|
6
|
+
metadata.gz: a78e1f07804f3f25ce1eed17dd6ee8bae657678dc7b6a3dd8e0f9c90de62fea659bffa6047910965083ec796091f4c83122f8cb874e9f4346aed546d093ae759
|
7
|
+
data.tar.gz: 9d8822d3cb8c532664800adb818c69a1c2f5e6279ab2554a7d91ec14c2665c7f7af85f1d9087238684cd731e313f3e11849ef701acf2ef53bc25528972ec2225
|
data/.gitignore
CHANGED
data/.travis.yml
CHANGED
@@ -1,10 +1,10 @@
|
|
1
1
|
language: ruby
|
2
2
|
|
3
3
|
rvm:
|
4
|
-
- 2.1
|
5
4
|
- 2.2.6
|
6
5
|
- 2.3.3
|
7
6
|
- 2.4
|
7
|
+
- 2.5
|
8
8
|
|
9
9
|
gemfile:
|
10
10
|
- gemfiles/rails_4_2.gemfile
|
@@ -12,10 +12,5 @@ gemfile:
|
|
12
12
|
- gemfiles/rails_latest_and_doorkeeper_latest.gemfile
|
13
13
|
|
14
14
|
matrix:
|
15
|
-
exclude:
|
16
|
-
- gemfile: gemfiles/rails_5_0.gemfile
|
17
|
-
rvm: 2.1
|
18
|
-
- gemfile: gemfiles/rails_latest_and_doorkeeper_latest.gemfile
|
19
|
-
rvm: 2.1
|
20
15
|
allowed_failures:
|
21
16
|
- gemfile: gemfiles/rails_latest_and_doorkeeper_latest.gemfile
|
data/Gemfile
CHANGED
@@ -1,13 +1,10 @@
|
|
1
|
-
|
1
|
+
# frozen_string_literal: true
|
2
2
|
|
3
|
-
|
4
|
-
gem 'rails', '~> 4.2.0'
|
5
|
-
|
6
|
-
gem 'doorkeeper', '~> 4.2.0'
|
3
|
+
source "https://rubygems.org"
|
7
4
|
|
8
|
-
|
9
|
-
gem
|
10
|
-
gem
|
11
|
-
gem
|
5
|
+
# Define Rails version
|
6
|
+
gem "doorkeeper", "~> 4.2.0"
|
7
|
+
gem "rails", "~> 4.2.0"
|
8
|
+
gem "sqlite3"
|
12
9
|
|
13
10
|
gemspec
|
data/README.md
CHANGED
@@ -8,11 +8,71 @@ https://github.com/doorkeeper-gem/doorkeeper/pull/249
|
|
8
8
|
## Installation
|
9
9
|
|
10
10
|
1. Add both gems to your `Gemfile`.
|
11
|
-
2. Add `assertion` as a `grant_flow` to your initializer.
|
11
|
+
2. Add `assertion` as a `grant_flow` to your initializer. There are multiple ways to use it:
|
12
|
+
- Reuse devise configuration (returns OmniAuth AuthHash)
|
13
|
+
- Direct Omniauth configuration (returns OmniAuth AuthHash)
|
14
|
+
- Other Alternatives (they are not OmniAuth AuthHash compatible)
|
12
15
|
|
13
16
|
___
|
14
17
|
|
15
|
-
|
18
|
+
|
19
|
+
|
20
|
+
### Reuse devise configuration
|
21
|
+
|
22
|
+
Will automagically load the OmniAuth configs from Devise, and will return a OmniAuth AuthHash.
|
23
|
+
NOTE: `server.client` will authenticate your client, if you dont need it delete `server.client` from the if.
|
24
|
+
|
25
|
+
```ruby
|
26
|
+
Doorkeeper.configure do
|
27
|
+
resource_owner_from_assertion do
|
28
|
+
if server.client && params[:provider] && params[:assertion]
|
29
|
+
auth = Doorkeeper::GrantsAssertion::Devise::OmniAuth.auth_hash(
|
30
|
+
provider: params.fetch(:provider),
|
31
|
+
assertion: params.fetch(:assertion)
|
32
|
+
)
|
33
|
+
User.where(email: auth.info.email).first if auth
|
34
|
+
end
|
35
|
+
end
|
36
|
+
# add your supported grant types and other extensions
|
37
|
+
grant_flows %w(assertion authorization_code implicit password client_credentials)
|
38
|
+
end
|
39
|
+
```
|
40
|
+
|
41
|
+
### Direct Omniauth configuration
|
42
|
+
|
43
|
+
Reuses OmniAuth strategy implementation, such as facebook or google.
|
44
|
+
This allows you to use the auth_hash, which will return a OmniAuth AuthHash
|
45
|
+
NOTE: `server.client` will authenticate your client, if you dont need it delete `server.client` from the if.
|
46
|
+
|
47
|
+
```ruby
|
48
|
+
Doorkeeper.configure do
|
49
|
+
resource_owner_from_assertion do
|
50
|
+
if server.client && params[:provider] && params[:assertion]
|
51
|
+
case params.fetch(:provider)
|
52
|
+
when "google"
|
53
|
+
auth = Doorkeeper::GrantsAssertion::OmniAuth.oauth2_wrapper(
|
54
|
+
provider: "google",
|
55
|
+
strategy_class: OmniAuth::Strategies:::GoogleOauth2,
|
56
|
+
client_id: ENV["GOOGLE_CLIENT_ID"],
|
57
|
+
client_secret: ENV["GOOGLE_CLIENT_SECRET"],
|
58
|
+
client_options: { skip_image_info: false },
|
59
|
+
assertion: params.fetch(:assertion)
|
60
|
+
).auth_hash rescue nil
|
61
|
+
unless auth.nil?
|
62
|
+
# your custom finders - just like in devise omniauth
|
63
|
+
User.find_by(google_id: auth['id'])
|
64
|
+
end
|
65
|
+
end
|
66
|
+
end
|
67
|
+
end
|
68
|
+
# add your supported grant types and other extensions
|
69
|
+
grant_flows %w(assertion authorization_code implicit password client_credentials)
|
70
|
+
end
|
71
|
+
```
|
72
|
+
|
73
|
+
### Other Alternatives
|
74
|
+
|
75
|
+
Also, lets you define your own way of authenticating resource owners via 3rd Party
|
16
76
|
applications. For example, via Facebook:
|
17
77
|
|
18
78
|
```ruby
|
@@ -48,3 +108,12 @@ IETF standard: http://tools.ietf.org/html/rfc7521
|
|
48
108
|
## Supported versions
|
49
109
|
|
50
110
|
Assertion grant extension for Doorkeeper is tested with Rails 4.2 and 5.0.
|
111
|
+
|
112
|
+
## Contributing
|
113
|
+
|
114
|
+
After adding the feature and funtionality, please run
|
115
|
+
```
|
116
|
+
bundle exec appraisal install
|
117
|
+
```
|
118
|
+
|
119
|
+
This will update gems in for travis ci tests.
|
data/Rakefile
CHANGED
@@ -1,8 +1,10 @@
|
|
1
|
-
|
2
|
-
require 'rspec/core/rake_task'
|
3
|
-
require 'appraisal'
|
1
|
+
# frozen_string_literal: true
|
4
2
|
|
5
|
-
|
3
|
+
require "bundler/gem_tasks"
|
4
|
+
require "rspec/core/rake_task"
|
5
|
+
require "appraisal"
|
6
|
+
|
7
|
+
desc "Default: run specs."
|
6
8
|
task :default => :spec
|
7
9
|
|
8
10
|
desc "Run all specs"
|
@@ -11,8 +13,8 @@ RSpec::Core::RakeTask.new(:spec)
|
|
11
13
|
namespace :doorkeeper do
|
12
14
|
desc "Install doorkeeper in dummy app"
|
13
15
|
task :install do
|
14
|
-
cd
|
15
|
-
system
|
16
|
+
cd "spec/dummy"
|
17
|
+
system "bundle exec rails g doorkeeper:install --force"
|
16
18
|
end
|
17
19
|
end
|
18
20
|
|
@@ -1,22 +1,41 @@
|
|
1
|
+
# coding: utf-8
|
2
|
+
# frozen_string_literal: true
|
3
|
+
|
4
|
+
lib = File.expand_path("../lib", __FILE__)
|
5
|
+
$LOAD_PATH.unshift(lib) unless $LOAD_PATH.include?(lib)
|
6
|
+
|
7
|
+
require "doorkeeper/grants_assertion/version"
|
8
|
+
|
1
9
|
Gem::Specification.new do |s|
|
2
10
|
s.name = 'doorkeeper-grants_assertion'
|
3
|
-
s.version =
|
11
|
+
s.version = Doorkeeper::GrantsAssertion::VERSION
|
4
12
|
s.authors = ['Tute Costa']
|
5
13
|
s.email = ['tutecosta@gmail.com']
|
6
|
-
s.homepage = "https://github.com/doorkeeper-gem/doorkeeper
|
14
|
+
s.homepage = "https://github.com/doorkeeper-gem/doorkeeper-grants-assertion"
|
7
15
|
s.summary = "Assertion grant extension for Doorkeeper."
|
8
16
|
s.description = "Assertion grant extension for Doorkeeper."
|
9
17
|
s.license = 'MIT'
|
10
18
|
|
11
|
-
s.files = `git ls-files`.split("\
|
12
|
-
|
19
|
+
s.files = `git ls-files -z`.split("\x0").reject { |f|
|
20
|
+
f.match(%r{^(test|spec|features)/})
|
21
|
+
}
|
22
|
+
s.test_files = ` /*`.split("\n")
|
13
23
|
s.require_paths = ["lib"]
|
14
24
|
|
15
25
|
s.add_dependency "railties", ">= 3.1"
|
16
26
|
s.add_dependency "doorkeeper", ">= 4.0"
|
27
|
+
|
17
28
|
s.add_development_dependency "rspec-rails", ">= 2.11.4"
|
18
|
-
s.add_development_dependency "capybara", "
|
19
|
-
s.add_development_dependency "
|
20
|
-
s.add_development_dependency "generator_spec", "~> 0.9.
|
21
|
-
s.add_development_dependency "database_cleaner", "~> 1.2
|
29
|
+
s.add_development_dependency "capybara", "~> 2.18.0"
|
30
|
+
s.add_development_dependency "factory_bot", "~> 4.8.2"
|
31
|
+
s.add_development_dependency "generator_spec", "~> 0.9.4"
|
32
|
+
s.add_development_dependency "database_cleaner", "~> 1.6.2"
|
33
|
+
s.add_development_dependency "pry", ">= 0.11.3"
|
34
|
+
s.add_development_dependency "appraisal", "~> 2.2.0"
|
35
|
+
s.add_development_dependency "omniauth-oauth2", "~> 1.5.0"
|
36
|
+
s.add_development_dependency "omniauth-facebook", "~> 4.0.0"
|
37
|
+
s.add_development_dependency "omniauth-google-oauth2", "~> 0.5.3"
|
38
|
+
s.add_development_dependency "webmock", "~> 3.3.0"
|
39
|
+
s.add_development_dependency "devise", "~> 4.4.3"
|
40
|
+
|
22
41
|
end
|
data/gemfiles/rails_4_2.gemfile
CHANGED
@@ -1,7 +1,7 @@
|
|
1
1
|
PATH
|
2
2
|
remote: ..
|
3
3
|
specs:
|
4
|
-
doorkeeper-grants_assertion (0.
|
4
|
+
doorkeeper-grants_assertion (0.2.0)
|
5
5
|
doorkeeper (>= 4.0)
|
6
6
|
railties (>= 3.1)
|
7
7
|
|
@@ -49,30 +49,44 @@ GEM
|
|
49
49
|
rake
|
50
50
|
thor (>= 0.14.0)
|
51
51
|
arel (6.0.4)
|
52
|
+
bcrypt (3.1.12)
|
52
53
|
builder (3.2.3)
|
53
|
-
capybara (2.
|
54
|
+
capybara (2.18.0)
|
54
55
|
addressable
|
55
56
|
mini_mime (>= 0.1.3)
|
56
57
|
nokogiri (>= 1.3.3)
|
57
58
|
rack (>= 1.0.0)
|
58
59
|
rack-test (>= 0.5.4)
|
59
|
-
xpath (
|
60
|
+
xpath (>= 2.0, < 4.0)
|
60
61
|
coderay (1.1.2)
|
61
62
|
concurrent-ruby (1.0.5)
|
63
|
+
crack (0.4.3)
|
64
|
+
safe_yaml (~> 1.0.0)
|
62
65
|
crass (1.0.2)
|
63
|
-
database_cleaner (1.2
|
66
|
+
database_cleaner (1.6.2)
|
67
|
+
devise (4.4.3)
|
68
|
+
bcrypt (~> 3.0)
|
69
|
+
orm_adapter (~> 0.1)
|
70
|
+
railties (>= 4.1.0, < 6.0)
|
71
|
+
responders
|
72
|
+
warden (~> 1.2.3)
|
64
73
|
diff-lcs (1.3)
|
65
74
|
doorkeeper (4.2.6)
|
66
75
|
railties (>= 4.2)
|
67
76
|
erubis (2.7.0)
|
68
|
-
|
77
|
+
factory_bot (4.8.2)
|
69
78
|
activesupport (>= 3.0.0)
|
79
|
+
faraday (0.12.2)
|
80
|
+
multipart-post (>= 1.2, < 3)
|
70
81
|
generator_spec (0.9.4)
|
71
82
|
activesupport (>= 3.0.0)
|
72
83
|
railties (>= 3.0.0)
|
73
84
|
globalid (0.4.0)
|
74
85
|
activesupport (>= 4.2.0)
|
86
|
+
hashdiff (0.3.7)
|
87
|
+
hashie (3.5.7)
|
75
88
|
i18n (0.8.6)
|
89
|
+
jwt (1.5.6)
|
76
90
|
loofah (2.1.1)
|
77
91
|
crass (~> 1.0.2)
|
78
92
|
nokogiri (>= 1.5.9)
|
@@ -82,15 +96,37 @@ GEM
|
|
82
96
|
mime-types (3.1)
|
83
97
|
mime-types-data (~> 3.2015)
|
84
98
|
mime-types-data (3.2016.0521)
|
85
|
-
mini_mime (0.
|
99
|
+
mini_mime (1.0.0)
|
86
100
|
mini_portile2 (2.3.0)
|
87
101
|
minitest (5.10.3)
|
102
|
+
multi_json (1.13.1)
|
103
|
+
multi_xml (0.6.0)
|
104
|
+
multipart-post (2.0.0)
|
88
105
|
nokogiri (1.8.1)
|
89
106
|
mini_portile2 (~> 2.3.0)
|
90
|
-
|
107
|
+
oauth2 (1.4.0)
|
108
|
+
faraday (>= 0.8, < 0.13)
|
109
|
+
jwt (~> 1.0)
|
110
|
+
multi_json (~> 1.3)
|
111
|
+
multi_xml (~> 0.5)
|
112
|
+
rack (>= 1.2, < 3)
|
113
|
+
omniauth (1.8.1)
|
114
|
+
hashie (>= 3.4.6, < 3.6.0)
|
115
|
+
rack (>= 1.6.2, < 3)
|
116
|
+
omniauth-facebook (4.0.0)
|
117
|
+
omniauth-oauth2 (~> 1.2)
|
118
|
+
omniauth-google-oauth2 (0.5.3)
|
119
|
+
jwt (>= 1.5)
|
120
|
+
omniauth (>= 1.1.1)
|
121
|
+
omniauth-oauth2 (>= 1.5)
|
122
|
+
omniauth-oauth2 (1.5.0)
|
123
|
+
oauth2 (~> 1.1)
|
124
|
+
omniauth (~> 1.2)
|
125
|
+
orm_adapter (0.5.0)
|
126
|
+
pry (0.11.3)
|
91
127
|
coderay (~> 1.1.0)
|
92
128
|
method_source (~> 0.9.0)
|
93
|
-
public_suffix (3.0.
|
129
|
+
public_suffix (3.0.2)
|
94
130
|
rack (1.6.8)
|
95
131
|
rack-test (0.6.3)
|
96
132
|
rack (>= 1.0)
|
@@ -119,6 +155,9 @@ GEM
|
|
119
155
|
rake (>= 0.8.7)
|
120
156
|
thor (>= 0.18.1, < 2.0)
|
121
157
|
rake (12.1.0)
|
158
|
+
responders (2.4.0)
|
159
|
+
actionpack (>= 4.2.0, < 5.3)
|
160
|
+
railties (>= 4.2.0, < 5.3)
|
122
161
|
rspec-core (3.6.0)
|
123
162
|
rspec-support (~> 3.6.0)
|
124
163
|
rspec-expectations (3.6.0)
|
@@ -136,6 +175,7 @@ GEM
|
|
136
175
|
rspec-mocks (~> 3.6.0)
|
137
176
|
rspec-support (~> 3.6.0)
|
138
177
|
rspec-support (3.6.0)
|
178
|
+
safe_yaml (1.0.4)
|
139
179
|
sprockets (3.7.1)
|
140
180
|
concurrent-ruby (~> 1.0)
|
141
181
|
rack (> 1, < 3)
|
@@ -148,24 +188,35 @@ GEM
|
|
148
188
|
thread_safe (0.3.6)
|
149
189
|
tzinfo (1.2.3)
|
150
190
|
thread_safe (~> 0.1)
|
151
|
-
|
152
|
-
|
191
|
+
warden (1.2.7)
|
192
|
+
rack (>= 1.0)
|
193
|
+
webmock (3.3.0)
|
194
|
+
addressable (>= 2.3.6)
|
195
|
+
crack (>= 0.3.2)
|
196
|
+
hashdiff
|
197
|
+
xpath (3.0.0)
|
198
|
+
nokogiri (~> 1.8)
|
153
199
|
|
154
200
|
PLATFORMS
|
155
201
|
ruby
|
156
202
|
|
157
203
|
DEPENDENCIES
|
158
|
-
appraisal
|
159
|
-
capybara (
|
160
|
-
database_cleaner (~> 1.2
|
204
|
+
appraisal (~> 2.2.0)
|
205
|
+
capybara (~> 2.18.0)
|
206
|
+
database_cleaner (~> 1.6.2)
|
207
|
+
devise (~> 4.4.3)
|
161
208
|
doorkeeper (~> 4.2.0)
|
162
209
|
doorkeeper-grants_assertion!
|
163
|
-
|
164
|
-
generator_spec (~> 0.9.
|
165
|
-
|
210
|
+
factory_bot (~> 4.8.2)
|
211
|
+
generator_spec (~> 0.9.4)
|
212
|
+
omniauth-facebook (~> 4.0.0)
|
213
|
+
omniauth-google-oauth2 (~> 0.5.3)
|
214
|
+
omniauth-oauth2 (~> 1.5.0)
|
215
|
+
pry (>= 0.11.3)
|
166
216
|
rails (~> 4.2.0)
|
167
217
|
rspec-rails (>= 2.11.4)
|
168
218
|
sqlite3
|
219
|
+
webmock (~> 3.3.0)
|
169
220
|
|
170
221
|
BUNDLED WITH
|
171
|
-
1.16.
|
222
|
+
1.16.2
|
data/gemfiles/rails_5_0.gemfile
CHANGED
@@ -1,7 +1,7 @@
|
|
1
1
|
PATH
|
2
2
|
remote: ..
|
3
3
|
specs:
|
4
|
-
doorkeeper-grants_assertion (0.
|
4
|
+
doorkeeper-grants_assertion (0.2.0)
|
5
5
|
doorkeeper (>= 4.0)
|
6
6
|
railties (>= 3.1)
|
7
7
|
|
@@ -52,30 +52,44 @@ GEM
|
|
52
52
|
rake
|
53
53
|
thor (>= 0.14.0)
|
54
54
|
arel (7.1.4)
|
55
|
+
bcrypt (3.1.12)
|
55
56
|
builder (3.2.3)
|
56
|
-
capybara (2.
|
57
|
+
capybara (2.18.0)
|
57
58
|
addressable
|
58
59
|
mini_mime (>= 0.1.3)
|
59
60
|
nokogiri (>= 1.3.3)
|
60
61
|
rack (>= 1.0.0)
|
61
62
|
rack-test (>= 0.5.4)
|
62
|
-
xpath (
|
63
|
+
xpath (>= 2.0, < 4.0)
|
63
64
|
coderay (1.1.2)
|
64
65
|
concurrent-ruby (1.0.5)
|
66
|
+
crack (0.4.3)
|
67
|
+
safe_yaml (~> 1.0.0)
|
65
68
|
crass (1.0.2)
|
66
|
-
database_cleaner (1.2
|
69
|
+
database_cleaner (1.6.2)
|
70
|
+
devise (4.4.3)
|
71
|
+
bcrypt (~> 3.0)
|
72
|
+
orm_adapter (~> 0.1)
|
73
|
+
railties (>= 4.1.0, < 6.0)
|
74
|
+
responders
|
75
|
+
warden (~> 1.2.3)
|
67
76
|
diff-lcs (1.3)
|
68
77
|
doorkeeper (4.2.6)
|
69
78
|
railties (>= 4.2)
|
70
79
|
erubis (2.7.0)
|
71
|
-
|
80
|
+
factory_bot (4.8.2)
|
72
81
|
activesupport (>= 3.0.0)
|
82
|
+
faraday (0.12.2)
|
83
|
+
multipart-post (>= 1.2, < 3)
|
73
84
|
generator_spec (0.9.4)
|
74
85
|
activesupport (>= 3.0.0)
|
75
86
|
railties (>= 3.0.0)
|
76
87
|
globalid (0.4.0)
|
77
88
|
activesupport (>= 4.2.0)
|
89
|
+
hashdiff (0.3.7)
|
90
|
+
hashie (3.5.7)
|
78
91
|
i18n (0.8.6)
|
92
|
+
jwt (1.5.6)
|
79
93
|
loofah (2.1.1)
|
80
94
|
crass (~> 1.0.2)
|
81
95
|
nokogiri (>= 1.5.9)
|
@@ -85,16 +99,38 @@ GEM
|
|
85
99
|
mime-types (3.1)
|
86
100
|
mime-types-data (~> 3.2015)
|
87
101
|
mime-types-data (3.2016.0521)
|
88
|
-
mini_mime (0.
|
102
|
+
mini_mime (1.0.0)
|
89
103
|
mini_portile2 (2.3.0)
|
90
104
|
minitest (5.10.3)
|
105
|
+
multi_json (1.13.1)
|
106
|
+
multi_xml (0.6.0)
|
107
|
+
multipart-post (2.0.0)
|
91
108
|
nio4r (1.2.1)
|
92
109
|
nokogiri (1.8.1)
|
93
110
|
mini_portile2 (~> 2.3.0)
|
94
|
-
|
111
|
+
oauth2 (1.4.0)
|
112
|
+
faraday (>= 0.8, < 0.13)
|
113
|
+
jwt (~> 1.0)
|
114
|
+
multi_json (~> 1.3)
|
115
|
+
multi_xml (~> 0.5)
|
116
|
+
rack (>= 1.2, < 3)
|
117
|
+
omniauth (1.8.1)
|
118
|
+
hashie (>= 3.4.6, < 3.6.0)
|
119
|
+
rack (>= 1.6.2, < 3)
|
120
|
+
omniauth-facebook (4.0.0)
|
121
|
+
omniauth-oauth2 (~> 1.2)
|
122
|
+
omniauth-google-oauth2 (0.5.3)
|
123
|
+
jwt (>= 1.5)
|
124
|
+
omniauth (>= 1.1.1)
|
125
|
+
omniauth-oauth2 (>= 1.5)
|
126
|
+
omniauth-oauth2 (1.5.0)
|
127
|
+
oauth2 (~> 1.1)
|
128
|
+
omniauth (~> 1.2)
|
129
|
+
orm_adapter (0.5.0)
|
130
|
+
pry (0.11.3)
|
95
131
|
coderay (~> 1.1.0)
|
96
132
|
method_source (~> 0.9.0)
|
97
|
-
public_suffix (3.0.
|
133
|
+
public_suffix (3.0.2)
|
98
134
|
rack (2.0.3)
|
99
135
|
rack-test (0.6.3)
|
100
136
|
rack (>= 1.0)
|
@@ -122,6 +158,9 @@ GEM
|
|
122
158
|
rake (>= 0.8.7)
|
123
159
|
thor (>= 0.18.1, < 2.0)
|
124
160
|
rake (12.1.0)
|
161
|
+
responders (2.4.0)
|
162
|
+
actionpack (>= 4.2.0, < 5.3)
|
163
|
+
railties (>= 4.2.0, < 5.3)
|
125
164
|
rspec-core (3.6.0)
|
126
165
|
rspec-support (~> 3.6.0)
|
127
166
|
rspec-expectations (3.6.0)
|
@@ -139,6 +178,7 @@ GEM
|
|
139
178
|
rspec-mocks (~> 3.6.0)
|
140
179
|
rspec-support (~> 3.6.0)
|
141
180
|
rspec-support (3.6.0)
|
181
|
+
safe_yaml (1.0.4)
|
142
182
|
sprockets (3.7.1)
|
143
183
|
concurrent-ruby (~> 1.0)
|
144
184
|
rack (> 1, < 3)
|
@@ -151,27 +191,38 @@ GEM
|
|
151
191
|
thread_safe (0.3.6)
|
152
192
|
tzinfo (1.2.3)
|
153
193
|
thread_safe (~> 0.1)
|
194
|
+
warden (1.2.7)
|
195
|
+
rack (>= 1.0)
|
196
|
+
webmock (3.3.0)
|
197
|
+
addressable (>= 2.3.6)
|
198
|
+
crack (>= 0.3.2)
|
199
|
+
hashdiff
|
154
200
|
websocket-driver (0.6.5)
|
155
201
|
websocket-extensions (>= 0.1.0)
|
156
202
|
websocket-extensions (0.1.2)
|
157
|
-
xpath (
|
158
|
-
nokogiri (~> 1.
|
203
|
+
xpath (3.0.0)
|
204
|
+
nokogiri (~> 1.8)
|
159
205
|
|
160
206
|
PLATFORMS
|
161
207
|
ruby
|
162
208
|
|
163
209
|
DEPENDENCIES
|
164
|
-
appraisal
|
165
|
-
capybara (
|
166
|
-
database_cleaner (~> 1.2
|
210
|
+
appraisal (~> 2.2.0)
|
211
|
+
capybara (~> 2.18.0)
|
212
|
+
database_cleaner (~> 1.6.2)
|
213
|
+
devise (~> 4.4.3)
|
167
214
|
doorkeeper (~> 4.2.0)
|
168
215
|
doorkeeper-grants_assertion!
|
169
|
-
|
170
|
-
generator_spec (~> 0.9.
|
171
|
-
|
216
|
+
factory_bot (~> 4.8.2)
|
217
|
+
generator_spec (~> 0.9.4)
|
218
|
+
omniauth-facebook (~> 4.0.0)
|
219
|
+
omniauth-google-oauth2 (~> 0.5.3)
|
220
|
+
omniauth-oauth2 (~> 1.5.0)
|
221
|
+
pry (>= 0.11.3)
|
172
222
|
rails (~> 5.0.0)
|
173
223
|
rspec-rails (>= 2.11.4)
|
174
224
|
sqlite3
|
225
|
+
webmock (~> 3.3.0)
|
175
226
|
|
176
227
|
BUNDLED WITH
|
177
|
-
1.16.
|
228
|
+
1.16.2
|