sorcery 0.1.4 → 0.2.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.

Potentially problematic release.


This version of sorcery might be problematic. Click here for more details.

Files changed (65) hide show
  1. data/Gemfile +4 -2
  2. data/Gemfile.lock +16 -13
  3. data/README.rdoc +28 -27
  4. data/Rakefile +5 -0
  5. data/VERSION +1 -1
  6. data/lib/sorcery.rb +12 -0
  7. data/lib/sorcery/controller.rb +29 -17
  8. data/lib/sorcery/controller/submodules/activity_logging.rb +20 -7
  9. data/lib/sorcery/controller/submodules/brute_force_protection.rb +9 -2
  10. data/lib/sorcery/controller/submodules/http_basic_auth.rb +8 -3
  11. data/lib/sorcery/controller/submodules/oauth.rb +95 -0
  12. data/lib/sorcery/controller/submodules/oauth/oauth1.rb +25 -0
  13. data/lib/sorcery/controller/submodules/oauth/oauth2.rb +23 -0
  14. data/lib/sorcery/controller/submodules/oauth/providers/facebook.rb +64 -0
  15. data/lib/sorcery/controller/submodules/oauth/providers/twitter.rb +61 -0
  16. data/lib/sorcery/controller/submodules/remember_me.rb +14 -5
  17. data/lib/sorcery/controller/submodules/session_timeout.rb +6 -1
  18. data/lib/sorcery/engine.rb +9 -2
  19. data/lib/sorcery/model.rb +10 -3
  20. data/lib/sorcery/model/submodules/activity_logging.rb +12 -7
  21. data/lib/sorcery/model/submodules/brute_force_protection.rb +11 -4
  22. data/lib/sorcery/model/submodules/oauth.rb +53 -0
  23. data/lib/sorcery/model/submodules/remember_me.rb +5 -3
  24. data/lib/sorcery/model/submodules/reset_password.rb +16 -13
  25. data/lib/sorcery/model/submodules/user_activation.rb +38 -19
  26. data/lib/sorcery/model/temporary_token.rb +22 -0
  27. data/lib/sorcery/test_helpers.rb +84 -0
  28. data/sorcery.gemspec +69 -40
  29. data/spec/Gemfile +3 -2
  30. data/spec/Gemfile.lock +15 -2
  31. data/spec/rails3/app_root/.rspec +1 -0
  32. data/spec/rails3/{Gemfile → app_root/Gemfile} +5 -3
  33. data/spec/rails3/{Gemfile.lock → app_root/Gemfile.lock} +25 -2
  34. data/spec/rails3/{Rakefile → app_root/Rakefile} +0 -0
  35. data/spec/rails3/app_root/app/controllers/application_controller.rb +42 -1
  36. data/spec/rails3/app_root/app/models/authentication.rb +3 -0
  37. data/spec/rails3/app_root/app/models/user.rb +4 -1
  38. data/spec/rails3/app_root/config/application.rb +1 -3
  39. data/spec/rails3/app_root/config/routes.rb +1 -10
  40. data/spec/rails3/app_root/db/migrate/activation/20101224223622_add_activation_to_users.rb +6 -4
  41. data/spec/rails3/app_root/db/migrate/core/20101224223620_create_users.rb +4 -4
  42. data/spec/rails3/app_root/db/migrate/oauth/20101224223628_create_authentications.rb +14 -0
  43. data/spec/rails3/{controller_activity_logging_spec.rb → app_root/spec/controller_activity_logging_spec.rb} +13 -13
  44. data/spec/rails3/{controller_brute_force_protection_spec.rb → app_root/spec/controller_brute_force_protection_spec.rb} +16 -6
  45. data/spec/rails3/{controller_http_basic_auth_spec.rb → app_root/spec/controller_http_basic_auth_spec.rb} +3 -3
  46. data/spec/rails3/app_root/spec/controller_oauth2_spec.rb +117 -0
  47. data/spec/rails3/app_root/spec/controller_oauth_spec.rb +117 -0
  48. data/spec/rails3/{controller_remember_me_spec.rb → app_root/spec/controller_remember_me_spec.rb} +4 -4
  49. data/spec/rails3/{controller_session_timeout_spec.rb → app_root/spec/controller_session_timeout_spec.rb} +4 -4
  50. data/spec/rails3/{controller_spec.rb → app_root/spec/controller_spec.rb} +20 -13
  51. data/spec/rails3/app_root/spec/spec_helper.orig.rb +27 -0
  52. data/spec/rails3/app_root/spec/spec_helper.rb +61 -0
  53. data/spec/rails3/{user_activation_spec.rb → app_root/spec/user_activation_spec.rb} +60 -20
  54. data/spec/rails3/{user_activity_logging_spec.rb → app_root/spec/user_activity_logging_spec.rb} +4 -4
  55. data/spec/rails3/{user_brute_force_protection_spec.rb → app_root/spec/user_brute_force_protection_spec.rb} +7 -7
  56. data/spec/rails3/app_root/spec/user_oauth_spec.rb +39 -0
  57. data/spec/rails3/{user_remember_me_spec.rb → app_root/spec/user_remember_me_spec.rb} +4 -4
  58. data/spec/rails3/{user_reset_password_spec.rb → app_root/spec/user_reset_password_spec.rb} +21 -41
  59. data/spec/rails3/{user_spec.rb → app_root/spec/user_spec.rb} +68 -38
  60. metadata +127 -58
  61. data/spec/rails3/app_root/test/fixtures/users.yml +0 -9
  62. data/spec/rails3/app_root/test/performance/browsing_test.rb +0 -9
  63. data/spec/rails3/app_root/test/test_helper.rb +0 -13
  64. data/spec/rails3/app_root/test/unit/user_test.rb +0 -8
  65. data/spec/rails3/spec_helper.rb +0 -135
data/sorcery.gemspec CHANGED
@@ -5,11 +5,11 @@
5
5
 
6
6
  Gem::Specification.new do |s|
7
7
  s.name = %q{sorcery}
8
- s.version = "0.1.4"
8
+ s.version = "0.2.0"
9
9
 
10
10
  s.required_rubygems_version = Gem::Requirement.new(">= 0") if s.respond_to? :required_rubygems_version=
11
11
  s.authors = ["Noam Ben Ari"]
12
- s.date = %q{2011-02-19}
12
+ s.date = %q{2011-03-13}
13
13
  s.description = %q{Provides common authentication needs such as signing in/out, activating by email and resetting password.}
14
14
  s.email = %q{nbenari@gmail.com}
15
15
  s.extra_rdoc_files = [
@@ -30,6 +30,11 @@ Gem::Specification.new do |s|
30
30
  "lib/sorcery/controller/submodules/activity_logging.rb",
31
31
  "lib/sorcery/controller/submodules/brute_force_protection.rb",
32
32
  "lib/sorcery/controller/submodules/http_basic_auth.rb",
33
+ "lib/sorcery/controller/submodules/oauth.rb",
34
+ "lib/sorcery/controller/submodules/oauth/oauth1.rb",
35
+ "lib/sorcery/controller/submodules/oauth/oauth2.rb",
36
+ "lib/sorcery/controller/submodules/oauth/providers/facebook.rb",
37
+ "lib/sorcery/controller/submodules/oauth/providers/twitter.rb",
33
38
  "lib/sorcery/controller/submodules/remember_me.rb",
34
39
  "lib/sorcery/controller/submodules/session_timeout.rb",
35
40
  "lib/sorcery/crypto_providers/aes256.rb",
@@ -42,23 +47,28 @@ Gem::Specification.new do |s|
42
47
  "lib/sorcery/model.rb",
43
48
  "lib/sorcery/model/submodules/activity_logging.rb",
44
49
  "lib/sorcery/model/submodules/brute_force_protection.rb",
50
+ "lib/sorcery/model/submodules/oauth.rb",
45
51
  "lib/sorcery/model/submodules/remember_me.rb",
46
52
  "lib/sorcery/model/submodules/reset_password.rb",
47
53
  "lib/sorcery/model/submodules/user_activation.rb",
54
+ "lib/sorcery/model/temporary_token.rb",
55
+ "lib/sorcery/test_helpers.rb",
48
56
  "sorcery.gemspec",
49
57
  "spec/Gemfile",
50
58
  "spec/Gemfile.lock",
51
59
  "spec/Rakefile",
52
60
  "spec/rails3/.rspec",
53
- "spec/rails3/Gemfile",
54
- "spec/rails3/Gemfile.lock",
55
- "spec/rails3/Rakefile",
56
61
  "spec/rails3/app_root/.gitignore",
62
+ "spec/rails3/app_root/.rspec",
63
+ "spec/rails3/app_root/Gemfile",
64
+ "spec/rails3/app_root/Gemfile.lock",
57
65
  "spec/rails3/app_root/README",
66
+ "spec/rails3/app_root/Rakefile",
58
67
  "spec/rails3/app_root/Rakefile.unused",
59
68
  "spec/rails3/app_root/app/controllers/application_controller.rb",
60
69
  "spec/rails3/app_root/app/helpers/application_helper.rb",
61
70
  "spec/rails3/app_root/app/mailers/sorcery_mailer.rb",
71
+ "spec/rails3/app_root/app/models/authentication.rb",
62
72
  "spec/rails3/app_root/app/models/user.rb",
63
73
  "spec/rails3/app_root/app/views/layouts/application.html.erb",
64
74
  "spec/rails3/app_root/app/views/sorcery_mailer/activation_email.html.erb",
@@ -87,6 +97,7 @@ Gem::Specification.new do |s|
87
97
  "spec/rails3/app_root/db/migrate/activity_logging/20101224223624_add_activity_logging_to_users.rb",
88
98
  "spec/rails3/app_root/db/migrate/brute_force_protection/20101224223626_add_brute_force_protection_to_users.rb",
89
99
  "spec/rails3/app_root/db/migrate/core/20101224223620_create_users.rb",
100
+ "spec/rails3/app_root/db/migrate/oauth/20101224223628_create_authentications.rb",
90
101
  "spec/rails3/app_root/db/migrate/remember_me/20101224223623_add_remember_me_token_to_users.rb",
91
102
  "spec/rails3/app_root/db/migrate/reset_password/20101224223622_add_reset_password_to_users.rb",
92
103
  "spec/rails3/app_root/db/schema.rb",
@@ -107,36 +118,37 @@ Gem::Specification.new do |s|
107
118
  "spec/rails3/app_root/public/robots.txt",
108
119
  "spec/rails3/app_root/public/stylesheets/.gitkeep",
109
120
  "spec/rails3/app_root/script/rails",
110
- "spec/rails3/app_root/test/fixtures/users.yml",
111
- "spec/rails3/app_root/test/performance/browsing_test.rb",
112
- "spec/rails3/app_root/test/test_helper.rb",
113
- "spec/rails3/app_root/test/unit/user_test.rb",
121
+ "spec/rails3/app_root/spec/controller_activity_logging_spec.rb",
122
+ "spec/rails3/app_root/spec/controller_brute_force_protection_spec.rb",
123
+ "spec/rails3/app_root/spec/controller_http_basic_auth_spec.rb",
124
+ "spec/rails3/app_root/spec/controller_oauth2_spec.rb",
125
+ "spec/rails3/app_root/spec/controller_oauth_spec.rb",
126
+ "spec/rails3/app_root/spec/controller_remember_me_spec.rb",
127
+ "spec/rails3/app_root/spec/controller_session_timeout_spec.rb",
128
+ "spec/rails3/app_root/spec/controller_spec.rb",
129
+ "spec/rails3/app_root/spec/spec_helper.orig.rb",
130
+ "spec/rails3/app_root/spec/spec_helper.rb",
131
+ "spec/rails3/app_root/spec/user_activation_spec.rb",
132
+ "spec/rails3/app_root/spec/user_activity_logging_spec.rb",
133
+ "spec/rails3/app_root/spec/user_brute_force_protection_spec.rb",
134
+ "spec/rails3/app_root/spec/user_oauth_spec.rb",
135
+ "spec/rails3/app_root/spec/user_remember_me_spec.rb",
136
+ "spec/rails3/app_root/spec/user_reset_password_spec.rb",
137
+ "spec/rails3/app_root/spec/user_spec.rb",
114
138
  "spec/rails3/app_root/vendor/plugins/.gitkeep",
115
- "spec/rails3/controller_activity_logging_spec.rb",
116
- "spec/rails3/controller_brute_force_protection_spec.rb",
117
- "spec/rails3/controller_http_basic_auth_spec.rb",
118
- "spec/rails3/controller_remember_me_spec.rb",
119
- "spec/rails3/controller_session_timeout_spec.rb",
120
- "spec/rails3/controller_spec.rb",
121
- "spec/rails3/spec_helper.rb",
122
- "spec/rails3/user_activation_spec.rb",
123
- "spec/rails3/user_activity_logging_spec.rb",
124
- "spec/rails3/user_brute_force_protection_spec.rb",
125
- "spec/rails3/user_remember_me_spec.rb",
126
- "spec/rails3/user_reset_password_spec.rb",
127
- "spec/rails3/user_spec.rb",
128
139
  "spec/sorcery_crypto_providers_spec.rb",
129
140
  "spec/spec_helper.rb"
130
141
  ]
131
142
  s.homepage = %q{http://github.com/NoamB/sorcery}
132
143
  s.licenses = ["MIT"]
133
144
  s.require_paths = ["lib"]
134
- s.rubygems_version = %q{1.5.0}
145
+ s.rubygems_version = %q{1.6.2}
135
146
  s.summary = %q{Magical authentication for Rails 3 applications}
136
147
  s.test_files = [
137
148
  "spec/rails3/app_root/app/controllers/application_controller.rb",
138
149
  "spec/rails3/app_root/app/helpers/application_helper.rb",
139
150
  "spec/rails3/app_root/app/mailers/sorcery_mailer.rb",
151
+ "spec/rails3/app_root/app/models/authentication.rb",
140
152
  "spec/rails3/app_root/app/models/user.rb",
141
153
  "spec/rails3/app_root/config/application.rb",
142
154
  "spec/rails3/app_root/config/boot.rb",
@@ -155,26 +167,28 @@ Gem::Specification.new do |s|
155
167
  "spec/rails3/app_root/db/migrate/activity_logging/20101224223624_add_activity_logging_to_users.rb",
156
168
  "spec/rails3/app_root/db/migrate/brute_force_protection/20101224223626_add_brute_force_protection_to_users.rb",
157
169
  "spec/rails3/app_root/db/migrate/core/20101224223620_create_users.rb",
170
+ "spec/rails3/app_root/db/migrate/oauth/20101224223628_create_authentications.rb",
158
171
  "spec/rails3/app_root/db/migrate/remember_me/20101224223623_add_remember_me_token_to_users.rb",
159
172
  "spec/rails3/app_root/db/migrate/reset_password/20101224223622_add_reset_password_to_users.rb",
160
173
  "spec/rails3/app_root/db/schema.rb",
161
174
  "spec/rails3/app_root/db/seeds.rb",
162
- "spec/rails3/app_root/test/performance/browsing_test.rb",
163
- "spec/rails3/app_root/test/test_helper.rb",
164
- "spec/rails3/app_root/test/unit/user_test.rb",
165
- "spec/rails3/controller_activity_logging_spec.rb",
166
- "spec/rails3/controller_brute_force_protection_spec.rb",
167
- "spec/rails3/controller_http_basic_auth_spec.rb",
168
- "spec/rails3/controller_remember_me_spec.rb",
169
- "spec/rails3/controller_session_timeout_spec.rb",
170
- "spec/rails3/controller_spec.rb",
171
- "spec/rails3/spec_helper.rb",
172
- "spec/rails3/user_activation_spec.rb",
173
- "spec/rails3/user_activity_logging_spec.rb",
174
- "spec/rails3/user_brute_force_protection_spec.rb",
175
- "spec/rails3/user_remember_me_spec.rb",
176
- "spec/rails3/user_reset_password_spec.rb",
177
- "spec/rails3/user_spec.rb",
175
+ "spec/rails3/app_root/spec/controller_activity_logging_spec.rb",
176
+ "spec/rails3/app_root/spec/controller_brute_force_protection_spec.rb",
177
+ "spec/rails3/app_root/spec/controller_http_basic_auth_spec.rb",
178
+ "spec/rails3/app_root/spec/controller_oauth2_spec.rb",
179
+ "spec/rails3/app_root/spec/controller_oauth_spec.rb",
180
+ "spec/rails3/app_root/spec/controller_remember_me_spec.rb",
181
+ "spec/rails3/app_root/spec/controller_session_timeout_spec.rb",
182
+ "spec/rails3/app_root/spec/controller_spec.rb",
183
+ "spec/rails3/app_root/spec/spec_helper.orig.rb",
184
+ "spec/rails3/app_root/spec/spec_helper.rb",
185
+ "spec/rails3/app_root/spec/user_activation_spec.rb",
186
+ "spec/rails3/app_root/spec/user_activity_logging_spec.rb",
187
+ "spec/rails3/app_root/spec/user_brute_force_protection_spec.rb",
188
+ "spec/rails3/app_root/spec/user_oauth_spec.rb",
189
+ "spec/rails3/app_root/spec/user_remember_me_spec.rb",
190
+ "spec/rails3/app_root/spec/user_reset_password_spec.rb",
191
+ "spec/rails3/app_root/spec/user_spec.rb",
178
192
  "spec/sorcery_crypto_providers_spec.rb",
179
193
  "spec/spec_helper.rb"
180
194
  ]
@@ -183,7 +197,10 @@ Gem::Specification.new do |s|
183
197
  s.specification_version = 3
184
198
 
185
199
  if Gem::Version.new(Gem::VERSION) >= Gem::Version.new('1.2.0') then
186
- s.add_development_dependency(%q<rails>, [">= 3.0.0"])
200
+ s.add_runtime_dependency(%q<rails>, [">= 3.0.0"])
201
+ s.add_runtime_dependency(%q<json>, [">= 1.5.1"])
202
+ s.add_runtime_dependency(%q<oauth>, [">= 0.4.4"])
203
+ s.add_runtime_dependency(%q<oauth2>, [">= 0.1.1"])
187
204
  s.add_development_dependency(%q<rspec>, ["~> 2.3.0"])
188
205
  s.add_development_dependency(%q<rspec-rails>, [">= 0"])
189
206
  s.add_development_dependency(%q<ruby-debug19>, [">= 0"])
@@ -193,8 +210,13 @@ Gem::Specification.new do |s|
193
210
  s.add_development_dependency(%q<jeweler>, ["~> 1.5.2"])
194
211
  s.add_development_dependency(%q<simplecov>, [">= 0.3.8"])
195
212
  s.add_runtime_dependency(%q<bcrypt-ruby>, ["~> 2.1.4"])
213
+ s.add_runtime_dependency(%q<oauth>, [">= 0.4.4"])
214
+ s.add_runtime_dependency(%q<oauth2>, [">= 0.1.1"])
196
215
  else
197
216
  s.add_dependency(%q<rails>, [">= 3.0.0"])
217
+ s.add_dependency(%q<json>, [">= 1.5.1"])
218
+ s.add_dependency(%q<oauth>, [">= 0.4.4"])
219
+ s.add_dependency(%q<oauth2>, [">= 0.1.1"])
198
220
  s.add_dependency(%q<rspec>, ["~> 2.3.0"])
199
221
  s.add_dependency(%q<rspec-rails>, [">= 0"])
200
222
  s.add_dependency(%q<ruby-debug19>, [">= 0"])
@@ -204,9 +226,14 @@ Gem::Specification.new do |s|
204
226
  s.add_dependency(%q<jeweler>, ["~> 1.5.2"])
205
227
  s.add_dependency(%q<simplecov>, [">= 0.3.8"])
206
228
  s.add_dependency(%q<bcrypt-ruby>, ["~> 2.1.4"])
229
+ s.add_dependency(%q<oauth>, [">= 0.4.4"])
230
+ s.add_dependency(%q<oauth2>, [">= 0.1.1"])
207
231
  end
208
232
  else
209
233
  s.add_dependency(%q<rails>, [">= 3.0.0"])
234
+ s.add_dependency(%q<json>, [">= 1.5.1"])
235
+ s.add_dependency(%q<oauth>, [">= 0.4.4"])
236
+ s.add_dependency(%q<oauth2>, [">= 0.1.1"])
210
237
  s.add_dependency(%q<rspec>, ["~> 2.3.0"])
211
238
  s.add_dependency(%q<rspec-rails>, [">= 0"])
212
239
  s.add_dependency(%q<ruby-debug19>, [">= 0"])
@@ -216,6 +243,8 @@ Gem::Specification.new do |s|
216
243
  s.add_dependency(%q<jeweler>, ["~> 1.5.2"])
217
244
  s.add_dependency(%q<simplecov>, [">= 0.3.8"])
218
245
  s.add_dependency(%q<bcrypt-ruby>, ["~> 2.1.4"])
246
+ s.add_dependency(%q<oauth>, [">= 0.4.4"])
247
+ s.add_dependency(%q<oauth2>, [">= 0.1.1"])
219
248
  end
220
249
  end
221
250
 
data/spec/Gemfile CHANGED
@@ -2,8 +2,9 @@ source 'http://rubygems.org'
2
2
 
3
3
  gem "rails", '3.0.3'
4
4
  gem 'bcrypt-ruby', :require => 'bcrypt'
5
- gem "sorcery", '0.1.3', :path => '../../../'
6
-
5
+ gem "sorcery", '0.1.4', :path => '../../../'
6
+ gem 'oauth', ">= 0.4.4"
7
+ gem 'oauth2', ">= 0.1.1"
7
8
  group :development do
8
9
  gem 'rspec'
9
10
  gem 'ruby-debug19'
data/spec/Gemfile.lock CHANGED
@@ -1,7 +1,7 @@
1
1
  PATH
2
2
  remote: ../../../
3
3
  specs:
4
- sorcery (0.1.3)
4
+ sorcery (0.1.4)
5
5
 
6
6
  GEM
7
7
  remote: http://rubygems.org/
@@ -33,6 +33,7 @@ GEM
33
33
  activemodel (= 3.0.3)
34
34
  activesupport (= 3.0.3)
35
35
  activesupport (3.0.3)
36
+ addressable (2.2.4)
36
37
  archive-tar-minitar (0.5.2)
37
38
  arel (2.0.6)
38
39
  bcrypt-ruby (2.1.3)
@@ -41,6 +42,10 @@ GEM
41
42
  diff-lcs (1.1.2)
42
43
  erubis (2.6.6)
43
44
  abstract (>= 1.0.0)
45
+ faraday (0.5.5)
46
+ addressable (~> 2.2.4)
47
+ multipart-post (~> 1.1.0)
48
+ rack (< 2, >= 1.1.0)
44
49
  i18n (0.5.0)
45
50
  linecache19 (0.5.11)
46
51
  ruby_core_source (>= 0.1.4)
@@ -50,6 +55,12 @@ GEM
50
55
  mime-types (~> 1.16)
51
56
  treetop (~> 1.4.8)
52
57
  mime-types (1.16)
58
+ multi_json (0.0.5)
59
+ multipart-post (1.1.0)
60
+ oauth (0.4.4)
61
+ oauth2 (0.1.1)
62
+ faraday (~> 0.5.0)
63
+ multi_json (~> 0.0.4)
53
64
  polyglot (0.3.1)
54
65
  rack (1.2.1)
55
66
  rack-mount (0.6.13)
@@ -101,8 +112,10 @@ PLATFORMS
101
112
 
102
113
  DEPENDENCIES
103
114
  bcrypt-ruby
115
+ oauth (>= 0.4.4)
116
+ oauth2 (>= 0.1.1)
104
117
  rails (= 3.0.3)
105
118
  rspec
106
119
  ruby-debug19
107
120
  simplecov (>= 0.3.8)
108
- sorcery (= 0.1.3)!
121
+ sorcery (= 0.1.4)!
@@ -0,0 +1 @@
1
+ --colour
@@ -2,12 +2,14 @@ source 'http://rubygems.org'
2
2
 
3
3
  gem 'rails', '3.0.3'
4
4
  gem 'sqlite3-ruby', :require => 'sqlite3'
5
- gem "sorcery", '0.1.3', :path => '../../../'
5
+ gem "sorcery", '0.1.4', :path => '../../../'
6
6
  gem 'bcrypt-ruby', '~> 2.1.4', :require => 'bcrypt'
7
-
8
- group :development do
7
+ gem 'oauth', ">= 0.4.4"
8
+ gem 'oauth2', ">= 0.1.1"
9
+ group :development, :test do
9
10
  gem 'rspec'
10
11
  gem 'rspec-rails'
11
12
  gem 'ruby-debug19'
12
13
  gem 'simplecov', '>= 0.3.8', :require => false # Will install simplecov-html as a dependency
14
+ gem 'spork', '~> 0.9.0.rc'
13
15
  end
@@ -1,7 +1,14 @@
1
1
  PATH
2
2
  remote: ../../../
3
3
  specs:
4
- sorcery (0.1.3)
4
+ sorcery (0.1.4)
5
+ bcrypt-ruby (~> 2.1.4)
6
+ json (>= 1.5.1)
7
+ oauth (>= 0.4.4)
8
+ oauth (>= 0.4.4)
9
+ oauth2 (>= 0.1.1)
10
+ oauth2 (>= 0.1.1)
11
+ rails (>= 3.0.0)
5
12
 
6
13
  GEM
7
14
  remote: http://rubygems.org/
@@ -33,6 +40,7 @@ GEM
33
40
  activemodel (= 3.0.3)
34
41
  activesupport (= 3.0.3)
35
42
  activesupport (3.0.3)
43
+ addressable (2.2.4)
36
44
  archive-tar-minitar (0.5.2)
37
45
  arel (2.0.6)
38
46
  bcrypt-ruby (2.1.4)
@@ -41,7 +49,12 @@ GEM
41
49
  diff-lcs (1.1.2)
42
50
  erubis (2.6.6)
43
51
  abstract (>= 1.0.0)
52
+ faraday (0.5.5)
53
+ addressable (~> 2.2.4)
54
+ multipart-post (~> 1.1.0)
55
+ rack (< 2, >= 1.1.0)
44
56
  i18n (0.5.0)
57
+ json (1.5.1)
45
58
  linecache19 (0.5.11)
46
59
  ruby_core_source (>= 0.1.4)
47
60
  mail (2.2.13)
@@ -50,6 +63,12 @@ GEM
50
63
  mime-types (~> 1.16)
51
64
  treetop (~> 1.4.8)
52
65
  mime-types (1.16)
66
+ multi_json (0.0.5)
67
+ multipart-post (1.1.0)
68
+ oauth (0.4.4)
69
+ oauth2 (0.1.1)
70
+ faraday (~> 0.5.0)
71
+ multi_json (~> 0.0.4)
53
72
  polyglot (0.3.1)
54
73
  rack (1.2.1)
55
74
  rack-mount (0.6.13)
@@ -96,6 +115,7 @@ GEM
96
115
  simplecov (0.3.9)
97
116
  simplecov-html (>= 0.3.7)
98
117
  simplecov-html (0.3.9)
118
+ spork (0.9.0.rc3)
99
119
  sqlite3-ruby (1.3.2)
100
120
  thor (0.14.6)
101
121
  treetop (1.4.9)
@@ -107,10 +127,13 @@ PLATFORMS
107
127
 
108
128
  DEPENDENCIES
109
129
  bcrypt-ruby (~> 2.1.4)
130
+ oauth (>= 0.4.4)
131
+ oauth2 (>= 0.1.1)
110
132
  rails (= 3.0.3)
111
133
  rspec
112
134
  rspec-rails
113
135
  ruby-debug19
114
136
  simplecov (>= 0.3.8)
115
- sorcery (= 0.1.3)!
137
+ sorcery (= 0.1.4)!
138
+ spork (~> 0.9.0.rc)
116
139
  sqlite3-ruby
File without changes
@@ -1,3 +1,5 @@
1
+ require 'oauth'
2
+
1
3
  class ApplicationController < ActionController::Base
2
4
  protect_from_forgery
3
5
 
@@ -18,6 +20,11 @@ class ApplicationController < ActionController::Base
18
20
  render :text => ""
19
21
  end
20
22
 
23
+ def test_return_to
24
+ @user = login(params[:username], params[:password])
25
+ return_or_redirect_to(:index, :notice => 'haha!')
26
+ end
27
+
21
28
  def test_logout
22
29
  logout
23
30
  render :text => ""
@@ -43,7 +50,7 @@ class ApplicationController < ActionController::Base
43
50
  end
44
51
 
45
52
  def test_login_from_cookie
46
- @user = logged_in_user
53
+ @user = current_user
47
54
  render :text => ""
48
55
  end
49
56
 
@@ -59,6 +66,40 @@ class ApplicationController < ActionController::Base
59
66
  render :text => "HTTP Basic Auth"
60
67
  end
61
68
 
69
+ def auth_at_provider_test
70
+ auth_at_provider(:twitter)
71
+ end
72
+
73
+ def auth_at_provider_test2
74
+ auth_at_provider(:facebook)
75
+ end
76
+
77
+ def test_login_from_access_token
78
+ if @user = login_from_access_token(:twitter)
79
+ redirect_to "bla", :notice => "Success!"
80
+ else
81
+ redirect_to "blu", :alert => "Failed!"
82
+ end
83
+ end
84
+
85
+ def test_login_from_access_token2
86
+ if @user = login_from_access_token(:facebook)
87
+ redirect_to "bla", :notice => "Success!"
88
+ else
89
+ redirect_to "blu", :alert => "Failed!"
90
+ end
91
+ end
92
+
93
+ def test_create_from_provider
94
+ provider = params[:provider]
95
+ login_from_access_token(provider)
96
+ if @user = create_from_provider!(provider)
97
+ redirect_to "bla", :notice => "Success!"
98
+ else
99
+ redirect_to "blu", :alert => "Failed!"
100
+ end
101
+ end
102
+
62
103
  protected
63
104
 
64
105
 
@@ -0,0 +1,3 @@
1
+ class Authentication < ActiveRecord::Base
2
+ belongs_to :user
3
+ end
@@ -1,3 +1,6 @@
1
1
  class User < ActiveRecord::Base
2
- #activate_sorcery!
2
+ attr_accessible :email, :password, :password_confirmation, :authentications_attributes
3
+
4
+ has_many :authentications, :dependent => :destroy
5
+ accepts_nested_attributes_for :authentications
3
6
  end