sorcery 0.3.1 → 0.4.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/Gemfile +3 -2
- data/Gemfile.lock +13 -11
- data/README.rdoc +89 -61
- data/Rakefile +4 -4
- data/VERSION +1 -1
- data/lib/generators/sorcery_migration/templates/core.rb +2 -2
- data/lib/sorcery/controller/submodules/http_basic_auth.rb +1 -1
- data/lib/sorcery/controller.rb +16 -18
- data/lib/sorcery/crypto_providers/bcrypt.rb +3 -5
- data/lib/sorcery/crypto_providers/common.rb +35 -0
- data/lib/sorcery/crypto_providers/md5.rb +3 -23
- data/lib/sorcery/crypto_providers/sha1.rb +4 -16
- data/lib/sorcery/crypto_providers/sha256.rb +3 -23
- data/lib/sorcery/crypto_providers/sha512.rb +3 -23
- data/lib/sorcery/engine.rb +4 -0
- data/lib/sorcery/initializers/initializer.rb +86 -0
- data/lib/sorcery/model/submodules/activity_logging.rb +1 -1
- data/lib/sorcery/model/submodules/brute_force_protection.rb +1 -1
- data/lib/sorcery/model/submodules/reset_password.rb +1 -1
- data/lib/sorcery/model.rb +25 -3
- data/lib/sorcery/railties/tasks.rake +10 -0
- data/lib/sorcery/sinatra.rb +0 -9
- data/lib/sorcery/test_helpers/internal/rails.rb +52 -0
- data/lib/sorcery/test_helpers/internal/sinatra.rb +122 -0
- data/lib/sorcery/test_helpers/internal.rb +55 -0
- data/lib/sorcery/test_helpers/rails.rb +5 -46
- data/lib/sorcery/test_helpers/sinatra.rb +58 -104
- data/lib/sorcery/test_helpers.rb +0 -35
- data/lib/sorcery.rb +8 -0
- data/sorcery.gemspec +140 -146
- data/spec/Gemfile +2 -2
- data/spec/Gemfile.lock +20 -12
- data/spec/Rakefile +1 -0
- data/spec/rails3/.rspec +1 -1
- data/spec/rails3/{app_root/Gemfile → Gemfile} +4 -4
- data/spec/rails3/{app_root/Gemfile.lock → Gemfile.lock} +20 -20
- data/spec/rails3/{app_root/Rakefile → Rakefile} +1 -0
- data/spec/rails3/config/database.yml +27 -0
- data/spec/rails3/{app_root/spec → spec}/controller_activity_logging_spec.rb +2 -4
- data/spec/rails3/{app_root/spec → spec}/controller_brute_force_protection_spec.rb +3 -2
- data/spec/rails3/{app_root/spec → spec}/controller_oauth2_spec.rb +10 -9
- data/spec/rails3/{app_root/spec → spec}/controller_oauth_spec.rb +8 -8
- data/spec/rails3/spec/controller_session_timeout_spec.rb +55 -0
- data/spec/rails3/{app_root/spec → spec}/controller_spec.rb +6 -16
- data/spec/rails3/spec/spec.opts +2 -0
- data/spec/rails3/spec/spec_helper.rb +70 -0
- data/spec/rails3/{app_root/spec → spec}/user_activation_spec.rb +7 -13
- data/spec/rails3/{app_root/spec → spec}/user_brute_force_protection_spec.rb +2 -30
- data/spec/rails3/{app_root/spec → spec}/user_oauth_spec.rb +3 -3
- data/spec/rails3/{app_root/spec → spec}/user_remember_me_spec.rb +3 -11
- data/spec/rails3/{app_root/spec → spec}/user_reset_password_spec.rb +20 -17
- data/spec/rails3/{app_root/spec → spec}/user_spec.rb +19 -9
- data/spec/sinatra/Gemfile +3 -3
- data/spec/sinatra/Gemfile.lock +17 -17
- data/spec/sinatra/Rakefile +1 -0
- data/spec/sinatra/spec/controller_brute_force_protection_spec.rb +3 -2
- data/spec/sinatra/spec/controller_oauth2_spec.rb +10 -9
- data/spec/sinatra/spec/controller_oauth_spec.rb +5 -5
- data/spec/sinatra/spec/controller_session_timeout_spec.rb +28 -23
- data/spec/sinatra/spec/spec.opts +2 -4
- data/spec/sinatra/spec/spec_helper.rb +4 -2
- data/spec/sorcery_crypto_providers_spec.rb +5 -4
- data/spec/spec.opts +2 -0
- data/spec/spec_helper.rb +3 -4
- metadata +151 -149
- data/lib/sorcery/controller/submodules/email.rb +0 -44
- data/lib/sorcery/controller/submodules/oauth.rb +0 -95
- data/spec/rails3/app_root/.rspec +0 -1
- data/spec/rails3/app_root/config/database.yml +0 -27
- data/spec/rails3/app_root/spec/controller_session_timeout_spec.rb +0 -50
- data/spec/rails3/app_root/spec/spec_helper.rb +0 -62
- data/spec/sinatra/spec/user_activation_spec.rb +0 -188
- data/spec/sinatra/spec/user_activity_logging_spec.rb +0 -36
- data/spec/sinatra/spec/user_brute_force_protection_spec.rb +0 -76
- data/spec/sinatra/spec/user_oauth_spec.rb +0 -39
- data/spec/sinatra/spec/user_remember_me_spec.rb +0 -66
- data/spec/sinatra/spec/user_reset_password_spec.rb +0 -178
- data/spec/sinatra/spec/user_spec.rb +0 -317
- /data/spec/rails3/{app_root/.gitignore → .gitignore} +0 -0
- /data/spec/rails3/{app_root/README → README} +0 -0
- /data/spec/rails3/{app_root/Rakefile.unused → Rakefile.unused} +0 -0
- /data/spec/rails3/{app_root/app → app}/controllers/application_controller.rb +0 -0
- /data/spec/rails3/{app_root/app → app}/helpers/application_helper.rb +0 -0
- /data/spec/rails3/{app_root/app → app}/mailers/sorcery_mailer.rb +0 -0
- /data/spec/rails3/{app_root/app → app}/models/authentication.rb +0 -0
- /data/spec/rails3/{app_root/app → app}/models/user.rb +0 -0
- /data/spec/rails3/{app_root/app → app}/views/layouts/application.html.erb +0 -0
- /data/spec/rails3/{app_root/app → app}/views/sorcery_mailer/activation_email.html.erb +0 -0
- /data/spec/rails3/{app_root/app → app}/views/sorcery_mailer/activation_email.text.erb +0 -0
- /data/spec/rails3/{app_root/app → app}/views/sorcery_mailer/activation_success_email.html.erb +0 -0
- /data/spec/rails3/{app_root/app → app}/views/sorcery_mailer/activation_success_email.text.erb +0 -0
- /data/spec/rails3/{app_root/app → app}/views/sorcery_mailer/reset_password_email.html.erb +0 -0
- /data/spec/rails3/{app_root/app → app}/views/sorcery_mailer/reset_password_email.text.erb +0 -0
- /data/spec/rails3/{app_root/config → config}/application.rb +0 -0
- /data/spec/rails3/{app_root/config → config}/boot.rb +0 -0
- /data/spec/rails3/{app_root/config → config}/environment.rb +0 -0
- /data/spec/rails3/{app_root/config → config}/environments/development.rb +0 -0
- /data/spec/rails3/{app_root/config → config}/environments/in_memory.rb +0 -0
- /data/spec/rails3/{app_root/config → config}/environments/production.rb +0 -0
- /data/spec/rails3/{app_root/config → config}/environments/test.rb +0 -0
- /data/spec/rails3/{app_root/config → config}/initializers/backtrace_silencers.rb +0 -0
- /data/spec/rails3/{app_root/config → config}/initializers/inflections.rb +0 -0
- /data/spec/rails3/{app_root/config → config}/initializers/mime_types.rb +0 -0
- /data/spec/rails3/{app_root/config → config}/initializers/secret_token.rb +0 -0
- /data/spec/rails3/{app_root/config → config}/initializers/session_store.rb +0 -0
- /data/spec/rails3/{app_root/config → config}/locales/en.yml +0 -0
- /data/spec/rails3/{app_root/config → config}/routes.rb +0 -0
- /data/spec/rails3/{app_root/config.ru → config.ru} +0 -0
- /data/spec/rails3/{app_root/db → db}/migrate/activation/20101224223622_add_activation_to_users.rb +0 -0
- /data/spec/rails3/{app_root/db → db}/migrate/activity_logging/20101224223624_add_activity_logging_to_users.rb +0 -0
- /data/spec/rails3/{app_root/db → db}/migrate/brute_force_protection/20101224223626_add_brute_force_protection_to_users.rb +0 -0
- /data/spec/rails3/{app_root/db → db}/migrate/core/20101224223620_create_users.rb +0 -0
- /data/spec/rails3/{app_root/db → db}/migrate/external/20101224223628_create_authentications.rb +0 -0
- /data/spec/rails3/{app_root/db → db}/migrate/remember_me/20101224223623_add_remember_me_token_to_users.rb +0 -0
- /data/spec/rails3/{app_root/db → db}/migrate/reset_password/20101224223622_add_reset_password_to_users.rb +0 -0
- /data/spec/rails3/{app_root/db → db}/schema.rb +0 -0
- /data/spec/rails3/{app_root/db → db}/seeds.rb +0 -0
- /data/spec/rails3/{app_root/lib → lib}/tasks/.gitkeep +0 -0
- /data/spec/rails3/{app_root/public → public}/404.html +0 -0
- /data/spec/rails3/{app_root/public → public}/422.html +0 -0
- /data/spec/rails3/{app_root/public → public}/500.html +0 -0
- /data/spec/rails3/{app_root/public → public}/favicon.ico +0 -0
- /data/spec/rails3/{app_root/public → public}/images/rails.png +0 -0
- /data/spec/rails3/{app_root/public → public}/index.html +0 -0
- /data/spec/rails3/{app_root/public → public}/javascripts/application.js +0 -0
- /data/spec/rails3/{app_root/public → public}/javascripts/controls.js +0 -0
- /data/spec/rails3/{app_root/public → public}/javascripts/dragdrop.js +0 -0
- /data/spec/rails3/{app_root/public → public}/javascripts/effects.js +0 -0
- /data/spec/rails3/{app_root/public → public}/javascripts/prototype.js +0 -0
- /data/spec/rails3/{app_root/public → public}/javascripts/rails.js +0 -0
- /data/spec/rails3/{app_root/public → public}/robots.txt +0 -0
- /data/spec/rails3/{app_root/public → public}/stylesheets/.gitkeep +0 -0
- /data/spec/rails3/{app_root/script → script}/rails +0 -0
- /data/spec/rails3/{app_root/spec → spec}/controller_http_basic_auth_spec.rb +0 -0
- /data/spec/rails3/{app_root/spec → spec}/controller_remember_me_spec.rb +0 -0
- /data/spec/rails3/{app_root/spec → spec}/spec_helper.orig.rb +0 -0
- /data/spec/rails3/{app_root/spec → spec}/user_activity_logging_spec.rb +0 -0
- /data/spec/rails3/{app_root/vendor → vendor}/plugins/.gitkeep +0 -0
metadata
CHANGED
|
@@ -2,7 +2,7 @@
|
|
|
2
2
|
name: sorcery
|
|
3
3
|
version: !ruby/object:Gem::Version
|
|
4
4
|
prerelease:
|
|
5
|
-
version: 0.
|
|
5
|
+
version: 0.4.2
|
|
6
6
|
platform: ruby
|
|
7
7
|
authors:
|
|
8
8
|
- Noam Ben Ari
|
|
@@ -10,7 +10,7 @@ autorequire:
|
|
|
10
10
|
bindir: bin
|
|
11
11
|
cert_chain: []
|
|
12
12
|
|
|
13
|
-
date: 2011-04-
|
|
13
|
+
date: 2011-04-30 00:00:00 +03:00
|
|
14
14
|
default_executable:
|
|
15
15
|
dependencies:
|
|
16
16
|
- !ruby/object:Gem::Dependency
|
|
@@ -64,7 +64,7 @@ dependencies:
|
|
|
64
64
|
requirements:
|
|
65
65
|
- - ~>
|
|
66
66
|
- !ruby/object:Gem::Version
|
|
67
|
-
version: 2.
|
|
67
|
+
version: 2.5.0
|
|
68
68
|
type: :development
|
|
69
69
|
prerelease: false
|
|
70
70
|
version_requirements: *id005
|
|
@@ -73,9 +73,9 @@ dependencies:
|
|
|
73
73
|
requirement: &id006 !ruby/object:Gem::Requirement
|
|
74
74
|
none: false
|
|
75
75
|
requirements:
|
|
76
|
-
- -
|
|
76
|
+
- - ~>
|
|
77
77
|
- !ruby/object:Gem::Version
|
|
78
|
-
version:
|
|
78
|
+
version: 2.5.0
|
|
79
79
|
type: :development
|
|
80
80
|
prerelease: false
|
|
81
81
|
version_requirements: *id006
|
|
@@ -146,8 +146,19 @@ dependencies:
|
|
|
146
146
|
prerelease: false
|
|
147
147
|
version_requirements: *id012
|
|
148
148
|
- !ruby/object:Gem::Dependency
|
|
149
|
-
name:
|
|
149
|
+
name: timecop
|
|
150
150
|
requirement: &id013 !ruby/object:Gem::Requirement
|
|
151
|
+
none: false
|
|
152
|
+
requirements:
|
|
153
|
+
- - ">="
|
|
154
|
+
- !ruby/object:Gem::Version
|
|
155
|
+
version: "0"
|
|
156
|
+
type: :development
|
|
157
|
+
prerelease: false
|
|
158
|
+
version_requirements: *id013
|
|
159
|
+
- !ruby/object:Gem::Dependency
|
|
160
|
+
name: bcrypt-ruby
|
|
161
|
+
requirement: &id014 !ruby/object:Gem::Requirement
|
|
151
162
|
none: false
|
|
152
163
|
requirements:
|
|
153
164
|
- - ~>
|
|
@@ -155,10 +166,10 @@ dependencies:
|
|
|
155
166
|
version: 2.1.4
|
|
156
167
|
type: :runtime
|
|
157
168
|
prerelease: false
|
|
158
|
-
version_requirements: *
|
|
169
|
+
version_requirements: *id014
|
|
159
170
|
- !ruby/object:Gem::Dependency
|
|
160
171
|
name: oauth
|
|
161
|
-
requirement: &
|
|
172
|
+
requirement: &id015 !ruby/object:Gem::Requirement
|
|
162
173
|
none: false
|
|
163
174
|
requirements:
|
|
164
175
|
- - ">="
|
|
@@ -166,10 +177,10 @@ dependencies:
|
|
|
166
177
|
version: 0.4.4
|
|
167
178
|
type: :runtime
|
|
168
179
|
prerelease: false
|
|
169
|
-
version_requirements: *
|
|
180
|
+
version_requirements: *id015
|
|
170
181
|
- !ruby/object:Gem::Dependency
|
|
171
182
|
name: oauth2
|
|
172
|
-
requirement: &
|
|
183
|
+
requirement: &id016 !ruby/object:Gem::Requirement
|
|
173
184
|
none: false
|
|
174
185
|
requirements:
|
|
175
186
|
- - ">="
|
|
@@ -177,7 +188,7 @@ dependencies:
|
|
|
177
188
|
version: 0.1.1
|
|
178
189
|
type: :runtime
|
|
179
190
|
prerelease: false
|
|
180
|
-
version_requirements: *
|
|
191
|
+
version_requirements: *id016
|
|
181
192
|
description: Provides common authentication needs such as signing in/out, activating by email and resetting password.
|
|
182
193
|
email: nbenari@gmail.com
|
|
183
194
|
executables: []
|
|
@@ -209,23 +220,23 @@ files:
|
|
|
209
220
|
- lib/sorcery/controller/adapters/sinatra.rb
|
|
210
221
|
- lib/sorcery/controller/submodules/activity_logging.rb
|
|
211
222
|
- lib/sorcery/controller/submodules/brute_force_protection.rb
|
|
212
|
-
- lib/sorcery/controller/submodules/email.rb
|
|
213
223
|
- lib/sorcery/controller/submodules/external.rb
|
|
214
224
|
- lib/sorcery/controller/submodules/external/protocols/oauth1.rb
|
|
215
225
|
- lib/sorcery/controller/submodules/external/protocols/oauth2.rb
|
|
216
226
|
- lib/sorcery/controller/submodules/external/providers/facebook.rb
|
|
217
227
|
- lib/sorcery/controller/submodules/external/providers/twitter.rb
|
|
218
228
|
- lib/sorcery/controller/submodules/http_basic_auth.rb
|
|
219
|
-
- lib/sorcery/controller/submodules/oauth.rb
|
|
220
229
|
- lib/sorcery/controller/submodules/remember_me.rb
|
|
221
230
|
- lib/sorcery/controller/submodules/session_timeout.rb
|
|
222
231
|
- lib/sorcery/crypto_providers/aes256.rb
|
|
223
232
|
- lib/sorcery/crypto_providers/bcrypt.rb
|
|
233
|
+
- lib/sorcery/crypto_providers/common.rb
|
|
224
234
|
- lib/sorcery/crypto_providers/md5.rb
|
|
225
235
|
- lib/sorcery/crypto_providers/sha1.rb
|
|
226
236
|
- lib/sorcery/crypto_providers/sha256.rb
|
|
227
237
|
- lib/sorcery/crypto_providers/sha512.rb
|
|
228
238
|
- lib/sorcery/engine.rb
|
|
239
|
+
- lib/sorcery/initializers/initializer.rb
|
|
229
240
|
- lib/sorcery/model.rb
|
|
230
241
|
- lib/sorcery/model/submodules/activity_logging.rb
|
|
231
242
|
- lib/sorcery/model/submodules/brute_force_protection.rb
|
|
@@ -234,93 +245,97 @@ files:
|
|
|
234
245
|
- lib/sorcery/model/submodules/reset_password.rb
|
|
235
246
|
- lib/sorcery/model/submodules/user_activation.rb
|
|
236
247
|
- lib/sorcery/model/temporary_token.rb
|
|
248
|
+
- lib/sorcery/railties/tasks.rake
|
|
237
249
|
- lib/sorcery/sinatra.rb
|
|
238
250
|
- lib/sorcery/test_helpers.rb
|
|
251
|
+
- lib/sorcery/test_helpers/internal.rb
|
|
252
|
+
- lib/sorcery/test_helpers/internal/rails.rb
|
|
253
|
+
- lib/sorcery/test_helpers/internal/sinatra.rb
|
|
239
254
|
- lib/sorcery/test_helpers/rails.rb
|
|
240
255
|
- lib/sorcery/test_helpers/sinatra.rb
|
|
241
256
|
- sorcery.gemspec
|
|
242
257
|
- spec/Gemfile
|
|
243
258
|
- spec/Gemfile.lock
|
|
244
259
|
- spec/Rakefile
|
|
260
|
+
- spec/rails3/.gitignore
|
|
245
261
|
- spec/rails3/.rspec
|
|
246
|
-
- spec/rails3/
|
|
247
|
-
- spec/rails3/
|
|
248
|
-
- spec/rails3/
|
|
249
|
-
- spec/rails3/
|
|
250
|
-
- spec/rails3/
|
|
251
|
-
- spec/rails3/
|
|
252
|
-
- spec/rails3/
|
|
253
|
-
- spec/rails3/
|
|
254
|
-
- spec/rails3/
|
|
255
|
-
- spec/rails3/
|
|
256
|
-
- spec/rails3/
|
|
257
|
-
- spec/rails3/
|
|
258
|
-
- spec/rails3/
|
|
259
|
-
- spec/rails3/
|
|
260
|
-
- spec/rails3/
|
|
261
|
-
- spec/rails3/
|
|
262
|
-
- spec/rails3/
|
|
263
|
-
- spec/rails3/
|
|
264
|
-
- spec/rails3/
|
|
265
|
-
- spec/rails3/
|
|
266
|
-
- spec/rails3/
|
|
267
|
-
- spec/rails3/
|
|
268
|
-
- spec/rails3/
|
|
269
|
-
- spec/rails3/
|
|
270
|
-
- spec/rails3/
|
|
271
|
-
- spec/rails3/
|
|
272
|
-
- spec/rails3/
|
|
273
|
-
- spec/rails3/
|
|
274
|
-
- spec/rails3/
|
|
275
|
-
- spec/rails3/
|
|
276
|
-
- spec/rails3/
|
|
277
|
-
- spec/rails3/
|
|
278
|
-
- spec/rails3/
|
|
279
|
-
- spec/rails3/
|
|
280
|
-
- spec/rails3/
|
|
281
|
-
- spec/rails3/
|
|
282
|
-
- spec/rails3/
|
|
283
|
-
- spec/rails3/
|
|
284
|
-
- spec/rails3/
|
|
285
|
-
- spec/rails3/
|
|
286
|
-
- spec/rails3/
|
|
287
|
-
- spec/rails3/
|
|
288
|
-
- spec/rails3/
|
|
289
|
-
- spec/rails3/
|
|
290
|
-
- spec/rails3/
|
|
291
|
-
- spec/rails3/
|
|
292
|
-
- spec/rails3/
|
|
293
|
-
- spec/rails3/
|
|
294
|
-
- spec/rails3/
|
|
295
|
-
- spec/rails3/
|
|
296
|
-
- spec/rails3/
|
|
297
|
-
- spec/rails3/
|
|
298
|
-
- spec/rails3/
|
|
299
|
-
- spec/rails3/
|
|
300
|
-
- spec/rails3/
|
|
301
|
-
- spec/rails3/
|
|
302
|
-
- spec/rails3/
|
|
303
|
-
- spec/rails3/
|
|
304
|
-
- spec/rails3/
|
|
305
|
-
- spec/rails3/
|
|
306
|
-
- spec/rails3/
|
|
307
|
-
- spec/rails3/
|
|
308
|
-
- spec/rails3/
|
|
309
|
-
- spec/rails3/
|
|
310
|
-
- spec/rails3/
|
|
311
|
-
- spec/rails3/
|
|
312
|
-
- spec/rails3/
|
|
313
|
-
- spec/rails3/
|
|
314
|
-
- spec/rails3/
|
|
315
|
-
- spec/rails3/
|
|
316
|
-
- spec/rails3/
|
|
317
|
-
- spec/rails3/
|
|
318
|
-
- spec/rails3/
|
|
319
|
-
- spec/rails3/
|
|
320
|
-
- spec/rails3/
|
|
321
|
-
- spec/rails3/
|
|
322
|
-
- spec/rails3/
|
|
323
|
-
- spec/rails3/app_root/vendor/plugins/.gitkeep
|
|
262
|
+
- spec/rails3/Gemfile
|
|
263
|
+
- spec/rails3/Gemfile.lock
|
|
264
|
+
- spec/rails3/README
|
|
265
|
+
- spec/rails3/Rakefile
|
|
266
|
+
- spec/rails3/Rakefile.unused
|
|
267
|
+
- spec/rails3/app/controllers/application_controller.rb
|
|
268
|
+
- spec/rails3/app/helpers/application_helper.rb
|
|
269
|
+
- spec/rails3/app/mailers/sorcery_mailer.rb
|
|
270
|
+
- spec/rails3/app/models/authentication.rb
|
|
271
|
+
- spec/rails3/app/models/user.rb
|
|
272
|
+
- spec/rails3/app/views/layouts/application.html.erb
|
|
273
|
+
- spec/rails3/app/views/sorcery_mailer/activation_email.html.erb
|
|
274
|
+
- spec/rails3/app/views/sorcery_mailer/activation_email.text.erb
|
|
275
|
+
- spec/rails3/app/views/sorcery_mailer/activation_success_email.html.erb
|
|
276
|
+
- spec/rails3/app/views/sorcery_mailer/activation_success_email.text.erb
|
|
277
|
+
- spec/rails3/app/views/sorcery_mailer/reset_password_email.html.erb
|
|
278
|
+
- spec/rails3/app/views/sorcery_mailer/reset_password_email.text.erb
|
|
279
|
+
- spec/rails3/config.ru
|
|
280
|
+
- spec/rails3/config/application.rb
|
|
281
|
+
- spec/rails3/config/boot.rb
|
|
282
|
+
- spec/rails3/config/database.yml
|
|
283
|
+
- spec/rails3/config/environment.rb
|
|
284
|
+
- spec/rails3/config/environments/development.rb
|
|
285
|
+
- spec/rails3/config/environments/in_memory.rb
|
|
286
|
+
- spec/rails3/config/environments/production.rb
|
|
287
|
+
- spec/rails3/config/environments/test.rb
|
|
288
|
+
- spec/rails3/config/initializers/backtrace_silencers.rb
|
|
289
|
+
- spec/rails3/config/initializers/inflections.rb
|
|
290
|
+
- spec/rails3/config/initializers/mime_types.rb
|
|
291
|
+
- spec/rails3/config/initializers/secret_token.rb
|
|
292
|
+
- spec/rails3/config/initializers/session_store.rb
|
|
293
|
+
- spec/rails3/config/locales/en.yml
|
|
294
|
+
- spec/rails3/config/routes.rb
|
|
295
|
+
- spec/rails3/db/migrate/activation/20101224223622_add_activation_to_users.rb
|
|
296
|
+
- spec/rails3/db/migrate/activity_logging/20101224223624_add_activity_logging_to_users.rb
|
|
297
|
+
- spec/rails3/db/migrate/brute_force_protection/20101224223626_add_brute_force_protection_to_users.rb
|
|
298
|
+
- spec/rails3/db/migrate/core/20101224223620_create_users.rb
|
|
299
|
+
- spec/rails3/db/migrate/external/20101224223628_create_authentications.rb
|
|
300
|
+
- spec/rails3/db/migrate/remember_me/20101224223623_add_remember_me_token_to_users.rb
|
|
301
|
+
- spec/rails3/db/migrate/reset_password/20101224223622_add_reset_password_to_users.rb
|
|
302
|
+
- spec/rails3/db/schema.rb
|
|
303
|
+
- spec/rails3/db/seeds.rb
|
|
304
|
+
- spec/rails3/lib/tasks/.gitkeep
|
|
305
|
+
- spec/rails3/public/404.html
|
|
306
|
+
- spec/rails3/public/422.html
|
|
307
|
+
- spec/rails3/public/500.html
|
|
308
|
+
- spec/rails3/public/favicon.ico
|
|
309
|
+
- spec/rails3/public/images/rails.png
|
|
310
|
+
- spec/rails3/public/index.html
|
|
311
|
+
- spec/rails3/public/javascripts/application.js
|
|
312
|
+
- spec/rails3/public/javascripts/controls.js
|
|
313
|
+
- spec/rails3/public/javascripts/dragdrop.js
|
|
314
|
+
- spec/rails3/public/javascripts/effects.js
|
|
315
|
+
- spec/rails3/public/javascripts/prototype.js
|
|
316
|
+
- spec/rails3/public/javascripts/rails.js
|
|
317
|
+
- spec/rails3/public/robots.txt
|
|
318
|
+
- spec/rails3/public/stylesheets/.gitkeep
|
|
319
|
+
- spec/rails3/script/rails
|
|
320
|
+
- spec/rails3/spec/controller_activity_logging_spec.rb
|
|
321
|
+
- spec/rails3/spec/controller_brute_force_protection_spec.rb
|
|
322
|
+
- spec/rails3/spec/controller_http_basic_auth_spec.rb
|
|
323
|
+
- spec/rails3/spec/controller_oauth2_spec.rb
|
|
324
|
+
- spec/rails3/spec/controller_oauth_spec.rb
|
|
325
|
+
- spec/rails3/spec/controller_remember_me_spec.rb
|
|
326
|
+
- spec/rails3/spec/controller_session_timeout_spec.rb
|
|
327
|
+
- spec/rails3/spec/controller_spec.rb
|
|
328
|
+
- spec/rails3/spec/spec.opts
|
|
329
|
+
- spec/rails3/spec/spec_helper.orig.rb
|
|
330
|
+
- spec/rails3/spec/spec_helper.rb
|
|
331
|
+
- spec/rails3/spec/user_activation_spec.rb
|
|
332
|
+
- spec/rails3/spec/user_activity_logging_spec.rb
|
|
333
|
+
- spec/rails3/spec/user_brute_force_protection_spec.rb
|
|
334
|
+
- spec/rails3/spec/user_oauth_spec.rb
|
|
335
|
+
- spec/rails3/spec/user_remember_me_spec.rb
|
|
336
|
+
- spec/rails3/spec/user_reset_password_spec.rb
|
|
337
|
+
- spec/rails3/spec/user_spec.rb
|
|
338
|
+
- spec/rails3/vendor/plugins/.gitkeep
|
|
324
339
|
- spec/sinatra/Gemfile
|
|
325
340
|
- spec/sinatra/Gemfile.lock
|
|
326
341
|
- spec/sinatra/Rakefile
|
|
@@ -345,16 +360,10 @@ files:
|
|
|
345
360
|
- spec/sinatra/spec/controller_spec.rb
|
|
346
361
|
- spec/sinatra/spec/spec.opts
|
|
347
362
|
- spec/sinatra/spec/spec_helper.rb
|
|
348
|
-
- spec/sinatra/spec/user_activation_spec.rb
|
|
349
|
-
- spec/sinatra/spec/user_activity_logging_spec.rb
|
|
350
|
-
- spec/sinatra/spec/user_brute_force_protection_spec.rb
|
|
351
|
-
- spec/sinatra/spec/user_oauth_spec.rb
|
|
352
|
-
- spec/sinatra/spec/user_remember_me_spec.rb
|
|
353
|
-
- spec/sinatra/spec/user_reset_password_spec.rb
|
|
354
|
-
- spec/sinatra/spec/user_spec.rb
|
|
355
363
|
- spec/sinatra/user.rb
|
|
356
364
|
- spec/sinatra/views/test_login.erb
|
|
357
365
|
- spec/sorcery_crypto_providers_spec.rb
|
|
366
|
+
- spec/spec.opts
|
|
358
367
|
- spec/spec_helper.rb
|
|
359
368
|
- spec/untitled folder
|
|
360
369
|
has_rdoc: true
|
|
@@ -386,50 +395,50 @@ signing_key:
|
|
|
386
395
|
specification_version: 3
|
|
387
396
|
summary: Magical authentication for Rails 3 applications
|
|
388
397
|
test_files:
|
|
389
|
-
- spec/rails3/
|
|
390
|
-
- spec/rails3/
|
|
391
|
-
- spec/rails3/
|
|
392
|
-
- spec/rails3/
|
|
393
|
-
- spec/rails3/
|
|
394
|
-
- spec/rails3/
|
|
395
|
-
- spec/rails3/
|
|
396
|
-
- spec/rails3/
|
|
397
|
-
- spec/rails3/
|
|
398
|
-
- spec/rails3/
|
|
399
|
-
- spec/rails3/
|
|
400
|
-
- spec/rails3/
|
|
401
|
-
- spec/rails3/
|
|
402
|
-
- spec/rails3/
|
|
403
|
-
- spec/rails3/
|
|
404
|
-
- spec/rails3/
|
|
405
|
-
- spec/rails3/
|
|
406
|
-
- spec/rails3/
|
|
407
|
-
- spec/rails3/
|
|
408
|
-
- spec/rails3/
|
|
409
|
-
- spec/rails3/
|
|
410
|
-
- spec/rails3/
|
|
411
|
-
- spec/rails3/
|
|
412
|
-
- spec/rails3/
|
|
413
|
-
- spec/rails3/
|
|
414
|
-
- spec/rails3/
|
|
415
|
-
- spec/rails3/
|
|
416
|
-
- spec/rails3/
|
|
417
|
-
- spec/rails3/
|
|
418
|
-
- spec/rails3/
|
|
419
|
-
- spec/rails3/
|
|
420
|
-
- spec/rails3/
|
|
421
|
-
- spec/rails3/
|
|
422
|
-
- spec/rails3/
|
|
423
|
-
- spec/rails3/
|
|
424
|
-
- spec/rails3/
|
|
425
|
-
- spec/rails3/
|
|
426
|
-
- spec/rails3/
|
|
427
|
-
- spec/rails3/
|
|
428
|
-
- spec/rails3/
|
|
429
|
-
- spec/rails3/
|
|
430
|
-
- spec/rails3/
|
|
431
|
-
- spec/rails3/
|
|
432
|
-
- spec/rails3/
|
|
398
|
+
- spec/rails3/app/controllers/application_controller.rb
|
|
399
|
+
- spec/rails3/app/helpers/application_helper.rb
|
|
400
|
+
- spec/rails3/app/mailers/sorcery_mailer.rb
|
|
401
|
+
- spec/rails3/app/models/authentication.rb
|
|
402
|
+
- spec/rails3/app/models/user.rb
|
|
403
|
+
- spec/rails3/config/application.rb
|
|
404
|
+
- spec/rails3/config/boot.rb
|
|
405
|
+
- spec/rails3/config/environment.rb
|
|
406
|
+
- spec/rails3/config/environments/development.rb
|
|
407
|
+
- spec/rails3/config/environments/in_memory.rb
|
|
408
|
+
- spec/rails3/config/environments/production.rb
|
|
409
|
+
- spec/rails3/config/environments/test.rb
|
|
410
|
+
- spec/rails3/config/initializers/backtrace_silencers.rb
|
|
411
|
+
- spec/rails3/config/initializers/inflections.rb
|
|
412
|
+
- spec/rails3/config/initializers/mime_types.rb
|
|
413
|
+
- spec/rails3/config/initializers/secret_token.rb
|
|
414
|
+
- spec/rails3/config/initializers/session_store.rb
|
|
415
|
+
- spec/rails3/config/routes.rb
|
|
416
|
+
- spec/rails3/db/migrate/activation/20101224223622_add_activation_to_users.rb
|
|
417
|
+
- spec/rails3/db/migrate/activity_logging/20101224223624_add_activity_logging_to_users.rb
|
|
418
|
+
- spec/rails3/db/migrate/brute_force_protection/20101224223626_add_brute_force_protection_to_users.rb
|
|
419
|
+
- spec/rails3/db/migrate/core/20101224223620_create_users.rb
|
|
420
|
+
- spec/rails3/db/migrate/external/20101224223628_create_authentications.rb
|
|
421
|
+
- spec/rails3/db/migrate/remember_me/20101224223623_add_remember_me_token_to_users.rb
|
|
422
|
+
- spec/rails3/db/migrate/reset_password/20101224223622_add_reset_password_to_users.rb
|
|
423
|
+
- spec/rails3/db/schema.rb
|
|
424
|
+
- spec/rails3/db/seeds.rb
|
|
425
|
+
- spec/rails3/spec/controller_activity_logging_spec.rb
|
|
426
|
+
- spec/rails3/spec/controller_brute_force_protection_spec.rb
|
|
427
|
+
- spec/rails3/spec/controller_http_basic_auth_spec.rb
|
|
428
|
+
- spec/rails3/spec/controller_oauth2_spec.rb
|
|
429
|
+
- spec/rails3/spec/controller_oauth_spec.rb
|
|
430
|
+
- spec/rails3/spec/controller_remember_me_spec.rb
|
|
431
|
+
- spec/rails3/spec/controller_session_timeout_spec.rb
|
|
432
|
+
- spec/rails3/spec/controller_spec.rb
|
|
433
|
+
- spec/rails3/spec/spec_helper.orig.rb
|
|
434
|
+
- spec/rails3/spec/spec_helper.rb
|
|
435
|
+
- spec/rails3/spec/user_activation_spec.rb
|
|
436
|
+
- spec/rails3/spec/user_activity_logging_spec.rb
|
|
437
|
+
- spec/rails3/spec/user_brute_force_protection_spec.rb
|
|
438
|
+
- spec/rails3/spec/user_oauth_spec.rb
|
|
439
|
+
- spec/rails3/spec/user_remember_me_spec.rb
|
|
440
|
+
- spec/rails3/spec/user_reset_password_spec.rb
|
|
441
|
+
- spec/rails3/spec/user_spec.rb
|
|
433
442
|
- spec/sinatra/authentication.rb
|
|
434
443
|
- spec/sinatra/db/migrate/activation/20101224223622_add_activation_to_users.rb
|
|
435
444
|
- spec/sinatra/db/migrate/activity_logging/20101224223624_add_activity_logging_to_users.rb
|
|
@@ -450,13 +459,6 @@ test_files:
|
|
|
450
459
|
- spec/sinatra/spec/controller_session_timeout_spec.rb
|
|
451
460
|
- spec/sinatra/spec/controller_spec.rb
|
|
452
461
|
- spec/sinatra/spec/spec_helper.rb
|
|
453
|
-
- spec/sinatra/spec/user_activation_spec.rb
|
|
454
|
-
- spec/sinatra/spec/user_activity_logging_spec.rb
|
|
455
|
-
- spec/sinatra/spec/user_brute_force_protection_spec.rb
|
|
456
|
-
- spec/sinatra/spec/user_oauth_spec.rb
|
|
457
|
-
- spec/sinatra/spec/user_remember_me_spec.rb
|
|
458
|
-
- spec/sinatra/spec/user_reset_password_spec.rb
|
|
459
|
-
- spec/sinatra/spec/user_spec.rb
|
|
460
462
|
- spec/sinatra/user.rb
|
|
461
463
|
- spec/sorcery_crypto_providers_spec.rb
|
|
462
464
|
- spec/spec_helper.rb
|
|
@@ -1,44 +0,0 @@
|
|
|
1
|
-
# module Sorcery
|
|
2
|
-
# module Controller
|
|
3
|
-
# module Submodules
|
|
4
|
-
# # This module allows you to authenticate to the site using a mail server.
|
|
5
|
-
# # Let's say your organization is called blup, and everyone has someklutz@blup.com,
|
|
6
|
-
# # Instead of registering a new username and password for an internal web application,
|
|
7
|
-
# # why not simply reuse your email credentials?
|
|
8
|
-
# # Of course this means that if the mail server is down, nobody can authenticate to your app.
|
|
9
|
-
# # I might add a fallback for that in the future.
|
|
10
|
-
# module Email
|
|
11
|
-
# def self.included(base)
|
|
12
|
-
# base.send(:include, InstanceMethods)
|
|
13
|
-
# Config.module_eval do
|
|
14
|
-
# class << self
|
|
15
|
-
# attr_reader :email_protocols # email protocols like pop3, IMAP etc.
|
|
16
|
-
#
|
|
17
|
-
# def merge_mail_defaults!
|
|
18
|
-
# @defaults.merge!(:@email_protocols => [])
|
|
19
|
-
# end
|
|
20
|
-
#
|
|
21
|
-
# def email_protocols=(protocols)
|
|
22
|
-
# protocols.each do |protocol|
|
|
23
|
-
# include Protocols.const_get(protocol.to_s.split("_").map {|p| p.capitalize}.join(""))
|
|
24
|
-
# end
|
|
25
|
-
# end
|
|
26
|
-
# end
|
|
27
|
-
# merge_mail_defaults!
|
|
28
|
-
# end
|
|
29
|
-
# end
|
|
30
|
-
#
|
|
31
|
-
# module InstanceMethods
|
|
32
|
-
# protected
|
|
33
|
-
#
|
|
34
|
-
# # sends user to authenticate at the provider's website.
|
|
35
|
-
# # after authentication the user is redirected to the callback defined in the provider config
|
|
36
|
-
# def login_at(protocol)
|
|
37
|
-
#
|
|
38
|
-
# end
|
|
39
|
-
#
|
|
40
|
-
# end
|
|
41
|
-
# end
|
|
42
|
-
# end
|
|
43
|
-
# end
|
|
44
|
-
# end
|
|
@@ -1,95 +0,0 @@
|
|
|
1
|
-
module Sorcery
|
|
2
|
-
module Controller
|
|
3
|
-
module Submodules
|
|
4
|
-
# This submodule helps you login users from OAuth providers such as Twitter.
|
|
5
|
-
# This is the controller part which handles the http requests and tokens passed between the app and the provider.
|
|
6
|
-
# For more configuration options see Sorcery::Model::Oauth.
|
|
7
|
-
module Oauth
|
|
8
|
-
def self.included(base)
|
|
9
|
-
base.send(:include, InstanceMethods)
|
|
10
|
-
Config.module_eval do
|
|
11
|
-
class << self
|
|
12
|
-
attr_reader :oauth_providers # oauth providers like twitter.
|
|
13
|
-
|
|
14
|
-
def merge_oauth_defaults!
|
|
15
|
-
@defaults.merge!(:@oauth_providers => [])
|
|
16
|
-
end
|
|
17
|
-
|
|
18
|
-
def oauth_providers=(providers)
|
|
19
|
-
providers.each do |provider|
|
|
20
|
-
include Providers.const_get(provider.to_s.split("_").map {|p| p.capitalize}.join(""))
|
|
21
|
-
end
|
|
22
|
-
end
|
|
23
|
-
end
|
|
24
|
-
merge_oauth_defaults!
|
|
25
|
-
end
|
|
26
|
-
end
|
|
27
|
-
|
|
28
|
-
module InstanceMethods
|
|
29
|
-
protected
|
|
30
|
-
|
|
31
|
-
# sends user to authenticate at the provider's website.
|
|
32
|
-
# after authentication the user is redirected to the callback defined in the provider config
|
|
33
|
-
def auth_at_provider(provider)
|
|
34
|
-
@provider = Config.send(provider)
|
|
35
|
-
args = {}
|
|
36
|
-
if @provider.respond_to?(:get_request_token)
|
|
37
|
-
req_token = @provider.get_request_token
|
|
38
|
-
session[:request_token] = req_token.token
|
|
39
|
-
session[:request_token_secret] = req_token.secret
|
|
40
|
-
args.merge!({:request_token => req_token.token, :request_token_secret => req_token.secret})
|
|
41
|
-
end
|
|
42
|
-
redirect_to @provider.authorize_url(args)
|
|
43
|
-
end
|
|
44
|
-
|
|
45
|
-
# tries to login the user from access token
|
|
46
|
-
def login_from_access_token(provider)
|
|
47
|
-
@provider = Config.send(provider)
|
|
48
|
-
args = {}
|
|
49
|
-
args.merge!({:oauth_verifier => params[:oauth_verifier], :request_token => session[:request_token], :request_token_secret => session[:request_token_secret]}) if @provider.respond_to?(:get_request_token)
|
|
50
|
-
args.merge!({:code => params[:code]}) if params[:code]
|
|
51
|
-
@access_token = @provider.get_access_token(args)
|
|
52
|
-
@user_hash = @provider.get_user_hash(@access_token)
|
|
53
|
-
if user = Config.user_class.load_from_provider(provider,@user_hash[:uid])
|
|
54
|
-
reset_session
|
|
55
|
-
login_user(user)
|
|
56
|
-
user
|
|
57
|
-
end
|
|
58
|
-
end
|
|
59
|
-
|
|
60
|
-
def get_user_hash(provider)
|
|
61
|
-
@provider = Config.send(provider)
|
|
62
|
-
@provider.get_user_hash(@access_token)
|
|
63
|
-
end
|
|
64
|
-
|
|
65
|
-
# this method automatically creates a new user from the data in the external user hash.
|
|
66
|
-
# The mappings from user hash fields to user db fields are set at controller config.
|
|
67
|
-
# If the hash field you would like to map is nested, use slashes. For example, Given a hash like:
|
|
68
|
-
#
|
|
69
|
-
# "user" => {"name"=>"moishe"}
|
|
70
|
-
#
|
|
71
|
-
# You will set the mapping:
|
|
72
|
-
#
|
|
73
|
-
# {:username => "user/name"}
|
|
74
|
-
#
|
|
75
|
-
# And this will cause 'moishe' to be set as the value of :username field.
|
|
76
|
-
def create_from_provider!(provider)
|
|
77
|
-
provider = provider.to_sym
|
|
78
|
-
@provider = Config.send(provider)
|
|
79
|
-
@user_hash = get_user_hash(provider)
|
|
80
|
-
config = Config.user_class.sorcery_config
|
|
81
|
-
attrs = {}
|
|
82
|
-
@provider.user_info_mapping.each do |k,v|
|
|
83
|
-
(varr = v.split("/")).size > 1 ? attrs.merge!(k => varr.inject(@user_hash[:user_info]) {|hsh,v| hsh[v] }) : attrs.merge!(k => @user_hash[:user_info][v])
|
|
84
|
-
end
|
|
85
|
-
Config.user_class.transaction do
|
|
86
|
-
@user = Config.user_class.create!(attrs)
|
|
87
|
-
Config.user_class.sorcery_config.authentications_class.create!({config.authentications_user_id_attribute_name => @user.id, config.provider_attribute_name => provider, config.provider_uid_attribute_name => @user_hash[:uid]})
|
|
88
|
-
end
|
|
89
|
-
@user
|
|
90
|
-
end
|
|
91
|
-
end
|
|
92
|
-
end
|
|
93
|
-
end
|
|
94
|
-
end
|
|
95
|
-
end
|
data/spec/rails3/app_root/.rspec
DELETED
|
@@ -1 +0,0 @@
|
|
|
1
|
-
--colour
|
|
@@ -1,27 +0,0 @@
|
|
|
1
|
-
# SQLite version 3.x
|
|
2
|
-
# gem install sqlite3-ruby (not necessary on OS X Leopard)
|
|
3
|
-
development:
|
|
4
|
-
adapter: sqlite3
|
|
5
|
-
database: db/development.sqlite3
|
|
6
|
-
pool: 5
|
|
7
|
-
timeout: 5000
|
|
8
|
-
|
|
9
|
-
# Warning: The database defined as "test" will be erased and
|
|
10
|
-
# re-generated from your development database when you run "rake".
|
|
11
|
-
# Do not set this db to the same as development or production.
|
|
12
|
-
test:
|
|
13
|
-
adapter: sqlite3
|
|
14
|
-
database: db/test.sqlite3
|
|
15
|
-
pool: 5
|
|
16
|
-
timeout: 5000
|
|
17
|
-
|
|
18
|
-
production:
|
|
19
|
-
adapter: sqlite3
|
|
20
|
-
database: db/production.sqlite3
|
|
21
|
-
pool: 5
|
|
22
|
-
timeout: 5000
|
|
23
|
-
|
|
24
|
-
in_memory:
|
|
25
|
-
adapter: sqlite3
|
|
26
|
-
database: ":memory:"
|
|
27
|
-
verbosity: quiet
|
|
@@ -1,50 +0,0 @@
|
|
|
1
|
-
require File.expand_path(File.dirname(__FILE__) + '/spec_helper')
|
|
2
|
-
|
|
3
|
-
describe ApplicationController do
|
|
4
|
-
|
|
5
|
-
# ----------------- SESSION TIMEOUT -----------------------
|
|
6
|
-
describe ApplicationController, "with session timeout features" do
|
|
7
|
-
before(:all) do
|
|
8
|
-
sorcery_reload!([:session_timeout])
|
|
9
|
-
sorcery_controller_property_set(:session_timeout,0.5)
|
|
10
|
-
create_new_user
|
|
11
|
-
end
|
|
12
|
-
|
|
13
|
-
it "should not reset session before session timeout" do
|
|
14
|
-
login_user
|
|
15
|
-
get :test_should_be_logged_in
|
|
16
|
-
session[:user_id].should_not be_nil
|
|
17
|
-
response.should be_a_success
|
|
18
|
-
end
|
|
19
|
-
|
|
20
|
-
it "should reset session after session timeout" do
|
|
21
|
-
login_user
|
|
22
|
-
sleep 0.6
|
|
23
|
-
get :test_should_be_logged_in
|
|
24
|
-
session[:user_id].should be_nil
|
|
25
|
-
response.should be_a_redirect
|
|
26
|
-
end
|
|
27
|
-
|
|
28
|
-
it "with 'session_timeout_from_last_action' should not logout if there was activity" do
|
|
29
|
-
sorcery_controller_property_set(:session_timeout_from_last_action, true)
|
|
30
|
-
get :test_login, :username => 'gizmo', :password => 'secret'
|
|
31
|
-
sleep 0.3
|
|
32
|
-
get :test_should_be_logged_in
|
|
33
|
-
session[:user_id].should_not be_nil
|
|
34
|
-
sleep 0.3
|
|
35
|
-
get :test_should_be_logged_in
|
|
36
|
-
session[:user_id].should_not be_nil
|
|
37
|
-
response.should be_a_success
|
|
38
|
-
end
|
|
39
|
-
|
|
40
|
-
it "with 'session_timeout_from_last_action' should logout if there was no activity" do
|
|
41
|
-
sorcery_controller_property_set(:session_timeout_from_last_action, true)
|
|
42
|
-
get :test_login, :username => 'gizmo', :password => 'secret'
|
|
43
|
-
sleep 0.6
|
|
44
|
-
get :test_should_be_logged_in
|
|
45
|
-
session[:user_id].should be_nil
|
|
46
|
-
response.should be_a_redirect
|
|
47
|
-
end
|
|
48
|
-
|
|
49
|
-
end
|
|
50
|
-
end
|