anjlab-devise-oauth2-providable 1.1.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.
Files changed (89) hide show
  1. data/.gitignore +40 -0
  2. data/.rvmrc +1 -0
  3. data/CONTRIBUTORS.txt +6 -0
  4. data/Gemfile +8 -0
  5. data/LICENSE.txt +22 -0
  6. data/README.md +158 -0
  7. data/Rakefile +5 -0
  8. data/app/controllers/devise/oauth2_providable/authorizations_controller.rb +58 -0
  9. data/app/controllers/devise/oauth2_providable/tokens_controller.rb +19 -0
  10. data/app/models/devise/oauth2_providable/access_token.rb +24 -0
  11. data/app/models/devise/oauth2_providable/authorization_code.rb +4 -0
  12. data/app/models/devise/oauth2_providable/client.rb +24 -0
  13. data/app/models/devise/oauth2_providable/refresh_token.rb +7 -0
  14. data/app/views/devise/oauth2_providable/authorizations/_form.html.erb +7 -0
  15. data/app/views/devise/oauth2_providable/authorizations/error.html.erb +4 -0
  16. data/app/views/devise/oauth2_providable/authorizations/new.html.erb +4 -0
  17. data/config/routes.rb +9 -0
  18. data/db/migrate/20111014160714_create_devise_oauth2_providable_schema.rb +55 -0
  19. data/devise_oauth2_providable.gemspec +30 -0
  20. data/lib/anjlab-devise-oauth2-providable.rb +1 -0
  21. data/lib/devise/oauth2_providable/engine.rb +16 -0
  22. data/lib/devise/oauth2_providable/expirable_token.rb +57 -0
  23. data/lib/devise/oauth2_providable/models/oauth2_authorization_code_grantable.rb +6 -0
  24. data/lib/devise/oauth2_providable/models/oauth2_password_grantable.rb +6 -0
  25. data/lib/devise/oauth2_providable/models/oauth2_providable.rb +14 -0
  26. data/lib/devise/oauth2_providable/models/oauth2_refresh_token_grantable.rb +6 -0
  27. data/lib/devise/oauth2_providable/strategies/oauth2_authorization_code_grant_type_strategy.rb +21 -0
  28. data/lib/devise/oauth2_providable/strategies/oauth2_grant_type_strategy.rb +38 -0
  29. data/lib/devise/oauth2_providable/strategies/oauth2_password_grant_type_strategy.rb +22 -0
  30. data/lib/devise/oauth2_providable/strategies/oauth2_providable_strategy.rb +25 -0
  31. data/lib/devise/oauth2_providable/strategies/oauth2_refresh_token_grant_type_strategy.rb +22 -0
  32. data/lib/devise/oauth2_providable/version.rb +5 -0
  33. data/lib/devise_oauth2_providable.rb +41 -0
  34. data/script/rails +6 -0
  35. data/spec/controllers/authorizations_controller_spec.rb +32 -0
  36. data/spec/controllers/protected_controller_spec.rb +42 -0
  37. data/spec/dummy/Rakefile +7 -0
  38. data/spec/dummy/app/assets/javascripts/application.js +7 -0
  39. data/spec/dummy/app/assets/stylesheets/application.css +7 -0
  40. data/spec/dummy/app/controllers/application_controller.rb +3 -0
  41. data/spec/dummy/app/controllers/protected_controller.rb +6 -0
  42. data/spec/dummy/app/helpers/application_helper.rb +2 -0
  43. data/spec/dummy/app/mailers/.gitkeep +0 -0
  44. data/spec/dummy/app/models/.gitkeep +0 -0
  45. data/spec/dummy/app/models/user.rb +15 -0
  46. data/spec/dummy/app/views/layouts/application.html.erb +14 -0
  47. data/spec/dummy/config.ru +4 -0
  48. data/spec/dummy/config/application.rb +50 -0
  49. data/spec/dummy/config/boot.rb +10 -0
  50. data/spec/dummy/config/database.yml +25 -0
  51. data/spec/dummy/config/environment.rb +5 -0
  52. data/spec/dummy/config/environments/development.rb +30 -0
  53. data/spec/dummy/config/environments/production.rb +60 -0
  54. data/spec/dummy/config/environments/test.rb +39 -0
  55. data/spec/dummy/config/initializers/backtrace_silencers.rb +7 -0
  56. data/spec/dummy/config/initializers/devise.rb +216 -0
  57. data/spec/dummy/config/initializers/inflections.rb +10 -0
  58. data/spec/dummy/config/initializers/mime_types.rb +5 -0
  59. data/spec/dummy/config/initializers/secret_token.rb +7 -0
  60. data/spec/dummy/config/initializers/session_store.rb +8 -0
  61. data/spec/dummy/config/initializers/wrap_parameters.rb +14 -0
  62. data/spec/dummy/config/locales/devise.en.yml +57 -0
  63. data/spec/dummy/config/locales/en.yml +5 -0
  64. data/spec/dummy/config/routes.rb +7 -0
  65. data/spec/dummy/db/migrate/20120521101005_create_users.rb +5 -0
  66. data/spec/dummy/db/migrate/20120521101006_add_devise_to_users.rb +53 -0
  67. data/spec/dummy/db/migrate/20120521101407_create_devise_oauth2_providable_schema.devise_oauth2_providable.rb +56 -0
  68. data/spec/dummy/db/schema.rb +88 -0
  69. data/spec/dummy/lib/assets/.gitkeep +0 -0
  70. data/spec/dummy/public/404.html +26 -0
  71. data/spec/dummy/public/422.html +26 -0
  72. data/spec/dummy/public/500.html +26 -0
  73. data/spec/dummy/public/favicon.ico +0 -0
  74. data/spec/dummy/script/rails +6 -0
  75. data/spec/factories.rb +19 -0
  76. data/spec/integration/oauth2_authorization_token_grant_type_strategy_spec.rb +136 -0
  77. data/spec/integration/oauth2_password_grant_type_strategy_spec.rb +198 -0
  78. data/spec/integration/oauth2_refresh_token_grant_type_strategy_spec.rb +138 -0
  79. data/spec/lib/devise_oauth2_providable_spec.rb +7 -0
  80. data/spec/models/access_token_spec.rb +51 -0
  81. data/spec/models/authorization_code_spec.rb +21 -0
  82. data/spec/models/client_spec.rb +22 -0
  83. data/spec/models/refresh_token_spec.rb +23 -0
  84. data/spec/models/user_spec.rb +6 -0
  85. data/spec/routing/authorizations_routing_spec.rb +17 -0
  86. data/spec/routing/tokens_routing_spec.rb +11 -0
  87. data/spec/spec_helper.rb +28 -0
  88. data/spec/support/match_json.rb +6 -0
  89. metadata +334 -0
@@ -0,0 +1,7 @@
1
+ require 'spec_helper'
2
+
3
+ describe Devise::Oauth2Providable do
4
+ it 'should be defined' do
5
+ # success
6
+ end
7
+ end
@@ -0,0 +1,51 @@
1
+ require 'spec_helper'
2
+
3
+ describe Devise::Oauth2Providable::AccessToken do
4
+ it { Devise::Oauth2Providable::AccessToken.table_name.should == 'oauth2_access_tokens' }
5
+
6
+ describe 'basic access token instance' do
7
+ let(:client) { create(:client) }
8
+ subject do
9
+ Devise::Oauth2Providable::AccessToken.create! :client => client
10
+ end
11
+ it { should validate_presence_of :token }
12
+ it { should validate_uniqueness_of :token }
13
+ it { should belong_to :user }
14
+ it { should belong_to :client }
15
+ it { should validate_presence_of :client }
16
+ it { should validate_presence_of :expires_at }
17
+ it { should belong_to :refresh_token }
18
+ it { should allow_mass_assignment_of :refresh_token }
19
+ it { should have_db_index :client_id }
20
+ it { should have_db_index :user_id }
21
+ it { should have_db_index(:token).unique(true) }
22
+ it { should have_db_index :expires_at }
23
+ end
24
+
25
+ describe '#expires_at' do
26
+ context 'when refresh token does not expire before access token' do
27
+ let(:client) { create(:client) }
28
+ before do
29
+ @later = 1.year.from_now
30
+ @refresh_token = client.refresh_tokens.create!
31
+ @refresh_token.expires_at = @soon
32
+ @access_token = Devise::Oauth2Providable::AccessToken.create! :client => client, :refresh_token => @refresh_token
33
+ end
34
+ focus 'should not set the access token expires_at to equal refresh token' do
35
+ @access_token.expires_at.should_not == @later
36
+ end
37
+ end
38
+ context 'when refresh token expires before access token' do
39
+ let(:client) { create(:client) }
40
+ before do
41
+ @soon = 1.minute.from_now
42
+ @refresh_token = client.refresh_tokens.create!
43
+ @refresh_token.expires_at = @soon
44
+ @access_token = Devise::Oauth2Providable::AccessToken.create! :client => client, :refresh_token => @refresh_token
45
+ end
46
+ it 'should set the access token expires_at to equal refresh token' do
47
+ @access_token.expires_at.should == @soon
48
+ end
49
+ end
50
+ end
51
+ end
@@ -0,0 +1,21 @@
1
+ require 'spec_helper'
2
+
3
+ describe Devise::Oauth2Providable::AuthorizationCode do
4
+ describe 'basic authorization code instance' do
5
+ let(:client) { create(:client) }
6
+ subject do
7
+ Devise::Oauth2Providable::AuthorizationCode.create! :client => client
8
+ end
9
+ it { should validate_presence_of :token }
10
+ it { should validate_uniqueness_of :token }
11
+ it { should belong_to :user }
12
+ it { should belong_to :client }
13
+ it { should validate_presence_of :client }
14
+ it { should validate_presence_of :expires_at }
15
+ it { should have_db_index :client_id }
16
+ it { should have_db_index :user_id }
17
+ it { should have_db_index(:token).unique(true) }
18
+ it { should have_db_index :expires_at }
19
+ end
20
+ end
21
+
@@ -0,0 +1,22 @@
1
+ require 'spec_helper'
2
+
3
+ describe Devise::Oauth2Providable::Client do
4
+ it { Devise::Oauth2Providable::Client.table_name.should == 'oauth2_clients' }
5
+
6
+ describe 'basic client instance' do
7
+ let(:client) { create(:client) }
8
+ subject { client }
9
+ it { should validate_presence_of :name }
10
+ it { should validate_uniqueness_of :name }
11
+ it { should allow_mass_assignment_of :name }
12
+ it { should validate_presence_of :website }
13
+ it { should allow_mass_assignment_of :website }
14
+ it { should allow_mass_assignment_of :redirect_uri }
15
+ it { should validate_uniqueness_of :identifier }
16
+ it { should have_db_index(:identifier).unique(true) }
17
+ it { should_not allow_mass_assignment_of :identifier }
18
+ it { should_not allow_mass_assignment_of :secret }
19
+ it { should have_many :refresh_tokens }
20
+ it { should have_many :authorization_codes }
21
+ end
22
+ end
@@ -0,0 +1,23 @@
1
+ require 'spec_helper'
2
+
3
+ describe Devise::Oauth2Providable::RefreshToken do
4
+ it { Devise::Oauth2Providable::RefreshToken.table_name.should == 'oauth2_refresh_tokens' }
5
+
6
+ describe 'basic refresh token instance' do
7
+ let(:client) { create(:client) }
8
+ subject do
9
+ Devise::Oauth2Providable::RefreshToken.create! :client => client
10
+ end
11
+ it { should validate_presence_of :token }
12
+ it { should validate_uniqueness_of :token }
13
+ it { should belong_to :user }
14
+ it { should belong_to :client }
15
+ it { should validate_presence_of :client }
16
+ it { should validate_presence_of :expires_at }
17
+ it { should have_many :access_tokens }
18
+ it { should have_db_index :client_id }
19
+ it { should have_db_index :user_id }
20
+ it { should have_db_index(:token).unique(true) }
21
+ it { should have_db_index :expires_at }
22
+ end
23
+ end
@@ -0,0 +1,6 @@
1
+ require 'spec_helper'
2
+
3
+ describe User do
4
+ it { should have_many :access_tokens }
5
+ it { should have_many :authorization_codes }
6
+ end
@@ -0,0 +1,17 @@
1
+ require 'spec_helper'
2
+
3
+ describe Devise::Oauth2Providable::AuthorizationsController do
4
+ before(:each) { @routes = Devise::Oauth2Providable::Engine.routes }
5
+ describe 'routing' do
6
+ it 'routes POST /oauth2/authorizations' do
7
+ post('/authorizations').should route_to('devise/oauth2_providable/authorizations#create', format: 'json')
8
+ end
9
+ it 'routes GET /oauth2/authorize' do
10
+ get('/authorize').should route_to('devise/oauth2_providable/authorizations#new', format: 'json')
11
+ end
12
+ it 'routes POST /oauth2/authorize' do
13
+ #FIXME: this is valid, but the route is not being loaded into the test
14
+ post('/authorize').should route_to('devise/oauth2_providable/authorizations#new', format: 'json')
15
+ end
16
+ end
17
+ end
@@ -0,0 +1,11 @@
1
+ require 'spec_helper'
2
+
3
+ describe Devise::Oauth2Providable::TokensController do
4
+ before(:each) { @routes = Devise::Oauth2Providable::Engine.routes }
5
+
6
+ describe 'routing' do
7
+ it 'routes POST /oauth2/token' do
8
+ post('/token').should route_to('devise/oauth2_providable/tokens#create', format: "json")
9
+ end
10
+ end
11
+ end
@@ -0,0 +1,28 @@
1
+ # Configure Rails Envinronment
2
+ ENV["RAILS_ENV"] = "test"
3
+ spec_root = File.expand_path('..', __FILE__)
4
+ require File.expand_path("dummy/config/environment.rb", spec_root)
5
+
6
+ require 'pry'
7
+ require 'rspec/rails'
8
+ require 'factories'
9
+
10
+ ENGINE_RAILS_ROOT=File.join(File.dirname(__FILE__), '../')
11
+
12
+ # Requires supporting ruby files with custom matchers and macros, etc,
13
+ # in spec/support/ and its subdirectories.
14
+ Dir[File.join(ENGINE_RAILS_ROOT, "spec/support/**/*.rb")].each {|f| require f }
15
+
16
+ RSpec.configure do |config|
17
+ config.include FactoryGirl::Syntax::Methods
18
+ config.include Devise::TestHelpers, :type => :controller
19
+ config.mock_with :rspec
20
+
21
+ config.use_transactional_fixtures = true
22
+
23
+ # enable rendering of views for controller tests
24
+ # see http://stackoverflow.com/questions/4401539/rspec-2-how-to-render-views-by-default-for-all-controller-specs
25
+ config.render_views
26
+ end
27
+
28
+ ActiveRecord::Migrator.migrate(File.expand_path("dummy/db/migrate/", spec_root))
@@ -0,0 +1,6 @@
1
+ # "{'foo': 'bar'}".should match_json {:foo => :bar}
2
+ RSpec::Matchers.define :match_json do |expected|
3
+ match do |actual|
4
+ ActiveSupport::JSON.backend.load(actual) == ActiveSupport::JSON.backend.load(expected.to_json)
5
+ end
6
+ end
metadata ADDED
@@ -0,0 +1,334 @@
1
+ --- !ruby/object:Gem::Specification
2
+ name: anjlab-devise-oauth2-providable
3
+ version: !ruby/object:Gem::Version
4
+ version: 1.1.0
5
+ prerelease:
6
+ platform: ruby
7
+ authors:
8
+ - Ryan Sonnek
9
+ autorequire:
10
+ bindir: bin
11
+ cert_chain: []
12
+ date: 2012-05-22 00:00:00.000000000 Z
13
+ dependencies:
14
+ - !ruby/object:Gem::Dependency
15
+ name: rails
16
+ requirement: !ruby/object:Gem::Requirement
17
+ none: false
18
+ requirements:
19
+ - - ! '>='
20
+ - !ruby/object:Gem::Version
21
+ version: 3.2.0
22
+ type: :runtime
23
+ prerelease: false
24
+ version_requirements: !ruby/object:Gem::Requirement
25
+ none: false
26
+ requirements:
27
+ - - ! '>='
28
+ - !ruby/object:Gem::Version
29
+ version: 3.2.0
30
+ - !ruby/object:Gem::Dependency
31
+ name: devise
32
+ requirement: !ruby/object:Gem::Requirement
33
+ none: false
34
+ requirements:
35
+ - - ! '>='
36
+ - !ruby/object:Gem::Version
37
+ version: 2.1.0
38
+ type: :runtime
39
+ prerelease: false
40
+ version_requirements: !ruby/object:Gem::Requirement
41
+ none: false
42
+ requirements:
43
+ - - ! '>='
44
+ - !ruby/object:Gem::Version
45
+ version: 2.1.0
46
+ - !ruby/object:Gem::Dependency
47
+ name: rack-oauth2
48
+ requirement: !ruby/object:Gem::Requirement
49
+ none: false
50
+ requirements:
51
+ - - ~>
52
+ - !ruby/object:Gem::Version
53
+ version: 0.14.4
54
+ type: :runtime
55
+ prerelease: false
56
+ version_requirements: !ruby/object:Gem::Requirement
57
+ none: false
58
+ requirements:
59
+ - - ~>
60
+ - !ruby/object:Gem::Version
61
+ version: 0.14.4
62
+ - !ruby/object:Gem::Dependency
63
+ name: rspec-rails
64
+ requirement: !ruby/object:Gem::Requirement
65
+ none: false
66
+ requirements:
67
+ - - ! '>='
68
+ - !ruby/object:Gem::Version
69
+ version: 2.6.2
70
+ type: :development
71
+ prerelease: false
72
+ version_requirements: !ruby/object:Gem::Requirement
73
+ none: false
74
+ requirements:
75
+ - - ! '>='
76
+ - !ruby/object:Gem::Version
77
+ version: 2.6.2
78
+ - !ruby/object:Gem::Dependency
79
+ name: sqlite3
80
+ requirement: !ruby/object:Gem::Requirement
81
+ none: false
82
+ requirements:
83
+ - - ! '>='
84
+ - !ruby/object:Gem::Version
85
+ version: '0'
86
+ type: :development
87
+ prerelease: false
88
+ version_requirements: !ruby/object:Gem::Requirement
89
+ none: false
90
+ requirements:
91
+ - - ! '>='
92
+ - !ruby/object:Gem::Version
93
+ version: '0'
94
+ - !ruby/object:Gem::Dependency
95
+ name: shoulda-matchers
96
+ requirement: !ruby/object:Gem::Requirement
97
+ none: false
98
+ requirements:
99
+ - - ! '>='
100
+ - !ruby/object:Gem::Version
101
+ version: 1.0.0
102
+ type: :development
103
+ prerelease: false
104
+ version_requirements: !ruby/object:Gem::Requirement
105
+ none: false
106
+ requirements:
107
+ - - ! '>='
108
+ - !ruby/object:Gem::Version
109
+ version: 1.0.0
110
+ - !ruby/object:Gem::Dependency
111
+ name: pry-rails
112
+ requirement: !ruby/object:Gem::Requirement
113
+ none: false
114
+ requirements:
115
+ - - ! '>='
116
+ - !ruby/object:Gem::Version
117
+ version: '0'
118
+ type: :development
119
+ prerelease: false
120
+ version_requirements: !ruby/object:Gem::Requirement
121
+ none: false
122
+ requirements:
123
+ - - ! '>='
124
+ - !ruby/object:Gem::Version
125
+ version: '0'
126
+ - !ruby/object:Gem::Dependency
127
+ name: factory_girl_rspec
128
+ requirement: !ruby/object:Gem::Requirement
129
+ none: false
130
+ requirements:
131
+ - - ! '>='
132
+ - !ruby/object:Gem::Version
133
+ version: 0.0.1
134
+ type: :development
135
+ prerelease: false
136
+ version_requirements: !ruby/object:Gem::Requirement
137
+ none: false
138
+ requirements:
139
+ - - ! '>='
140
+ - !ruby/object:Gem::Version
141
+ version: 0.0.1
142
+ - !ruby/object:Gem::Dependency
143
+ name: rake
144
+ requirement: !ruby/object:Gem::Requirement
145
+ none: false
146
+ requirements:
147
+ - - ! '>='
148
+ - !ruby/object:Gem::Version
149
+ version: 0.9.2.2
150
+ type: :development
151
+ prerelease: false
152
+ version_requirements: !ruby/object:Gem::Requirement
153
+ none: false
154
+ requirements:
155
+ - - ! '>='
156
+ - !ruby/object:Gem::Version
157
+ version: 0.9.2.2
158
+ description: Rails3 engine that adds OAuth2 Provider support to any application built
159
+ with Devise authentication
160
+ email:
161
+ - ryan@socialcast.com
162
+ executables: []
163
+ extensions: []
164
+ extra_rdoc_files: []
165
+ files:
166
+ - .gitignore
167
+ - .rvmrc
168
+ - CONTRIBUTORS.txt
169
+ - Gemfile
170
+ - LICENSE.txt
171
+ - README.md
172
+ - Rakefile
173
+ - app/controllers/devise/oauth2_providable/authorizations_controller.rb
174
+ - app/controllers/devise/oauth2_providable/tokens_controller.rb
175
+ - app/models/devise/oauth2_providable/access_token.rb
176
+ - app/models/devise/oauth2_providable/authorization_code.rb
177
+ - app/models/devise/oauth2_providable/client.rb
178
+ - app/models/devise/oauth2_providable/refresh_token.rb
179
+ - app/views/devise/oauth2_providable/authorizations/_form.html.erb
180
+ - app/views/devise/oauth2_providable/authorizations/error.html.erb
181
+ - app/views/devise/oauth2_providable/authorizations/new.html.erb
182
+ - config/routes.rb
183
+ - db/migrate/20111014160714_create_devise_oauth2_providable_schema.rb
184
+ - devise_oauth2_providable.gemspec
185
+ - lib/anjlab-devise-oauth2-providable.rb
186
+ - lib/devise/oauth2_providable/engine.rb
187
+ - lib/devise/oauth2_providable/expirable_token.rb
188
+ - lib/devise/oauth2_providable/models/oauth2_authorization_code_grantable.rb
189
+ - lib/devise/oauth2_providable/models/oauth2_password_grantable.rb
190
+ - lib/devise/oauth2_providable/models/oauth2_providable.rb
191
+ - lib/devise/oauth2_providable/models/oauth2_refresh_token_grantable.rb
192
+ - lib/devise/oauth2_providable/strategies/oauth2_authorization_code_grant_type_strategy.rb
193
+ - lib/devise/oauth2_providable/strategies/oauth2_grant_type_strategy.rb
194
+ - lib/devise/oauth2_providable/strategies/oauth2_password_grant_type_strategy.rb
195
+ - lib/devise/oauth2_providable/strategies/oauth2_providable_strategy.rb
196
+ - lib/devise/oauth2_providable/strategies/oauth2_refresh_token_grant_type_strategy.rb
197
+ - lib/devise/oauth2_providable/version.rb
198
+ - lib/devise_oauth2_providable.rb
199
+ - script/rails
200
+ - spec/controllers/authorizations_controller_spec.rb
201
+ - spec/controllers/protected_controller_spec.rb
202
+ - spec/dummy/Rakefile
203
+ - spec/dummy/app/assets/javascripts/application.js
204
+ - spec/dummy/app/assets/stylesheets/application.css
205
+ - spec/dummy/app/controllers/application_controller.rb
206
+ - spec/dummy/app/controllers/protected_controller.rb
207
+ - spec/dummy/app/helpers/application_helper.rb
208
+ - spec/dummy/app/mailers/.gitkeep
209
+ - spec/dummy/app/models/.gitkeep
210
+ - spec/dummy/app/models/user.rb
211
+ - spec/dummy/app/views/layouts/application.html.erb
212
+ - spec/dummy/config.ru
213
+ - spec/dummy/config/application.rb
214
+ - spec/dummy/config/boot.rb
215
+ - spec/dummy/config/database.yml
216
+ - spec/dummy/config/environment.rb
217
+ - spec/dummy/config/environments/development.rb
218
+ - spec/dummy/config/environments/production.rb
219
+ - spec/dummy/config/environments/test.rb
220
+ - spec/dummy/config/initializers/backtrace_silencers.rb
221
+ - spec/dummy/config/initializers/devise.rb
222
+ - spec/dummy/config/initializers/inflections.rb
223
+ - spec/dummy/config/initializers/mime_types.rb
224
+ - spec/dummy/config/initializers/secret_token.rb
225
+ - spec/dummy/config/initializers/session_store.rb
226
+ - spec/dummy/config/initializers/wrap_parameters.rb
227
+ - spec/dummy/config/locales/devise.en.yml
228
+ - spec/dummy/config/locales/en.yml
229
+ - spec/dummy/config/routes.rb
230
+ - spec/dummy/db/migrate/20120521101005_create_users.rb
231
+ - spec/dummy/db/migrate/20120521101006_add_devise_to_users.rb
232
+ - spec/dummy/db/migrate/20120521101407_create_devise_oauth2_providable_schema.devise_oauth2_providable.rb
233
+ - spec/dummy/db/schema.rb
234
+ - spec/dummy/lib/assets/.gitkeep
235
+ - spec/dummy/log/.gitkeep
236
+ - spec/dummy/public/404.html
237
+ - spec/dummy/public/422.html
238
+ - spec/dummy/public/500.html
239
+ - spec/dummy/public/favicon.ico
240
+ - spec/dummy/script/rails
241
+ - spec/factories.rb
242
+ - spec/integration/oauth2_authorization_token_grant_type_strategy_spec.rb
243
+ - spec/integration/oauth2_password_grant_type_strategy_spec.rb
244
+ - spec/integration/oauth2_refresh_token_grant_type_strategy_spec.rb
245
+ - spec/lib/devise_oauth2_providable_spec.rb
246
+ - spec/models/access_token_spec.rb
247
+ - spec/models/authorization_code_spec.rb
248
+ - spec/models/client_spec.rb
249
+ - spec/models/refresh_token_spec.rb
250
+ - spec/models/user_spec.rb
251
+ - spec/routing/authorizations_routing_spec.rb
252
+ - spec/routing/tokens_routing_spec.rb
253
+ - spec/spec_helper.rb
254
+ - spec/support/match_json.rb
255
+ homepage: https://github.com/anjlab/devise_oauth2_providable
256
+ licenses: []
257
+ post_install_message:
258
+ rdoc_options: []
259
+ require_paths:
260
+ - lib
261
+ required_ruby_version: !ruby/object:Gem::Requirement
262
+ none: false
263
+ requirements:
264
+ - - ! '>='
265
+ - !ruby/object:Gem::Version
266
+ version: '0'
267
+ required_rubygems_version: !ruby/object:Gem::Requirement
268
+ none: false
269
+ requirements:
270
+ - - ! '>='
271
+ - !ruby/object:Gem::Version
272
+ version: '0'
273
+ requirements: []
274
+ rubyforge_project:
275
+ rubygems_version: 1.8.22
276
+ signing_key:
277
+ specification_version: 3
278
+ summary: OAuth2 Provider for Rails3 applications with Devise 2.1.0
279
+ test_files:
280
+ - spec/controllers/authorizations_controller_spec.rb
281
+ - spec/controllers/protected_controller_spec.rb
282
+ - spec/dummy/Rakefile
283
+ - spec/dummy/app/assets/javascripts/application.js
284
+ - spec/dummy/app/assets/stylesheets/application.css
285
+ - spec/dummy/app/controllers/application_controller.rb
286
+ - spec/dummy/app/controllers/protected_controller.rb
287
+ - spec/dummy/app/helpers/application_helper.rb
288
+ - spec/dummy/app/mailers/.gitkeep
289
+ - spec/dummy/app/models/.gitkeep
290
+ - spec/dummy/app/models/user.rb
291
+ - spec/dummy/app/views/layouts/application.html.erb
292
+ - spec/dummy/config.ru
293
+ - spec/dummy/config/application.rb
294
+ - spec/dummy/config/boot.rb
295
+ - spec/dummy/config/database.yml
296
+ - spec/dummy/config/environment.rb
297
+ - spec/dummy/config/environments/development.rb
298
+ - spec/dummy/config/environments/production.rb
299
+ - spec/dummy/config/environments/test.rb
300
+ - spec/dummy/config/initializers/backtrace_silencers.rb
301
+ - spec/dummy/config/initializers/devise.rb
302
+ - spec/dummy/config/initializers/inflections.rb
303
+ - spec/dummy/config/initializers/mime_types.rb
304
+ - spec/dummy/config/initializers/secret_token.rb
305
+ - spec/dummy/config/initializers/session_store.rb
306
+ - spec/dummy/config/initializers/wrap_parameters.rb
307
+ - spec/dummy/config/locales/devise.en.yml
308
+ - spec/dummy/config/locales/en.yml
309
+ - spec/dummy/config/routes.rb
310
+ - spec/dummy/db/migrate/20120521101005_create_users.rb
311
+ - spec/dummy/db/migrate/20120521101006_add_devise_to_users.rb
312
+ - spec/dummy/db/migrate/20120521101407_create_devise_oauth2_providable_schema.devise_oauth2_providable.rb
313
+ - spec/dummy/db/schema.rb
314
+ - spec/dummy/lib/assets/.gitkeep
315
+ - spec/dummy/log/.gitkeep
316
+ - spec/dummy/public/404.html
317
+ - spec/dummy/public/422.html
318
+ - spec/dummy/public/500.html
319
+ - spec/dummy/public/favicon.ico
320
+ - spec/dummy/script/rails
321
+ - spec/factories.rb
322
+ - spec/integration/oauth2_authorization_token_grant_type_strategy_spec.rb
323
+ - spec/integration/oauth2_password_grant_type_strategy_spec.rb
324
+ - spec/integration/oauth2_refresh_token_grant_type_strategy_spec.rb
325
+ - spec/lib/devise_oauth2_providable_spec.rb
326
+ - spec/models/access_token_spec.rb
327
+ - spec/models/authorization_code_spec.rb
328
+ - spec/models/client_spec.rb
329
+ - spec/models/refresh_token_spec.rb
330
+ - spec/models/user_spec.rb
331
+ - spec/routing/authorizations_routing_spec.rb
332
+ - spec/routing/tokens_routing_spec.rb
333
+ - spec/spec_helper.rb
334
+ - spec/support/match_json.rb