opro 0.4.3 → 0.5.0

Sign up to get free protection for your applications and to get access to all the features.
@@ -11,8 +11,7 @@ module Opro::Controllers::Concerns::RateLimits
11
11
  end
12
12
 
13
13
  def oauth_client_rate_limited?(client_id, params)
14
-
15
-
14
+ # implement your rate limiting algorithm here
16
15
  end
17
16
 
18
17
 
@@ -7,9 +7,9 @@ module ActionDispatch::Routing
7
7
  controllers = options[:controllers] || {}
8
8
 
9
9
  oauth_new_controller = controllers[:oauth_new] || 'opro/oauth/auth'
10
- match 'oauth/new' => "#{oauth_new_controller}#new", :as => 'oauth_new'
11
- match 'oauth/authorize' => 'opro/oauth/auth#create', :as => 'oauth_authorize'
12
- match 'oauth/token' => 'opro/oauth/token#create', :as => 'oauth_token'
10
+ get 'oauth/new' => "#{oauth_new_controller}#new", :as => 'oauth_new'
11
+ post 'oauth/authorize' => 'opro/oauth/auth#create', :as => 'oauth_authorize'
12
+ post 'oauth/token' => 'opro/oauth/token#create', :as => 'oauth_token'
13
13
 
14
14
  unless skip_routes.include?(:client_apps)
15
15
  oauth_client_apps = controllers[:oauth_client_apps] ||'opro/oauth/client_app'
@@ -5,11 +5,11 @@
5
5
 
6
6
  Gem::Specification.new do |s|
7
7
  s.name = "opro"
8
- s.version = "0.4.3"
8
+ s.version = "0.5.0"
9
9
 
10
10
  s.required_rubygems_version = Gem::Requirement.new(">= 0") if s.respond_to? :required_rubygems_version=
11
11
  s.authors = ["schneems"]
12
- s.date = "2012-11-17"
12
+ s.date = "2013-05-15"
13
13
  s.description = " Enable OAuth clients (iphone, android, web sites, etc.) to access and use your Rails application, what you do with it is up to you"
14
14
  s.email = "richard.schneeman@gmail.com"
15
15
  s.extra_rdoc_files = [
@@ -19,7 +19,6 @@ Gem::Specification.new do |s|
19
19
  ".travis.yml",
20
20
  "CHANGELOG.md",
21
21
  "Gemfile",
22
- "Gemfile.lock",
23
22
  "MIT-LICENSE",
24
23
  "README.md",
25
24
  "Rakefile",
@@ -53,6 +52,7 @@ Gem::Specification.new do |s|
53
52
  "lib/generators/opro/install_generator.rb",
54
53
  "lib/generators/templates/opro.rb",
55
54
  "lib/opro.rb",
55
+ "lib/opro/auth_provider/devise.rb",
56
56
  "lib/opro/controllers/application_controller_helper.rb",
57
57
  "lib/opro/controllers/concerns/error_messages.rb",
58
58
  "lib/opro/controllers/concerns/permissions.rb",
@@ -124,55 +124,49 @@ Gem::Specification.new do |s|
124
124
  s.homepage = "http://github.com/schneems/opro"
125
125
  s.licenses = ["MIT"]
126
126
  s.require_paths = ["lib"]
127
- s.rubygems_version = "1.8.10"
127
+ s.rubygems_version = "1.8.25"
128
128
  s.summary = "oPRO turns your Rails application into an OAuth Provider"
129
129
 
130
130
  if s.respond_to? :specification_version then
131
131
  s.specification_version = 3
132
132
 
133
133
  if Gem::Version.new(Gem::VERSION) >= Gem::Version.new('1.2.0') then
134
- s.add_runtime_dependency(%q<activesupport>, [">= 3.1.0"])
135
134
  s.add_runtime_dependency(%q<rails>, [">= 3.1.0"])
136
135
  s.add_runtime_dependency(%q<kramdown>, [">= 0"])
137
136
  s.add_development_dependency(%q<mocha>, [">= 0"])
138
137
  s.add_development_dependency(%q<timecop>, [">= 0"])
139
138
  s.add_development_dependency(%q<jeweler>, ["~> 1.6.4"])
140
- s.add_development_dependency(%q<bundler>, [">= 1.1.3"])
141
139
  s.add_development_dependency(%q<capybara>, [">= 0.4.0"])
142
140
  s.add_development_dependency(%q<launchy>, [">= 0"])
143
141
  s.add_development_dependency(%q<sqlite3>, [">= 0"])
144
- s.add_development_dependency(%q<activerecord-jdbcsqlite3-adapter>, [">= 0"])
142
+ s.add_development_dependency(%q<activerecord-jdbcsqlite3-adapter>, [">= 1.3.0.beta"])
145
143
  s.add_development_dependency(%q<jdbc-sqlite3>, [">= 0"])
146
- s.add_development_dependency(%q<devise>, [">= 0"])
144
+ s.add_development_dependency(%q<devise>, ["~> 2.2"])
147
145
  else
148
- s.add_dependency(%q<activesupport>, [">= 3.1.0"])
149
146
  s.add_dependency(%q<rails>, [">= 3.1.0"])
150
147
  s.add_dependency(%q<kramdown>, [">= 0"])
151
148
  s.add_dependency(%q<mocha>, [">= 0"])
152
149
  s.add_dependency(%q<timecop>, [">= 0"])
153
150
  s.add_dependency(%q<jeweler>, ["~> 1.6.4"])
154
- s.add_dependency(%q<bundler>, [">= 1.1.3"])
155
151
  s.add_dependency(%q<capybara>, [">= 0.4.0"])
156
152
  s.add_dependency(%q<launchy>, [">= 0"])
157
153
  s.add_dependency(%q<sqlite3>, [">= 0"])
158
- s.add_dependency(%q<activerecord-jdbcsqlite3-adapter>, [">= 0"])
154
+ s.add_dependency(%q<activerecord-jdbcsqlite3-adapter>, [">= 1.3.0.beta"])
159
155
  s.add_dependency(%q<jdbc-sqlite3>, [">= 0"])
160
- s.add_dependency(%q<devise>, [">= 0"])
156
+ s.add_dependency(%q<devise>, ["~> 2.2"])
161
157
  end
162
158
  else
163
- s.add_dependency(%q<activesupport>, [">= 3.1.0"])
164
159
  s.add_dependency(%q<rails>, [">= 3.1.0"])
165
160
  s.add_dependency(%q<kramdown>, [">= 0"])
166
161
  s.add_dependency(%q<mocha>, [">= 0"])
167
162
  s.add_dependency(%q<timecop>, [">= 0"])
168
163
  s.add_dependency(%q<jeweler>, ["~> 1.6.4"])
169
- s.add_dependency(%q<bundler>, [">= 1.1.3"])
170
164
  s.add_dependency(%q<capybara>, [">= 0.4.0"])
171
165
  s.add_dependency(%q<launchy>, [">= 0"])
172
166
  s.add_dependency(%q<sqlite3>, [">= 0"])
173
- s.add_dependency(%q<activerecord-jdbcsqlite3-adapter>, [">= 0"])
167
+ s.add_dependency(%q<activerecord-jdbcsqlite3-adapter>, [">= 1.3.0.beta"])
174
168
  s.add_dependency(%q<jdbc-sqlite3>, [">= 0"])
175
- s.add_dependency(%q<devise>, [">= 0"])
169
+ s.add_dependency(%q<devise>, ["~> 2.2"])
176
170
  end
177
171
  end
178
172
 
@@ -11,7 +11,7 @@ class Opro::Oauth::TestsControllerTest < ActionController::TestCase
11
11
 
12
12
  test "access_token with write ability can :POST" do
13
13
  permissions = {'write' => true}
14
- @auth_grant.update_attributes(:permissions => permissions)
14
+ @auth_grant.update_permissions(permissions)
15
15
 
16
16
  post :create, :access_token => @auth_grant.access_token, :format => :json
17
17
  assert_response :success
@@ -20,7 +20,7 @@ class Opro::Oauth::TestsControllerTest < ActionController::TestCase
20
20
 
21
21
  test "access_token with NO write ability can NOT POST" do
22
22
  permissions = {:write => false}
23
- @auth_grant.update_attributes(:permissions => permissions)
23
+ @auth_grant.update_permissions(permissions)
24
24
  post :create, :access_token => @auth_grant.access_token, :format => :json
25
25
  assert_response 401
26
26
  end
@@ -5,6 +5,8 @@ class User < ActiveRecord::Base
5
5
  :rememberable, :trackable, :validatable
6
6
 
7
7
  # Setup accessible (or protected) attributes for your model
8
- attr_accessible :email, :password, :password_confirmation, :remember_me
8
+ # attr_accessible :email, :password, :password_confirmation, :remember_me
9
+ attr_accessor :password_confirmation
10
+
9
11
  # attr_accessible :title, :body
10
12
  end
@@ -113,7 +113,7 @@ Devise.setup do |config|
113
113
 
114
114
  # If true, uses the password salt as remember token. This should be turned
115
115
  # to false if you are not using database authenticatable.
116
- config.use_salt_as_remember_token = true
116
+ # config.use_salt_as_remember_token = true
117
117
 
118
118
  # Options to be passed to the created cookie. For instance, you can set
119
119
  # :secure => true in order to force SSL only cookies.
@@ -32,7 +32,7 @@ class OauthTokenTest < ActionDispatch::IntegrationTest
32
32
 
33
33
  test 'header authorization token' do
34
34
  auth_grant = create_auth_grant_for_user(@user)
35
- auth_grant.update_attributes(:permissions => {:write => true})
35
+ auth_grant.update_permissions(:write => true)
36
36
 
37
37
  # curl -H "Authorization: token OAUTH-TOKEN" http://localhost:3000
38
38
  # sets request.env["HTTP_AUTHORIZATION"] to "token OAUTH-TOKEN"
@@ -14,7 +14,7 @@ class RateLimitTest < ActionDispatch::IntegrationTest
14
14
  @params = {:client_id => @client_app.client_id ,
15
15
  :client_secret => @client_app.client_secret,
16
16
  :access_token => @auth_grant.access_token}
17
- @auth_grant.update_attributes(:permissions => {:write => true})
17
+ @auth_grant.update_permissions(:write => true)
18
18
  end
19
19
 
20
20
  test "A rate limited app does not get a valid user" do
@@ -13,7 +13,7 @@ ENGINE_RAILS_ROOT=File.join(File.dirname(__FILE__), '../')
13
13
  require File.expand_path("../dummy/config/environment.rb", __FILE__)
14
14
  require "rails/test_help"
15
15
 
16
- require 'mocha'
16
+ require 'mocha/setup'
17
17
  require 'timecop'
18
18
  require 'database_cleaner'
19
19
  DatabaseCleaner.strategy = :truncation
@@ -60,7 +60,12 @@ end
60
60
 
61
61
 
62
62
  def create_user(options = {})
63
- User.create(:email => rand_name + '@bar.com', :password => 'password', :password_confirm => 'password')
63
+ user = User.new
64
+ user.email = rand_name + '@bar.com'
65
+ user.password = 'password'
66
+ user.password_confirmation = 'password'
67
+ user.save
68
+ user
64
69
  end
65
70
 
66
71
  def create_client_app(options= {})
@@ -78,7 +83,11 @@ end
78
83
  def create_auth_grant_for_user(user = nil, app = nil)
79
84
  app ||= create_client_app
80
85
  user ||= create_user
81
- Opro::Oauth::AuthGrant.create(:user => user, :application => app)
86
+ auth_grant = Opro::Oauth::AuthGrant.new
87
+ auth_grant.user = user
88
+ auth_grant.application = app
89
+ auth_grant.save
90
+ auth_grant
82
91
  end
83
92
 
84
93
  alias :create_auth_grant :create_auth_grant_for_user
metadata CHANGED
@@ -1,7 +1,7 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: opro
3
3
  version: !ruby/object:Gem::Version
4
- version: 0.4.3
4
+ version: 0.5.0
5
5
  prerelease:
6
6
  platform: ruby
7
7
  authors:
@@ -9,11 +9,11 @@ authors:
9
9
  autorequire:
10
10
  bindir: bin
11
11
  cert_chain: []
12
- date: 2012-11-17 00:00:00.000000000Z
12
+ date: 2013-05-15 00:00:00.000000000 Z
13
13
  dependencies:
14
14
  - !ruby/object:Gem::Dependency
15
- name: activesupport
16
- requirement: &70297244933200 !ruby/object:Gem::Requirement
15
+ name: rails
16
+ requirement: !ruby/object:Gem::Requirement
17
17
  none: false
18
18
  requirements:
19
19
  - - ! '>='
@@ -21,21 +21,15 @@ dependencies:
21
21
  version: 3.1.0
22
22
  type: :runtime
23
23
  prerelease: false
24
- version_requirements: *70297244933200
25
- - !ruby/object:Gem::Dependency
26
- name: rails
27
- requirement: &70297244932520 !ruby/object:Gem::Requirement
24
+ version_requirements: !ruby/object:Gem::Requirement
28
25
  none: false
29
26
  requirements:
30
27
  - - ! '>='
31
28
  - !ruby/object:Gem::Version
32
29
  version: 3.1.0
33
- type: :runtime
34
- prerelease: false
35
- version_requirements: *70297244932520
36
30
  - !ruby/object:Gem::Dependency
37
31
  name: kramdown
38
- requirement: &70297244931780 !ruby/object:Gem::Requirement
32
+ requirement: !ruby/object:Gem::Requirement
39
33
  none: false
40
34
  requirements:
41
35
  - - ! '>='
@@ -43,10 +37,15 @@ dependencies:
43
37
  version: '0'
44
38
  type: :runtime
45
39
  prerelease: false
46
- version_requirements: *70297244931780
40
+ version_requirements: !ruby/object:Gem::Requirement
41
+ none: false
42
+ requirements:
43
+ - - ! '>='
44
+ - !ruby/object:Gem::Version
45
+ version: '0'
47
46
  - !ruby/object:Gem::Dependency
48
47
  name: mocha
49
- requirement: &70297244931120 !ruby/object:Gem::Requirement
48
+ requirement: !ruby/object:Gem::Requirement
50
49
  none: false
51
50
  requirements:
52
51
  - - ! '>='
@@ -54,10 +53,15 @@ dependencies:
54
53
  version: '0'
55
54
  type: :development
56
55
  prerelease: false
57
- version_requirements: *70297244931120
56
+ version_requirements: !ruby/object:Gem::Requirement
57
+ none: false
58
+ requirements:
59
+ - - ! '>='
60
+ - !ruby/object:Gem::Version
61
+ version: '0'
58
62
  - !ruby/object:Gem::Dependency
59
63
  name: timecop
60
- requirement: &70297244930600 !ruby/object:Gem::Requirement
64
+ requirement: !ruby/object:Gem::Requirement
61
65
  none: false
62
66
  requirements:
63
67
  - - ! '>='
@@ -65,10 +69,15 @@ dependencies:
65
69
  version: '0'
66
70
  type: :development
67
71
  prerelease: false
68
- version_requirements: *70297244930600
72
+ version_requirements: !ruby/object:Gem::Requirement
73
+ none: false
74
+ requirements:
75
+ - - ! '>='
76
+ - !ruby/object:Gem::Version
77
+ version: '0'
69
78
  - !ruby/object:Gem::Dependency
70
79
  name: jeweler
71
- requirement: &70297244930000 !ruby/object:Gem::Requirement
80
+ requirement: !ruby/object:Gem::Requirement
72
81
  none: false
73
82
  requirements:
74
83
  - - ~>
@@ -76,21 +85,15 @@ dependencies:
76
85
  version: 1.6.4
77
86
  type: :development
78
87
  prerelease: false
79
- version_requirements: *70297244930000
80
- - !ruby/object:Gem::Dependency
81
- name: bundler
82
- requirement: &70297244929400 !ruby/object:Gem::Requirement
88
+ version_requirements: !ruby/object:Gem::Requirement
83
89
  none: false
84
90
  requirements:
85
- - - ! '>='
91
+ - - ~>
86
92
  - !ruby/object:Gem::Version
87
- version: 1.1.3
88
- type: :development
89
- prerelease: false
90
- version_requirements: *70297244929400
93
+ version: 1.6.4
91
94
  - !ruby/object:Gem::Dependency
92
95
  name: capybara
93
- requirement: &70297244928580 !ruby/object:Gem::Requirement
96
+ requirement: !ruby/object:Gem::Requirement
94
97
  none: false
95
98
  requirements:
96
99
  - - ! '>='
@@ -98,10 +101,15 @@ dependencies:
98
101
  version: 0.4.0
99
102
  type: :development
100
103
  prerelease: false
101
- version_requirements: *70297244928580
104
+ version_requirements: !ruby/object:Gem::Requirement
105
+ none: false
106
+ requirements:
107
+ - - ! '>='
108
+ - !ruby/object:Gem::Version
109
+ version: 0.4.0
102
110
  - !ruby/object:Gem::Dependency
103
111
  name: launchy
104
- requirement: &70297244927960 !ruby/object:Gem::Requirement
112
+ requirement: !ruby/object:Gem::Requirement
105
113
  none: false
106
114
  requirements:
107
115
  - - ! '>='
@@ -109,10 +117,15 @@ dependencies:
109
117
  version: '0'
110
118
  type: :development
111
119
  prerelease: false
112
- version_requirements: *70297244927960
120
+ version_requirements: !ruby/object:Gem::Requirement
121
+ none: false
122
+ requirements:
123
+ - - ! '>='
124
+ - !ruby/object:Gem::Version
125
+ version: '0'
113
126
  - !ruby/object:Gem::Dependency
114
127
  name: sqlite3
115
- requirement: &70297244927220 !ruby/object:Gem::Requirement
128
+ requirement: !ruby/object:Gem::Requirement
116
129
  none: false
117
130
  requirements:
118
131
  - - ! '>='
@@ -120,21 +133,31 @@ dependencies:
120
133
  version: '0'
121
134
  type: :development
122
135
  prerelease: false
123
- version_requirements: *70297244927220
136
+ version_requirements: !ruby/object:Gem::Requirement
137
+ none: false
138
+ requirements:
139
+ - - ! '>='
140
+ - !ruby/object:Gem::Version
141
+ version: '0'
124
142
  - !ruby/object:Gem::Dependency
125
143
  name: activerecord-jdbcsqlite3-adapter
126
- requirement: &70297244926520 !ruby/object:Gem::Requirement
144
+ requirement: !ruby/object:Gem::Requirement
127
145
  none: false
128
146
  requirements:
129
147
  - - ! '>='
130
148
  - !ruby/object:Gem::Version
131
- version: '0'
149
+ version: 1.3.0.beta
132
150
  type: :development
133
151
  prerelease: false
134
- version_requirements: *70297244926520
152
+ version_requirements: !ruby/object:Gem::Requirement
153
+ none: false
154
+ requirements:
155
+ - - ! '>='
156
+ - !ruby/object:Gem::Version
157
+ version: 1.3.0.beta
135
158
  - !ruby/object:Gem::Dependency
136
159
  name: jdbc-sqlite3
137
- requirement: &70297244925900 !ruby/object:Gem::Requirement
160
+ requirement: !ruby/object:Gem::Requirement
138
161
  none: false
139
162
  requirements:
140
163
  - - ! '>='
@@ -142,18 +165,28 @@ dependencies:
142
165
  version: '0'
143
166
  type: :development
144
167
  prerelease: false
145
- version_requirements: *70297244925900
146
- - !ruby/object:Gem::Dependency
147
- name: devise
148
- requirement: &70297244925300 !ruby/object:Gem::Requirement
168
+ version_requirements: !ruby/object:Gem::Requirement
149
169
  none: false
150
170
  requirements:
151
171
  - - ! '>='
152
172
  - !ruby/object:Gem::Version
153
173
  version: '0'
174
+ - !ruby/object:Gem::Dependency
175
+ name: devise
176
+ requirement: !ruby/object:Gem::Requirement
177
+ none: false
178
+ requirements:
179
+ - - ~>
180
+ - !ruby/object:Gem::Version
181
+ version: '2.2'
154
182
  type: :development
155
183
  prerelease: false
156
- version_requirements: *70297244925300
184
+ version_requirements: !ruby/object:Gem::Requirement
185
+ none: false
186
+ requirements:
187
+ - - ~>
188
+ - !ruby/object:Gem::Version
189
+ version: '2.2'
157
190
  description: ! ' Enable OAuth clients (iphone, android, web sites, etc.) to access
158
191
  and use your Rails application, what you do with it is up to you'
159
192
  email: richard.schneeman@gmail.com
@@ -165,7 +198,6 @@ files:
165
198
  - .travis.yml
166
199
  - CHANGELOG.md
167
200
  - Gemfile
168
- - Gemfile.lock
169
201
  - MIT-LICENSE
170
202
  - README.md
171
203
  - Rakefile
@@ -199,6 +231,7 @@ files:
199
231
  - lib/generators/opro/install_generator.rb
200
232
  - lib/generators/templates/opro.rb
201
233
  - lib/opro.rb
234
+ - lib/opro/auth_provider/devise.rb
202
235
  - lib/opro/controllers/application_controller_helper.rb
203
236
  - lib/opro/controllers/concerns/error_messages.rb
204
237
  - lib/opro/controllers/concerns/permissions.rb
@@ -281,7 +314,7 @@ required_ruby_version: !ruby/object:Gem::Requirement
281
314
  version: '0'
282
315
  segments:
283
316
  - 0
284
- hash: -2443235425097345828
317
+ hash: -1215204679170587691
285
318
  required_rubygems_version: !ruby/object:Gem::Requirement
286
319
  none: false
287
320
  requirements:
@@ -290,7 +323,7 @@ required_rubygems_version: !ruby/object:Gem::Requirement
290
323
  version: '0'
291
324
  requirements: []
292
325
  rubyforge_project:
293
- rubygems_version: 1.8.10
326
+ rubygems_version: 1.8.25
294
327
  signing_key:
295
328
  specification_version: 3
296
329
  summary: oPRO turns your Rails application into an OAuth Provider