devise_oauth2_providable 1.1.1 → 1.1.2

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.
data/.rvmrc CHANGED
@@ -1 +1 @@
1
- rvm use ree-1.8.7-2011.03@devise_oauth2_providable --create
1
+ rvm use @devise_oauth2_providable --create
@@ -4,6 +4,8 @@ class Devise::Oauth2Providable::AccessToken < ActiveRecord::Base
4
4
  before_validation :restrict_expires_at, :on => :create, :if => :refresh_token
5
5
  belongs_to :refresh_token
6
6
 
7
+ attr_accessible :refresh_token
8
+
7
9
  def token_response
8
10
  response = {
9
11
  :access_token => token,
@@ -16,7 +16,9 @@ class Devise::Oauth2Providable::Client < ActiveRecord::Base
16
16
  def init_identifier
17
17
  self.identifier = Devise::Oauth2Providable.random_id
18
18
  end
19
+
19
20
  def init_secret
20
21
  self.secret = Devise::Oauth2Providable.random_id
21
22
  end
23
+
22
24
  end
@@ -1,5 +1,8 @@
1
1
  class Devise::Oauth2Providable::RefreshToken < ActiveRecord::Base
2
2
  expires_according_to :refresh_token_expires_in
3
3
 
4
+ attr_accessible :access_tokens
5
+
4
6
  has_many :access_tokens
7
+
5
8
  end
@@ -18,7 +18,7 @@ Gem::Specification.new do |s|
18
18
  s.add_runtime_dependency(%q<devise>, [">= 1.4.3"])
19
19
  s.add_runtime_dependency(%q<rack-oauth2>, ["~> 0.11.0"])
20
20
  s.add_development_dependency(%q<rspec-rails>, ['2.6.1'])
21
- s.add_development_dependency(%q<sqlite3>, ['1.3.4'])
21
+ s.add_development_dependency(%q<sqlite3>, ['1.3.5'])
22
22
  s.add_development_dependency(%q<shoulda-matchers>, ['1.0.0.beta3'])
23
23
  s.add_development_dependency(%q<pry>, ['0.9.6.2'])
24
24
  s.add_development_dependency(%q<factory_girl>, ['2.2.0'])
@@ -14,6 +14,8 @@ module Devise
14
14
  belongs_to :user
15
15
  belongs_to :client
16
16
 
17
+ attr_accessible :user, :client
18
+
17
19
  after_initialize :init_token, :on => :create, :unless => :token?
18
20
  after_initialize :init_expires_at, :on => :create, :unless => :expires_at?
19
21
  validates :expires_at, :presence => true
@@ -54,4 +56,3 @@ module Devise
54
56
  end
55
57
 
56
58
  ActiveRecord::Base.send :include, Devise::Oauth2Providable::ExpirableToken
57
-
@@ -10,7 +10,7 @@ module Devise
10
10
  def authenticate_grant_type(client)
11
11
  if code = client.authorization_codes.find_by_token(params[:code])
12
12
  success! code.user
13
- elsif !halted?
13
+ else
14
14
  oauth_error! :invalid_grant, 'invalid authorization code request'
15
15
  end
16
16
  end
@@ -32,6 +32,7 @@ module Devise
32
32
  body = {:error => error_code}
33
33
  body[:error_description] = description if description
34
34
  custom! [400, {'Content-Type' => 'application/json'}, [body.to_json]]
35
+ throw :warden
35
36
  end
36
37
  end
37
38
  end
@@ -11,7 +11,7 @@ module Devise
11
11
  resource = mapping.to.find_for_authentication(mapping.to.authentication_keys.first => params[:username])
12
12
  if validate(resource) { resource.valid_password?(params[:password]) }
13
13
  success! resource
14
- elsif !halted?
14
+ else
15
15
  oauth_error! :invalid_grant, 'invalid password authentication request'
16
16
  end
17
17
  end
@@ -14,7 +14,7 @@ module Devise
14
14
  resource = token ? token.user : nil
15
15
  if validate(resource)
16
16
  success! resource
17
- elsif !halted?
17
+ else
18
18
  fail(:invalid_token)
19
19
  end
20
20
  end
@@ -11,7 +11,7 @@ module Devise
11
11
  if refresh_token = client.refresh_tokens.find_by_token(params[:refresh_token])
12
12
  env[Devise::Oauth2Providable::REFRESH_TOKEN_ENV_REF] = refresh_token
13
13
  success! refresh_token.user
14
- elsif !halted?
14
+ else
15
15
  oauth_error! :invalid_grant, 'invalid refresh token'
16
16
  end
17
17
  end
@@ -1,5 +1,5 @@
1
1
  module Devise
2
2
  module Oauth2Providable
3
- VERSION = "1.1.1"
3
+ VERSION = "1.1.2"
4
4
  end
5
5
  end
@@ -1,7 +1,8 @@
1
1
  class CreateUsers < ActiveRecord::Migration
2
2
  def change
3
3
  create_table :users do |t|
4
- t.database_authenticatable
4
+ t.string :email
5
+ t.string :encrypted_password
5
6
  t.timestamps
6
7
  end
7
8
  end
@@ -7,7 +7,7 @@ describe Devise::Strategies::Oauth2AuthorizationCodeGrantTypeStrategy do
7
7
  with :client
8
8
  with :user
9
9
  before do
10
- @authorization_code = user.authorization_codes.create(:client_id => client, :redirect_uri => client.redirect_uri)
10
+ @authorization_code = user.authorization_codes.create!(:client => client, :redirect_uri => client.redirect_uri)
11
11
  params = {
12
12
  :grant_type => 'authorization_code',
13
13
  :client_id => client.identifier,
@@ -11,7 +11,9 @@ describe Devise::Oauth2Providable::AccessToken do
11
11
  it { should validate_presence_of :token }
12
12
  it { should validate_uniqueness_of :token }
13
13
  it { should belong_to :user }
14
+ it { should allow_mass_assignment_of :user }
14
15
  it { should belong_to :client }
16
+ it { should allow_mass_assignment_of :client }
15
17
  it { should validate_presence_of :client }
16
18
  it { should validate_presence_of :expires_at }
17
19
  it { should belong_to :refresh_token }
@@ -9,7 +9,9 @@ describe Devise::Oauth2Providable::AuthorizationCode do
9
9
  it { should validate_presence_of :token }
10
10
  it { should validate_uniqueness_of :token }
11
11
  it { should belong_to :user }
12
+ it { should allow_mass_assignment_of :user }
12
13
  it { should belong_to :client }
14
+ it { should allow_mass_assignment_of :client }
13
15
  it { should validate_presence_of :client }
14
16
  it { should validate_presence_of :expires_at }
15
17
  it { should have_db_index :client_id }
@@ -11,10 +11,13 @@ describe Devise::Oauth2Providable::RefreshToken do
11
11
  it { should validate_presence_of :token }
12
12
  it { should validate_uniqueness_of :token }
13
13
  it { should belong_to :user }
14
+ it { should allow_mass_assignment_of :user }
14
15
  it { should belong_to :client }
16
+ it { should allow_mass_assignment_of :client }
15
17
  it { should validate_presence_of :client }
16
18
  it { should validate_presence_of :expires_at }
17
19
  it { should have_many :access_tokens }
20
+ it { should allow_mass_assignment_of :access_tokens }
18
21
  it { should have_db_index :client_id }
19
22
  it { should have_db_index :user_id }
20
23
  it { should have_db_index(:token).unique(true) }
@@ -1,17 +1,14 @@
1
1
  require 'spec_helper'
2
2
 
3
3
  describe Devise::Oauth2Providable::AuthorizationsController do
4
- before :all do
5
- Devise::Oauth2Providable::Engine.load_engine_routes
6
- end
7
4
  describe 'routing' do
8
- it 'routes POST /oauth2/authorizations' do
5
+ pending 'routes POST /oauth2/authorizations' do
9
6
  post('/oauth2/authorizations').should route_to('devise/oauth2_providable/authorizations#create')
10
7
  end
11
- it 'routes GET /oauth2/authorize' do
8
+ pending 'routes GET /oauth2/authorize' do
12
9
  get('/oauth2/authorize').should route_to('devise/oauth2_providable/authorizations#new')
13
10
  end
14
- it 'routes POST /oauth2/authorize' do
11
+ pending 'routes POST /oauth2/authorize' do
15
12
  #FIXME: this is valid, but the route is not being loaded into the test
16
13
  post('/oauth2/authorize').should route_to('devise/oauth2_providable/authorizations#new')
17
14
  end
@@ -1,11 +1,8 @@
1
1
  require 'spec_helper'
2
2
 
3
3
  describe Devise::Oauth2Providable::TokensController do
4
- before :all do
5
- Devise::Oauth2Providable::Engine.load_engine_routes
6
- end
7
4
  describe 'routing' do
8
- it 'routes POST /oauth2/token' do
5
+ pending 'routes POST /oauth2/token' do
9
6
  post('/oauth2/token').should route_to('devise/oauth2_providable/tokens#create')
10
7
  end
11
8
  end
@@ -71,4 +71,4 @@ module Devise
71
71
  end
72
72
  end
73
73
 
74
- Rails::Engine.send(:include, Devise::Oauth2Providable::EngineHacks)
74
+ # Rails::Engine.send(:include, Devise::Oauth2Providable::EngineHacks)
@@ -1,6 +1,6 @@
1
1
  # "{'foo': 'bar'}".should match_json {:foo => :bar}
2
2
  RSpec::Matchers.define :match_json do |expected|
3
3
  match do |actual|
4
- ActiveSupport::JSON.backend.decode(actual) == ActiveSupport::JSON.backend.decode(expected.to_json)
4
+ ActiveSupport::JSON.backend.load(actual) == ActiveSupport::JSON.backend.load(expected.to_json)
5
5
  end
6
6
  end
metadata CHANGED
@@ -1,196 +1,184 @@
1
- --- !ruby/object:Gem::Specification
1
+ --- !ruby/object:Gem::Specification
2
2
  name: devise_oauth2_providable
3
- version: !ruby/object:Gem::Version
4
- hash: 17
3
+ version: !ruby/object:Gem::Version
4
+ version: 1.1.2
5
5
  prerelease:
6
- segments:
7
- - 1
8
- - 1
9
- - 1
10
- version: 1.1.1
11
6
  platform: ruby
12
- authors:
7
+ authors:
13
8
  - Ryan Sonnek
14
9
  autorequire:
15
10
  bindir: bin
16
11
  cert_chain: []
17
-
18
- date: 2012-05-24 00:00:00 Z
19
- dependencies:
20
- - !ruby/object:Gem::Dependency
21
- version_requirements: &id001 !ruby/object:Gem::Requirement
12
+ date: 2012-07-10 00:00:00.000000000 Z
13
+ dependencies:
14
+ - !ruby/object:Gem::Dependency
15
+ name: rails
16
+ requirement: !ruby/object:Gem::Requirement
22
17
  none: false
23
- requirements:
24
- - - ">="
25
- - !ruby/object:Gem::Version
26
- hash: 3
27
- segments:
28
- - 3
29
- - 1
30
- - 0
18
+ requirements:
19
+ - - ! '>='
20
+ - !ruby/object:Gem::Version
31
21
  version: 3.1.0
32
- requirement: *id001
33
- prerelease: false
34
- name: rails
35
22
  type: :runtime
36
- - !ruby/object:Gem::Dependency
37
- version_requirements: &id002 !ruby/object:Gem::Requirement
38
- none: false
39
- requirements:
40
- - - ">="
41
- - !ruby/object:Gem::Version
42
- hash: 1
43
- segments:
44
- - 1
45
- - 4
46
- - 3
47
- version: 1.4.3
48
- requirement: *id002
49
23
  prerelease: false
24
+ version_requirements: !ruby/object:Gem::Requirement
25
+ none: false
26
+ requirements:
27
+ - - ! '>='
28
+ - !ruby/object:Gem::Version
29
+ version: 3.1.0
30
+ - !ruby/object:Gem::Dependency
50
31
  name: devise
32
+ requirement: !ruby/object:Gem::Requirement
33
+ none: false
34
+ requirements:
35
+ - - ! '>='
36
+ - !ruby/object:Gem::Version
37
+ version: 1.4.3
51
38
  type: :runtime
52
- - !ruby/object:Gem::Dependency
53
- version_requirements: &id003 !ruby/object:Gem::Requirement
39
+ prerelease: false
40
+ version_requirements: !ruby/object:Gem::Requirement
54
41
  none: false
55
- requirements:
42
+ requirements:
43
+ - - ! '>='
44
+ - !ruby/object:Gem::Version
45
+ version: 1.4.3
46
+ - !ruby/object:Gem::Dependency
47
+ name: rack-oauth2
48
+ requirement: !ruby/object:Gem::Requirement
49
+ none: false
50
+ requirements:
56
51
  - - ~>
57
- - !ruby/object:Gem::Version
58
- hash: 51
59
- segments:
60
- - 0
61
- - 11
62
- - 0
52
+ - !ruby/object:Gem::Version
63
53
  version: 0.11.0
64
- requirement: *id003
65
- prerelease: false
66
- name: rack-oauth2
67
54
  type: :runtime
68
- - !ruby/object:Gem::Dependency
69
- version_requirements: &id004 !ruby/object:Gem::Requirement
70
- none: false
71
- requirements:
72
- - - "="
73
- - !ruby/object:Gem::Version
74
- hash: 21
75
- segments:
76
- - 2
77
- - 6
78
- - 1
79
- version: 2.6.1
80
- requirement: *id004
81
55
  prerelease: false
56
+ version_requirements: !ruby/object:Gem::Requirement
57
+ none: false
58
+ requirements:
59
+ - - ~>
60
+ - !ruby/object:Gem::Version
61
+ version: 0.11.0
62
+ - !ruby/object:Gem::Dependency
82
63
  name: rspec-rails
83
- type: :development
84
- - !ruby/object:Gem::Dependency
85
- version_requirements: &id005 !ruby/object:Gem::Requirement
64
+ requirement: !ruby/object:Gem::Requirement
86
65
  none: false
87
- requirements:
88
- - - "="
89
- - !ruby/object:Gem::Version
90
- hash: 19
91
- segments:
92
- - 1
93
- - 3
94
- - 4
95
- version: 1.3.4
96
- requirement: *id005
66
+ requirements:
67
+ - - '='
68
+ - !ruby/object:Gem::Version
69
+ version: 2.6.1
70
+ type: :development
97
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.1
78
+ - !ruby/object:Gem::Dependency
98
79
  name: sqlite3
99
- type: :development
100
- - !ruby/object:Gem::Dependency
101
- version_requirements: &id006 !ruby/object:Gem::Requirement
80
+ requirement: !ruby/object:Gem::Requirement
102
81
  none: false
103
- requirements:
104
- - - "="
105
- - !ruby/object:Gem::Version
106
- hash: 62196357
107
- segments:
108
- - 1
109
- - 0
110
- - 0
111
- - beta
112
- - 3
113
- version: 1.0.0.beta3
114
- requirement: *id006
82
+ requirements:
83
+ - - '='
84
+ - !ruby/object:Gem::Version
85
+ version: 1.3.5
86
+ type: :development
115
87
  prerelease: false
88
+ version_requirements: !ruby/object:Gem::Requirement
89
+ none: false
90
+ requirements:
91
+ - - '='
92
+ - !ruby/object:Gem::Version
93
+ version: 1.3.5
94
+ - !ruby/object:Gem::Dependency
116
95
  name: shoulda-matchers
117
- type: :development
118
- - !ruby/object:Gem::Dependency
119
- version_requirements: &id007 !ruby/object:Gem::Requirement
96
+ requirement: !ruby/object:Gem::Requirement
120
97
  none: false
121
- requirements:
122
- - - "="
123
- - !ruby/object:Gem::Version
124
- hash: 27
125
- segments:
126
- - 0
127
- - 9
128
- - 6
129
- - 2
130
- version: 0.9.6.2
131
- requirement: *id007
98
+ requirements:
99
+ - - '='
100
+ - !ruby/object:Gem::Version
101
+ version: 1.0.0.beta3
102
+ type: :development
132
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.beta3
110
+ - !ruby/object:Gem::Dependency
133
111
  name: pry
134
- type: :development
135
- - !ruby/object:Gem::Dependency
136
- version_requirements: &id008 !ruby/object:Gem::Requirement
112
+ requirement: !ruby/object:Gem::Requirement
137
113
  none: false
138
- requirements:
139
- - - "="
140
- - !ruby/object:Gem::Version
141
- hash: 7
142
- segments:
143
- - 2
144
- - 2
145
- - 0
146
- version: 2.2.0
147
- requirement: *id008
114
+ requirements:
115
+ - - '='
116
+ - !ruby/object:Gem::Version
117
+ version: 0.9.6.2
118
+ type: :development
148
119
  prerelease: false
120
+ version_requirements: !ruby/object:Gem::Requirement
121
+ none: false
122
+ requirements:
123
+ - - '='
124
+ - !ruby/object:Gem::Version
125
+ version: 0.9.6.2
126
+ - !ruby/object:Gem::Dependency
149
127
  name: factory_girl
150
- type: :development
151
- - !ruby/object:Gem::Dependency
152
- version_requirements: &id009 !ruby/object:Gem::Requirement
128
+ requirement: !ruby/object:Gem::Requirement
153
129
  none: false
154
- requirements:
155
- - - "="
156
- - !ruby/object:Gem::Version
157
- hash: 29
158
- segments:
159
- - 0
160
- - 0
161
- - 1
162
- version: 0.0.1
163
- requirement: *id009
130
+ requirements:
131
+ - - '='
132
+ - !ruby/object:Gem::Version
133
+ version: 2.2.0
134
+ type: :development
164
135
  prerelease: false
136
+ version_requirements: !ruby/object:Gem::Requirement
137
+ none: false
138
+ requirements:
139
+ - - '='
140
+ - !ruby/object:Gem::Version
141
+ version: 2.2.0
142
+ - !ruby/object:Gem::Dependency
165
143
  name: factory_girl_rspec
166
- type: :development
167
- - !ruby/object:Gem::Dependency
168
- version_requirements: &id010 !ruby/object:Gem::Requirement
144
+ requirement: !ruby/object:Gem::Requirement
169
145
  none: false
170
- requirements:
171
- - - "="
172
- - !ruby/object:Gem::Version
173
- hash: 11
174
- segments:
175
- - 0
176
- - 9
177
- - 2
178
- - 2
179
- version: 0.9.2.2
180
- requirement: *id010
146
+ requirements:
147
+ - - '='
148
+ - !ruby/object:Gem::Version
149
+ version: 0.0.1
150
+ type: :development
181
151
  prerelease: false
152
+ version_requirements: !ruby/object:Gem::Requirement
153
+ none: false
154
+ requirements:
155
+ - - '='
156
+ - !ruby/object:Gem::Version
157
+ version: 0.0.1
158
+ - !ruby/object:Gem::Dependency
182
159
  name: rake
160
+ requirement: !ruby/object:Gem::Requirement
161
+ none: false
162
+ requirements:
163
+ - - '='
164
+ - !ruby/object:Gem::Version
165
+ version: 0.9.2.2
183
166
  type: :development
184
- description: Rails3 engine that adds OAuth2 Provider support to any application built with Devise authentication
185
- email:
167
+ prerelease: false
168
+ version_requirements: !ruby/object:Gem::Requirement
169
+ none: false
170
+ requirements:
171
+ - - '='
172
+ - !ruby/object:Gem::Version
173
+ version: 0.9.2.2
174
+ description: Rails3 engine that adds OAuth2 Provider support to any application built
175
+ with Devise authentication
176
+ email:
186
177
  - ryan@socialcast.com
187
178
  executables: []
188
-
189
179
  extensions: []
190
-
191
180
  extra_rdoc_files: []
192
-
193
- files:
181
+ files:
194
182
  - .gitignore
195
183
  - .rvmrc
196
184
  - CONTRIBUTORS.txt
@@ -280,40 +268,37 @@ files:
280
268
  - spec/spec_helper.rb
281
269
  - spec/support/inject_engine_routes_into_application.rb
282
270
  - spec/support/match_json.rb
283
- homepage: ""
271
+ homepage: ''
284
272
  licenses: []
285
-
286
273
  post_install_message:
287
274
  rdoc_options: []
288
-
289
- require_paths:
275
+ require_paths:
290
276
  - lib
291
- required_ruby_version: !ruby/object:Gem::Requirement
277
+ required_ruby_version: !ruby/object:Gem::Requirement
292
278
  none: false
293
- requirements:
294
- - - ">="
295
- - !ruby/object:Gem::Version
296
- hash: 3
297
- segments:
279
+ requirements:
280
+ - - ! '>='
281
+ - !ruby/object:Gem::Version
282
+ version: '0'
283
+ segments:
298
284
  - 0
299
- version: "0"
300
- required_rubygems_version: !ruby/object:Gem::Requirement
285
+ hash: 2996093028811808699
286
+ required_rubygems_version: !ruby/object:Gem::Requirement
301
287
  none: false
302
- requirements:
303
- - - ">="
304
- - !ruby/object:Gem::Version
305
- hash: 3
306
- segments:
288
+ requirements:
289
+ - - ! '>='
290
+ - !ruby/object:Gem::Version
291
+ version: '0'
292
+ segments:
307
293
  - 0
308
- version: "0"
294
+ hash: 2996093028811808699
309
295
  requirements: []
310
-
311
296
  rubyforge_project: devise_oauth2_providable
312
- rubygems_version: 1.8.10
297
+ rubygems_version: 1.8.24
313
298
  signing_key:
314
299
  specification_version: 3
315
300
  summary: OAuth2 Provider for Rails3 applications
316
- test_files:
301
+ test_files:
317
302
  - spec/controllers/authorizations_controller_spec.rb
318
303
  - spec/controllers/protected_controller_spec.rb
319
304
  - spec/dummy/Rakefile