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.
Files changed (138) hide show
  1. data/Gemfile +3 -2
  2. data/Gemfile.lock +13 -11
  3. data/README.rdoc +89 -61
  4. data/Rakefile +4 -4
  5. data/VERSION +1 -1
  6. data/lib/generators/sorcery_migration/templates/core.rb +2 -2
  7. data/lib/sorcery/controller/submodules/http_basic_auth.rb +1 -1
  8. data/lib/sorcery/controller.rb +16 -18
  9. data/lib/sorcery/crypto_providers/bcrypt.rb +3 -5
  10. data/lib/sorcery/crypto_providers/common.rb +35 -0
  11. data/lib/sorcery/crypto_providers/md5.rb +3 -23
  12. data/lib/sorcery/crypto_providers/sha1.rb +4 -16
  13. data/lib/sorcery/crypto_providers/sha256.rb +3 -23
  14. data/lib/sorcery/crypto_providers/sha512.rb +3 -23
  15. data/lib/sorcery/engine.rb +4 -0
  16. data/lib/sorcery/initializers/initializer.rb +86 -0
  17. data/lib/sorcery/model/submodules/activity_logging.rb +1 -1
  18. data/lib/sorcery/model/submodules/brute_force_protection.rb +1 -1
  19. data/lib/sorcery/model/submodules/reset_password.rb +1 -1
  20. data/lib/sorcery/model.rb +25 -3
  21. data/lib/sorcery/railties/tasks.rake +10 -0
  22. data/lib/sorcery/sinatra.rb +0 -9
  23. data/lib/sorcery/test_helpers/internal/rails.rb +52 -0
  24. data/lib/sorcery/test_helpers/internal/sinatra.rb +122 -0
  25. data/lib/sorcery/test_helpers/internal.rb +55 -0
  26. data/lib/sorcery/test_helpers/rails.rb +5 -46
  27. data/lib/sorcery/test_helpers/sinatra.rb +58 -104
  28. data/lib/sorcery/test_helpers.rb +0 -35
  29. data/lib/sorcery.rb +8 -0
  30. data/sorcery.gemspec +140 -146
  31. data/spec/Gemfile +2 -2
  32. data/spec/Gemfile.lock +20 -12
  33. data/spec/Rakefile +1 -0
  34. data/spec/rails3/.rspec +1 -1
  35. data/spec/rails3/{app_root/Gemfile → Gemfile} +4 -4
  36. data/spec/rails3/{app_root/Gemfile.lock → Gemfile.lock} +20 -20
  37. data/spec/rails3/{app_root/Rakefile → Rakefile} +1 -0
  38. data/spec/rails3/config/database.yml +27 -0
  39. data/spec/rails3/{app_root/spec → spec}/controller_activity_logging_spec.rb +2 -4
  40. data/spec/rails3/{app_root/spec → spec}/controller_brute_force_protection_spec.rb +3 -2
  41. data/spec/rails3/{app_root/spec → spec}/controller_oauth2_spec.rb +10 -9
  42. data/spec/rails3/{app_root/spec → spec}/controller_oauth_spec.rb +8 -8
  43. data/spec/rails3/spec/controller_session_timeout_spec.rb +55 -0
  44. data/spec/rails3/{app_root/spec → spec}/controller_spec.rb +6 -16
  45. data/spec/rails3/spec/spec.opts +2 -0
  46. data/spec/rails3/spec/spec_helper.rb +70 -0
  47. data/spec/rails3/{app_root/spec → spec}/user_activation_spec.rb +7 -13
  48. data/spec/rails3/{app_root/spec → spec}/user_brute_force_protection_spec.rb +2 -30
  49. data/spec/rails3/{app_root/spec → spec}/user_oauth_spec.rb +3 -3
  50. data/spec/rails3/{app_root/spec → spec}/user_remember_me_spec.rb +3 -11
  51. data/spec/rails3/{app_root/spec → spec}/user_reset_password_spec.rb +20 -17
  52. data/spec/rails3/{app_root/spec → spec}/user_spec.rb +19 -9
  53. data/spec/sinatra/Gemfile +3 -3
  54. data/spec/sinatra/Gemfile.lock +17 -17
  55. data/spec/sinatra/Rakefile +1 -0
  56. data/spec/sinatra/spec/controller_brute_force_protection_spec.rb +3 -2
  57. data/spec/sinatra/spec/controller_oauth2_spec.rb +10 -9
  58. data/spec/sinatra/spec/controller_oauth_spec.rb +5 -5
  59. data/spec/sinatra/spec/controller_session_timeout_spec.rb +28 -23
  60. data/spec/sinatra/spec/spec.opts +2 -4
  61. data/spec/sinatra/spec/spec_helper.rb +4 -2
  62. data/spec/sorcery_crypto_providers_spec.rb +5 -4
  63. data/spec/spec.opts +2 -0
  64. data/spec/spec_helper.rb +3 -4
  65. metadata +151 -149
  66. data/lib/sorcery/controller/submodules/email.rb +0 -44
  67. data/lib/sorcery/controller/submodules/oauth.rb +0 -95
  68. data/spec/rails3/app_root/.rspec +0 -1
  69. data/spec/rails3/app_root/config/database.yml +0 -27
  70. data/spec/rails3/app_root/spec/controller_session_timeout_spec.rb +0 -50
  71. data/spec/rails3/app_root/spec/spec_helper.rb +0 -62
  72. data/spec/sinatra/spec/user_activation_spec.rb +0 -188
  73. data/spec/sinatra/spec/user_activity_logging_spec.rb +0 -36
  74. data/spec/sinatra/spec/user_brute_force_protection_spec.rb +0 -76
  75. data/spec/sinatra/spec/user_oauth_spec.rb +0 -39
  76. data/spec/sinatra/spec/user_remember_me_spec.rb +0 -66
  77. data/spec/sinatra/spec/user_reset_password_spec.rb +0 -178
  78. data/spec/sinatra/spec/user_spec.rb +0 -317
  79. /data/spec/rails3/{app_root/.gitignore → .gitignore} +0 -0
  80. /data/spec/rails3/{app_root/README → README} +0 -0
  81. /data/spec/rails3/{app_root/Rakefile.unused → Rakefile.unused} +0 -0
  82. /data/spec/rails3/{app_root/app → app}/controllers/application_controller.rb +0 -0
  83. /data/spec/rails3/{app_root/app → app}/helpers/application_helper.rb +0 -0
  84. /data/spec/rails3/{app_root/app → app}/mailers/sorcery_mailer.rb +0 -0
  85. /data/spec/rails3/{app_root/app → app}/models/authentication.rb +0 -0
  86. /data/spec/rails3/{app_root/app → app}/models/user.rb +0 -0
  87. /data/spec/rails3/{app_root/app → app}/views/layouts/application.html.erb +0 -0
  88. /data/spec/rails3/{app_root/app → app}/views/sorcery_mailer/activation_email.html.erb +0 -0
  89. /data/spec/rails3/{app_root/app → app}/views/sorcery_mailer/activation_email.text.erb +0 -0
  90. /data/spec/rails3/{app_root/app → app}/views/sorcery_mailer/activation_success_email.html.erb +0 -0
  91. /data/spec/rails3/{app_root/app → app}/views/sorcery_mailer/activation_success_email.text.erb +0 -0
  92. /data/spec/rails3/{app_root/app → app}/views/sorcery_mailer/reset_password_email.html.erb +0 -0
  93. /data/spec/rails3/{app_root/app → app}/views/sorcery_mailer/reset_password_email.text.erb +0 -0
  94. /data/spec/rails3/{app_root/config → config}/application.rb +0 -0
  95. /data/spec/rails3/{app_root/config → config}/boot.rb +0 -0
  96. /data/spec/rails3/{app_root/config → config}/environment.rb +0 -0
  97. /data/spec/rails3/{app_root/config → config}/environments/development.rb +0 -0
  98. /data/spec/rails3/{app_root/config → config}/environments/in_memory.rb +0 -0
  99. /data/spec/rails3/{app_root/config → config}/environments/production.rb +0 -0
  100. /data/spec/rails3/{app_root/config → config}/environments/test.rb +0 -0
  101. /data/spec/rails3/{app_root/config → config}/initializers/backtrace_silencers.rb +0 -0
  102. /data/spec/rails3/{app_root/config → config}/initializers/inflections.rb +0 -0
  103. /data/spec/rails3/{app_root/config → config}/initializers/mime_types.rb +0 -0
  104. /data/spec/rails3/{app_root/config → config}/initializers/secret_token.rb +0 -0
  105. /data/spec/rails3/{app_root/config → config}/initializers/session_store.rb +0 -0
  106. /data/spec/rails3/{app_root/config → config}/locales/en.yml +0 -0
  107. /data/spec/rails3/{app_root/config → config}/routes.rb +0 -0
  108. /data/spec/rails3/{app_root/config.ru → config.ru} +0 -0
  109. /data/spec/rails3/{app_root/db → db}/migrate/activation/20101224223622_add_activation_to_users.rb +0 -0
  110. /data/spec/rails3/{app_root/db → db}/migrate/activity_logging/20101224223624_add_activity_logging_to_users.rb +0 -0
  111. /data/spec/rails3/{app_root/db → db}/migrate/brute_force_protection/20101224223626_add_brute_force_protection_to_users.rb +0 -0
  112. /data/spec/rails3/{app_root/db → db}/migrate/core/20101224223620_create_users.rb +0 -0
  113. /data/spec/rails3/{app_root/db → db}/migrate/external/20101224223628_create_authentications.rb +0 -0
  114. /data/spec/rails3/{app_root/db → db}/migrate/remember_me/20101224223623_add_remember_me_token_to_users.rb +0 -0
  115. /data/spec/rails3/{app_root/db → db}/migrate/reset_password/20101224223622_add_reset_password_to_users.rb +0 -0
  116. /data/spec/rails3/{app_root/db → db}/schema.rb +0 -0
  117. /data/spec/rails3/{app_root/db → db}/seeds.rb +0 -0
  118. /data/spec/rails3/{app_root/lib → lib}/tasks/.gitkeep +0 -0
  119. /data/spec/rails3/{app_root/public → public}/404.html +0 -0
  120. /data/spec/rails3/{app_root/public → public}/422.html +0 -0
  121. /data/spec/rails3/{app_root/public → public}/500.html +0 -0
  122. /data/spec/rails3/{app_root/public → public}/favicon.ico +0 -0
  123. /data/spec/rails3/{app_root/public → public}/images/rails.png +0 -0
  124. /data/spec/rails3/{app_root/public → public}/index.html +0 -0
  125. /data/spec/rails3/{app_root/public → public}/javascripts/application.js +0 -0
  126. /data/spec/rails3/{app_root/public → public}/javascripts/controls.js +0 -0
  127. /data/spec/rails3/{app_root/public → public}/javascripts/dragdrop.js +0 -0
  128. /data/spec/rails3/{app_root/public → public}/javascripts/effects.js +0 -0
  129. /data/spec/rails3/{app_root/public → public}/javascripts/prototype.js +0 -0
  130. /data/spec/rails3/{app_root/public → public}/javascripts/rails.js +0 -0
  131. /data/spec/rails3/{app_root/public → public}/robots.txt +0 -0
  132. /data/spec/rails3/{app_root/public → public}/stylesheets/.gitkeep +0 -0
  133. /data/spec/rails3/{app_root/script → script}/rails +0 -0
  134. /data/spec/rails3/{app_root/spec → spec}/controller_http_basic_auth_spec.rb +0 -0
  135. /data/spec/rails3/{app_root/spec → spec}/controller_remember_me_spec.rb +0 -0
  136. /data/spec/rails3/{app_root/spec → spec}/spec_helper.orig.rb +0 -0
  137. /data/spec/rails3/{app_root/spec → spec}/user_activity_logging_spec.rb +0 -0
  138. /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.3.1
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-17 00:00:00 +03:00
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.3.0
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: "0"
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: bcrypt-ruby
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: *id013
169
+ version_requirements: *id014
159
170
  - !ruby/object:Gem::Dependency
160
171
  name: oauth
161
- requirement: &id014 !ruby/object:Gem::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: *id014
180
+ version_requirements: *id015
170
181
  - !ruby/object:Gem::Dependency
171
182
  name: oauth2
172
- requirement: &id015 !ruby/object:Gem::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: *id015
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/app_root/.gitignore
247
- - spec/rails3/app_root/.rspec
248
- - spec/rails3/app_root/Gemfile
249
- - spec/rails3/app_root/Gemfile.lock
250
- - spec/rails3/app_root/README
251
- - spec/rails3/app_root/Rakefile
252
- - spec/rails3/app_root/Rakefile.unused
253
- - spec/rails3/app_root/app/controllers/application_controller.rb
254
- - spec/rails3/app_root/app/helpers/application_helper.rb
255
- - spec/rails3/app_root/app/mailers/sorcery_mailer.rb
256
- - spec/rails3/app_root/app/models/authentication.rb
257
- - spec/rails3/app_root/app/models/user.rb
258
- - spec/rails3/app_root/app/views/layouts/application.html.erb
259
- - spec/rails3/app_root/app/views/sorcery_mailer/activation_email.html.erb
260
- - spec/rails3/app_root/app/views/sorcery_mailer/activation_email.text.erb
261
- - spec/rails3/app_root/app/views/sorcery_mailer/activation_success_email.html.erb
262
- - spec/rails3/app_root/app/views/sorcery_mailer/activation_success_email.text.erb
263
- - spec/rails3/app_root/app/views/sorcery_mailer/reset_password_email.html.erb
264
- - spec/rails3/app_root/app/views/sorcery_mailer/reset_password_email.text.erb
265
- - spec/rails3/app_root/config.ru
266
- - spec/rails3/app_root/config/application.rb
267
- - spec/rails3/app_root/config/boot.rb
268
- - spec/rails3/app_root/config/database.yml
269
- - spec/rails3/app_root/config/environment.rb
270
- - spec/rails3/app_root/config/environments/development.rb
271
- - spec/rails3/app_root/config/environments/in_memory.rb
272
- - spec/rails3/app_root/config/environments/production.rb
273
- - spec/rails3/app_root/config/environments/test.rb
274
- - spec/rails3/app_root/config/initializers/backtrace_silencers.rb
275
- - spec/rails3/app_root/config/initializers/inflections.rb
276
- - spec/rails3/app_root/config/initializers/mime_types.rb
277
- - spec/rails3/app_root/config/initializers/secret_token.rb
278
- - spec/rails3/app_root/config/initializers/session_store.rb
279
- - spec/rails3/app_root/config/locales/en.yml
280
- - spec/rails3/app_root/config/routes.rb
281
- - spec/rails3/app_root/db/migrate/activation/20101224223622_add_activation_to_users.rb
282
- - spec/rails3/app_root/db/migrate/activity_logging/20101224223624_add_activity_logging_to_users.rb
283
- - spec/rails3/app_root/db/migrate/brute_force_protection/20101224223626_add_brute_force_protection_to_users.rb
284
- - spec/rails3/app_root/db/migrate/core/20101224223620_create_users.rb
285
- - spec/rails3/app_root/db/migrate/external/20101224223628_create_authentications.rb
286
- - spec/rails3/app_root/db/migrate/remember_me/20101224223623_add_remember_me_token_to_users.rb
287
- - spec/rails3/app_root/db/migrate/reset_password/20101224223622_add_reset_password_to_users.rb
288
- - spec/rails3/app_root/db/schema.rb
289
- - spec/rails3/app_root/db/seeds.rb
290
- - spec/rails3/app_root/lib/tasks/.gitkeep
291
- - spec/rails3/app_root/public/404.html
292
- - spec/rails3/app_root/public/422.html
293
- - spec/rails3/app_root/public/500.html
294
- - spec/rails3/app_root/public/favicon.ico
295
- - spec/rails3/app_root/public/images/rails.png
296
- - spec/rails3/app_root/public/index.html
297
- - spec/rails3/app_root/public/javascripts/application.js
298
- - spec/rails3/app_root/public/javascripts/controls.js
299
- - spec/rails3/app_root/public/javascripts/dragdrop.js
300
- - spec/rails3/app_root/public/javascripts/effects.js
301
- - spec/rails3/app_root/public/javascripts/prototype.js
302
- - spec/rails3/app_root/public/javascripts/rails.js
303
- - spec/rails3/app_root/public/robots.txt
304
- - spec/rails3/app_root/public/stylesheets/.gitkeep
305
- - spec/rails3/app_root/script/rails
306
- - spec/rails3/app_root/spec/controller_activity_logging_spec.rb
307
- - spec/rails3/app_root/spec/controller_brute_force_protection_spec.rb
308
- - spec/rails3/app_root/spec/controller_http_basic_auth_spec.rb
309
- - spec/rails3/app_root/spec/controller_oauth2_spec.rb
310
- - spec/rails3/app_root/spec/controller_oauth_spec.rb
311
- - spec/rails3/app_root/spec/controller_remember_me_spec.rb
312
- - spec/rails3/app_root/spec/controller_session_timeout_spec.rb
313
- - spec/rails3/app_root/spec/controller_spec.rb
314
- - spec/rails3/app_root/spec/spec_helper.orig.rb
315
- - spec/rails3/app_root/spec/spec_helper.rb
316
- - spec/rails3/app_root/spec/user_activation_spec.rb
317
- - spec/rails3/app_root/spec/user_activity_logging_spec.rb
318
- - spec/rails3/app_root/spec/user_brute_force_protection_spec.rb
319
- - spec/rails3/app_root/spec/user_oauth_spec.rb
320
- - spec/rails3/app_root/spec/user_remember_me_spec.rb
321
- - spec/rails3/app_root/spec/user_reset_password_spec.rb
322
- - spec/rails3/app_root/spec/user_spec.rb
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/app_root/app/controllers/application_controller.rb
390
- - spec/rails3/app_root/app/helpers/application_helper.rb
391
- - spec/rails3/app_root/app/mailers/sorcery_mailer.rb
392
- - spec/rails3/app_root/app/models/authentication.rb
393
- - spec/rails3/app_root/app/models/user.rb
394
- - spec/rails3/app_root/config/application.rb
395
- - spec/rails3/app_root/config/boot.rb
396
- - spec/rails3/app_root/config/environment.rb
397
- - spec/rails3/app_root/config/environments/development.rb
398
- - spec/rails3/app_root/config/environments/in_memory.rb
399
- - spec/rails3/app_root/config/environments/production.rb
400
- - spec/rails3/app_root/config/environments/test.rb
401
- - spec/rails3/app_root/config/initializers/backtrace_silencers.rb
402
- - spec/rails3/app_root/config/initializers/inflections.rb
403
- - spec/rails3/app_root/config/initializers/mime_types.rb
404
- - spec/rails3/app_root/config/initializers/secret_token.rb
405
- - spec/rails3/app_root/config/initializers/session_store.rb
406
- - spec/rails3/app_root/config/routes.rb
407
- - spec/rails3/app_root/db/migrate/activation/20101224223622_add_activation_to_users.rb
408
- - spec/rails3/app_root/db/migrate/activity_logging/20101224223624_add_activity_logging_to_users.rb
409
- - spec/rails3/app_root/db/migrate/brute_force_protection/20101224223626_add_brute_force_protection_to_users.rb
410
- - spec/rails3/app_root/db/migrate/core/20101224223620_create_users.rb
411
- - spec/rails3/app_root/db/migrate/external/20101224223628_create_authentications.rb
412
- - spec/rails3/app_root/db/migrate/remember_me/20101224223623_add_remember_me_token_to_users.rb
413
- - spec/rails3/app_root/db/migrate/reset_password/20101224223622_add_reset_password_to_users.rb
414
- - spec/rails3/app_root/db/schema.rb
415
- - spec/rails3/app_root/db/seeds.rb
416
- - spec/rails3/app_root/spec/controller_activity_logging_spec.rb
417
- - spec/rails3/app_root/spec/controller_brute_force_protection_spec.rb
418
- - spec/rails3/app_root/spec/controller_http_basic_auth_spec.rb
419
- - spec/rails3/app_root/spec/controller_oauth2_spec.rb
420
- - spec/rails3/app_root/spec/controller_oauth_spec.rb
421
- - spec/rails3/app_root/spec/controller_remember_me_spec.rb
422
- - spec/rails3/app_root/spec/controller_session_timeout_spec.rb
423
- - spec/rails3/app_root/spec/controller_spec.rb
424
- - spec/rails3/app_root/spec/spec_helper.orig.rb
425
- - spec/rails3/app_root/spec/spec_helper.rb
426
- - spec/rails3/app_root/spec/user_activation_spec.rb
427
- - spec/rails3/app_root/spec/user_activity_logging_spec.rb
428
- - spec/rails3/app_root/spec/user_brute_force_protection_spec.rb
429
- - spec/rails3/app_root/spec/user_oauth_spec.rb
430
- - spec/rails3/app_root/spec/user_remember_me_spec.rb
431
- - spec/rails3/app_root/spec/user_reset_password_spec.rb
432
- - spec/rails3/app_root/spec/user_spec.rb
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
@@ -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