devise 3.2.2 → 4.8.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.
Files changed (236) hide show
  1. checksums.yaml +7 -0
  2. data/CHANGELOG.md +281 -957
  3. data/MIT-LICENSE +2 -1
  4. data/README.md +410 -120
  5. data/app/controllers/devise/confirmations_controller.rb +11 -5
  6. data/app/controllers/devise/omniauth_callbacks_controller.rb +12 -6
  7. data/app/controllers/devise/passwords_controller.rb +21 -8
  8. data/app/controllers/devise/registrations_controller.rb +59 -26
  9. data/app/controllers/devise/sessions_controller.rb +47 -17
  10. data/app/controllers/devise/unlocks_controller.rb +9 -4
  11. data/app/controllers/devise_controller.rb +69 -33
  12. data/app/helpers/devise_helper.rb +23 -18
  13. data/app/mailers/devise/mailer.rb +13 -3
  14. data/app/views/devise/confirmations/new.html.erb +9 -5
  15. data/app/views/devise/mailer/confirmation_instructions.html.erb +1 -1
  16. data/app/views/devise/mailer/email_changed.html.erb +7 -0
  17. data/app/views/devise/mailer/password_change.html.erb +3 -0
  18. data/app/views/devise/mailer/reset_password_instructions.html.erb +1 -1
  19. data/app/views/devise/mailer/unlock_instructions.html.erb +1 -1
  20. data/app/views/devise/passwords/edit.html.erb +16 -7
  21. data/app/views/devise/passwords/new.html.erb +9 -5
  22. data/app/views/devise/registrations/edit.html.erb +29 -15
  23. data/app/views/devise/registrations/new.html.erb +20 -9
  24. data/app/views/devise/sessions/new.html.erb +19 -10
  25. data/app/views/devise/shared/_error_messages.html.erb +15 -0
  26. data/app/views/devise/shared/{_links.erb → _links.html.erb} +9 -9
  27. data/app/views/devise/unlocks/new.html.erb +9 -5
  28. data/config/locales/en.yml +24 -18
  29. data/lib/devise/controllers/helpers.rb +113 -33
  30. data/lib/devise/controllers/rememberable.rb +15 -6
  31. data/lib/devise/controllers/scoped_views.rb +3 -1
  32. data/lib/devise/controllers/sign_in_out.rb +47 -29
  33. data/lib/devise/controllers/store_location.rb +31 -5
  34. data/lib/devise/controllers/url_helpers.rb +10 -8
  35. data/lib/devise/delegator.rb +2 -0
  36. data/lib/devise/encryptor.rb +24 -0
  37. data/lib/devise/failure_app.rb +119 -40
  38. data/lib/devise/hooks/activatable.rb +7 -6
  39. data/lib/devise/hooks/csrf_cleaner.rb +5 -1
  40. data/lib/devise/hooks/forgetable.rb +2 -0
  41. data/lib/devise/hooks/lockable.rb +5 -3
  42. data/lib/devise/hooks/proxy.rb +4 -2
  43. data/lib/devise/hooks/rememberable.rb +4 -2
  44. data/lib/devise/hooks/timeoutable.rb +16 -9
  45. data/lib/devise/hooks/trackable.rb +3 -1
  46. data/lib/devise/mailers/helpers.rb +15 -12
  47. data/lib/devise/mapping.rb +9 -3
  48. data/lib/devise/models/authenticatable.rb +91 -61
  49. data/lib/devise/models/confirmable.rb +138 -43
  50. data/lib/devise/models/database_authenticatable.rb +112 -31
  51. data/lib/devise/models/lockable.rb +39 -18
  52. data/lib/devise/models/omniauthable.rb +3 -1
  53. data/lib/devise/models/recoverable.rb +64 -28
  54. data/lib/devise/models/registerable.rb +4 -0
  55. data/lib/devise/models/rememberable.rb +62 -33
  56. data/lib/devise/models/timeoutable.rb +4 -8
  57. data/lib/devise/models/trackable.rb +20 -4
  58. data/lib/devise/models/validatable.rb +16 -9
  59. data/lib/devise/models.rb +3 -1
  60. data/lib/devise/modules.rb +12 -10
  61. data/lib/devise/omniauth/config.rb +2 -0
  62. data/lib/devise/omniauth/url_helpers.rb +14 -5
  63. data/lib/devise/omniauth.rb +4 -5
  64. data/lib/devise/orm/active_record.rb +5 -1
  65. data/lib/devise/orm/mongoid.rb +6 -2
  66. data/lib/devise/parameter_filter.rb +4 -0
  67. data/lib/devise/parameter_sanitizer.rb +139 -65
  68. data/lib/devise/rails/deprecated_constant_accessor.rb +39 -0
  69. data/lib/devise/rails/routes.rb +151 -120
  70. data/lib/devise/rails/warden_compat.rb +3 -10
  71. data/lib/devise/rails.rb +10 -13
  72. data/lib/devise/secret_key_finder.rb +27 -0
  73. data/lib/devise/strategies/authenticatable.rb +21 -10
  74. data/lib/devise/strategies/base.rb +3 -1
  75. data/lib/devise/strategies/database_authenticatable.rb +14 -6
  76. data/lib/devise/strategies/rememberable.rb +15 -3
  77. data/lib/devise/test/controller_helpers.rb +167 -0
  78. data/lib/devise/test/integration_helpers.rb +63 -0
  79. data/lib/devise/test_helpers.rb +7 -124
  80. data/lib/devise/time_inflector.rb +4 -2
  81. data/lib/devise/token_generator.rb +3 -41
  82. data/lib/devise/version.rb +3 -1
  83. data/lib/devise.rb +107 -84
  84. data/lib/generators/active_record/devise_generator.rb +64 -12
  85. data/lib/generators/active_record/templates/migration.rb +9 -7
  86. data/lib/generators/active_record/templates/migration_existing.rb +9 -7
  87. data/lib/generators/devise/controllers_generator.rb +46 -0
  88. data/lib/generators/devise/devise_generator.rb +8 -6
  89. data/lib/generators/devise/install_generator.rb +18 -1
  90. data/lib/generators/devise/orm_helpers.rb +10 -21
  91. data/lib/generators/devise/views_generator.rb +49 -28
  92. data/lib/generators/mongoid/devise_generator.rb +21 -19
  93. data/lib/generators/templates/README +13 -12
  94. data/lib/generators/templates/controllers/README +14 -0
  95. data/lib/generators/templates/controllers/confirmations_controller.rb +30 -0
  96. data/lib/generators/templates/controllers/omniauth_callbacks_controller.rb +30 -0
  97. data/lib/generators/templates/controllers/passwords_controller.rb +34 -0
  98. data/lib/generators/templates/controllers/registrations_controller.rb +62 -0
  99. data/lib/generators/templates/controllers/sessions_controller.rb +27 -0
  100. data/lib/generators/templates/controllers/unlocks_controller.rb +30 -0
  101. data/lib/generators/templates/devise.rb +94 -37
  102. data/lib/generators/templates/markerb/confirmation_instructions.markerb +1 -1
  103. data/lib/generators/templates/markerb/email_changed.markerb +7 -0
  104. data/lib/generators/templates/markerb/password_change.markerb +3 -0
  105. data/lib/generators/templates/markerb/reset_password_instructions.markerb +1 -1
  106. data/lib/generators/templates/markerb/unlock_instructions.markerb +1 -1
  107. data/lib/generators/templates/simple_form_for/confirmations/new.html.erb +6 -2
  108. data/lib/generators/templates/simple_form_for/passwords/edit.html.erb +12 -4
  109. data/lib/generators/templates/simple_form_for/passwords/new.html.erb +5 -2
  110. data/lib/generators/templates/simple_form_for/registrations/edit.html.erb +14 -6
  111. data/lib/generators/templates/simple_form_for/registrations/new.html.erb +12 -4
  112. data/lib/generators/templates/simple_form_for/sessions/new.html.erb +11 -6
  113. data/lib/generators/templates/simple_form_for/unlocks/new.html.erb +5 -2
  114. metadata +50 -284
  115. data/.gitignore +0 -10
  116. data/.travis.yml +0 -20
  117. data/.yardopts +0 -9
  118. data/CONTRIBUTING.md +0 -14
  119. data/Gemfile +0 -31
  120. data/Gemfile.lock +0 -160
  121. data/Rakefile +0 -35
  122. data/devise.gemspec +0 -27
  123. data/devise.png +0 -0
  124. data/gemfiles/Gemfile.rails-3.2.x +0 -31
  125. data/gemfiles/Gemfile.rails-3.2.x.lock +0 -159
  126. data/test/controllers/custom_strategy_test.rb +0 -62
  127. data/test/controllers/helpers_test.rb +0 -276
  128. data/test/controllers/internal_helpers_test.rb +0 -120
  129. data/test/controllers/passwords_controller_test.rb +0 -31
  130. data/test/controllers/sessions_controller_test.rb +0 -99
  131. data/test/controllers/url_helpers_test.rb +0 -59
  132. data/test/delegator_test.rb +0 -19
  133. data/test/devise_test.rb +0 -94
  134. data/test/failure_app_test.rb +0 -232
  135. data/test/generators/active_record_generator_test.rb +0 -103
  136. data/test/generators/devise_generator_test.rb +0 -39
  137. data/test/generators/install_generator_test.rb +0 -13
  138. data/test/generators/mongoid_generator_test.rb +0 -23
  139. data/test/generators/views_generator_test.rb +0 -67
  140. data/test/helpers/devise_helper_test.rb +0 -51
  141. data/test/integration/authenticatable_test.rb +0 -713
  142. data/test/integration/confirmable_test.rb +0 -284
  143. data/test/integration/database_authenticatable_test.rb +0 -84
  144. data/test/integration/http_authenticatable_test.rb +0 -105
  145. data/test/integration/lockable_test.rb +0 -239
  146. data/test/integration/omniauthable_test.rb +0 -133
  147. data/test/integration/recoverable_test.rb +0 -334
  148. data/test/integration/registerable_test.rb +0 -349
  149. data/test/integration/rememberable_test.rb +0 -167
  150. data/test/integration/timeoutable_test.rb +0 -183
  151. data/test/integration/trackable_test.rb +0 -92
  152. data/test/mailers/confirmation_instructions_test.rb +0 -115
  153. data/test/mailers/reset_password_instructions_test.rb +0 -96
  154. data/test/mailers/unlock_instructions_test.rb +0 -91
  155. data/test/mapping_test.rb +0 -127
  156. data/test/models/authenticatable_test.rb +0 -13
  157. data/test/models/confirmable_test.rb +0 -454
  158. data/test/models/database_authenticatable_test.rb +0 -249
  159. data/test/models/lockable_test.rb +0 -298
  160. data/test/models/omniauthable_test.rb +0 -7
  161. data/test/models/recoverable_test.rb +0 -184
  162. data/test/models/registerable_test.rb +0 -7
  163. data/test/models/rememberable_test.rb +0 -183
  164. data/test/models/serializable_test.rb +0 -49
  165. data/test/models/timeoutable_test.rb +0 -51
  166. data/test/models/trackable_test.rb +0 -13
  167. data/test/models/validatable_test.rb +0 -127
  168. data/test/models_test.rb +0 -144
  169. data/test/omniauth/config_test.rb +0 -57
  170. data/test/omniauth/url_helpers_test.rb +0 -54
  171. data/test/orm/active_record.rb +0 -10
  172. data/test/orm/mongoid.rb +0 -13
  173. data/test/parameter_sanitizer_test.rb +0 -81
  174. data/test/rails_app/Rakefile +0 -6
  175. data/test/rails_app/app/active_record/admin.rb +0 -6
  176. data/test/rails_app/app/active_record/shim.rb +0 -2
  177. data/test/rails_app/app/active_record/user.rb +0 -6
  178. data/test/rails_app/app/controllers/admins/sessions_controller.rb +0 -6
  179. data/test/rails_app/app/controllers/admins_controller.rb +0 -11
  180. data/test/rails_app/app/controllers/application_controller.rb +0 -9
  181. data/test/rails_app/app/controllers/home_controller.rb +0 -25
  182. data/test/rails_app/app/controllers/publisher/registrations_controller.rb +0 -2
  183. data/test/rails_app/app/controllers/publisher/sessions_controller.rb +0 -2
  184. data/test/rails_app/app/controllers/users/omniauth_callbacks_controller.rb +0 -14
  185. data/test/rails_app/app/controllers/users_controller.rb +0 -31
  186. data/test/rails_app/app/helpers/application_helper.rb +0 -3
  187. data/test/rails_app/app/mailers/users/mailer.rb +0 -12
  188. data/test/rails_app/app/mongoid/admin.rb +0 -29
  189. data/test/rails_app/app/mongoid/shim.rb +0 -23
  190. data/test/rails_app/app/mongoid/user.rb +0 -39
  191. data/test/rails_app/app/views/admins/index.html.erb +0 -1
  192. data/test/rails_app/app/views/admins/sessions/new.html.erb +0 -2
  193. data/test/rails_app/app/views/home/admin_dashboard.html.erb +0 -1
  194. data/test/rails_app/app/views/home/index.html.erb +0 -1
  195. data/test/rails_app/app/views/home/join.html.erb +0 -1
  196. data/test/rails_app/app/views/home/private.html.erb +0 -1
  197. data/test/rails_app/app/views/home/user_dashboard.html.erb +0 -1
  198. data/test/rails_app/app/views/layouts/application.html.erb +0 -24
  199. data/test/rails_app/app/views/users/edit_form.html.erb +0 -1
  200. data/test/rails_app/app/views/users/index.html.erb +0 -1
  201. data/test/rails_app/app/views/users/mailer/confirmation_instructions.erb +0 -1
  202. data/test/rails_app/app/views/users/sessions/new.html.erb +0 -1
  203. data/test/rails_app/bin/bundle +0 -3
  204. data/test/rails_app/bin/rails +0 -4
  205. data/test/rails_app/bin/rake +0 -4
  206. data/test/rails_app/config/application.rb +0 -40
  207. data/test/rails_app/config/boot.rb +0 -14
  208. data/test/rails_app/config/database.yml +0 -18
  209. data/test/rails_app/config/environment.rb +0 -5
  210. data/test/rails_app/config/environments/development.rb +0 -30
  211. data/test/rails_app/config/environments/production.rb +0 -80
  212. data/test/rails_app/config/environments/test.rb +0 -36
  213. data/test/rails_app/config/initializers/backtrace_silencers.rb +0 -7
  214. data/test/rails_app/config/initializers/devise.rb +0 -181
  215. data/test/rails_app/config/initializers/inflections.rb +0 -2
  216. data/test/rails_app/config/initializers/secret_token.rb +0 -8
  217. data/test/rails_app/config/initializers/session_store.rb +0 -1
  218. data/test/rails_app/config/routes.rb +0 -104
  219. data/test/rails_app/config.ru +0 -4
  220. data/test/rails_app/db/migrate/20100401102949_create_tables.rb +0 -71
  221. data/test/rails_app/db/schema.rb +0 -55
  222. data/test/rails_app/lib/shared_admin.rb +0 -17
  223. data/test/rails_app/lib/shared_user.rb +0 -29
  224. data/test/rails_app/public/404.html +0 -26
  225. data/test/rails_app/public/422.html +0 -26
  226. data/test/rails_app/public/500.html +0 -26
  227. data/test/rails_app/public/favicon.ico +0 -0
  228. data/test/routes_test.rb +0 -250
  229. data/test/support/assertions.rb +0 -40
  230. data/test/support/helpers.rb +0 -70
  231. data/test/support/integration.rb +0 -92
  232. data/test/support/locale/en.yml +0 -8
  233. data/test/support/webrat/integrations/rails.rb +0 -24
  234. data/test/test_helper.rb +0 -27
  235. data/test/test_helpers_test.rb +0 -173
  236. data/test/test_models.rb +0 -33
data/Gemfile.lock DELETED
@@ -1,160 +0,0 @@
1
- GIT
2
- remote: git://github.com/mongoid/mongoid.git
3
- revision: 346a79a7d01aa194de80e649916239a18d38ce13
4
- branch: master
5
- specs:
6
- mongoid (4.0.0)
7
- activemodel (~> 4.0.0)
8
- moped (~> 1.5)
9
- origin (~> 1.0)
10
- tzinfo (~> 0.3.22)
11
-
12
- PATH
13
- remote: .
14
- specs:
15
- devise (3.2.2)
16
- bcrypt-ruby (~> 3.0)
17
- orm_adapter (~> 0.1)
18
- railties (>= 3.2.6, < 5)
19
- thread_safe (~> 0.1)
20
- warden (~> 1.2.3)
21
-
22
- GEM
23
- remote: https://rubygems.org/
24
- specs:
25
- actionmailer (4.0.0)
26
- actionpack (= 4.0.0)
27
- mail (~> 2.5.3)
28
- actionpack (4.0.0)
29
- activesupport (= 4.0.0)
30
- builder (~> 3.1.0)
31
- erubis (~> 2.7.0)
32
- rack (~> 1.5.2)
33
- rack-test (~> 0.6.2)
34
- activemodel (4.0.0)
35
- activesupport (= 4.0.0)
36
- builder (~> 3.1.0)
37
- activerecord (4.0.0)
38
- activemodel (= 4.0.0)
39
- activerecord-deprecated_finders (~> 1.0.2)
40
- activesupport (= 4.0.0)
41
- arel (~> 4.0.0)
42
- activerecord-deprecated_finders (1.0.3)
43
- activesupport (4.0.0)
44
- i18n (~> 0.6, >= 0.6.4)
45
- minitest (~> 4.2)
46
- multi_json (~> 1.3)
47
- thread_safe (~> 0.1)
48
- tzinfo (~> 0.3.37)
49
- arel (4.0.0)
50
- atomic (1.1.12)
51
- bcrypt-ruby (3.1.2)
52
- builder (3.1.4)
53
- erubis (2.7.0)
54
- faraday (0.8.8)
55
- multipart-post (~> 1.2.0)
56
- hashie (1.2.0)
57
- hike (1.2.3)
58
- httpauth (0.2.0)
59
- i18n (0.6.5)
60
- json (1.8.0)
61
- jwt (0.1.8)
62
- multi_json (>= 1.5)
63
- mail (2.5.4)
64
- mime-types (~> 1.16)
65
- treetop (~> 1.4.8)
66
- metaclass (0.0.1)
67
- mime-types (1.23)
68
- minitest (4.7.5)
69
- mocha (0.13.3)
70
- metaclass (~> 0.0.1)
71
- moped (1.5.1)
72
- multi_json (1.7.9)
73
- multipart-post (1.2.0)
74
- nokogiri (1.5.9)
75
- oauth2 (0.8.1)
76
- faraday (~> 0.8)
77
- httpauth (~> 0.1)
78
- jwt (~> 0.1.4)
79
- multi_json (~> 1.0)
80
- rack (~> 1.2)
81
- omniauth (1.0.3)
82
- hashie (~> 1.2)
83
- rack
84
- omniauth-facebook (1.4.0)
85
- omniauth-oauth2 (~> 1.0.2)
86
- omniauth-oauth2 (1.0.3)
87
- oauth2 (~> 0.8.0)
88
- omniauth (~> 1.0)
89
- omniauth-openid (1.0.1)
90
- omniauth (~> 1.0)
91
- rack-openid (~> 1.3.1)
92
- origin (1.1.0)
93
- orm_adapter (0.4.0)
94
- polyglot (0.3.3)
95
- rack (1.5.2)
96
- rack-openid (1.3.1)
97
- rack (>= 1.1.0)
98
- ruby-openid (>= 2.1.8)
99
- rack-test (0.6.2)
100
- rack (>= 1.0)
101
- rails (4.0.0)
102
- actionmailer (= 4.0.0)
103
- actionpack (= 4.0.0)
104
- activerecord (= 4.0.0)
105
- activesupport (= 4.0.0)
106
- bundler (>= 1.3.0, < 2.0)
107
- railties (= 4.0.0)
108
- sprockets-rails (~> 2.0.0)
109
- railties (4.0.0)
110
- actionpack (= 4.0.0)
111
- activesupport (= 4.0.0)
112
- rake (>= 0.8.7)
113
- thor (>= 0.18.1, < 2.0)
114
- rake (10.1.0)
115
- rdoc (4.0.1)
116
- json (~> 1.4)
117
- ruby-openid (2.2.3)
118
- sprockets (2.10.0)
119
- hike (~> 1.2)
120
- multi_json (~> 1.0)
121
- rack (~> 1.0)
122
- tilt (~> 1.1, != 1.3.0)
123
- sprockets-rails (2.0.0)
124
- actionpack (>= 3.0)
125
- activesupport (>= 3.0)
126
- sprockets (~> 2.8)
127
- sqlite3 (1.3.7)
128
- thor (0.18.1)
129
- thread_safe (0.1.2)
130
- atomic
131
- tilt (1.4.1)
132
- treetop (1.4.14)
133
- polyglot
134
- polyglot (>= 0.3.1)
135
- tzinfo (0.3.37)
136
- warden (1.2.3)
137
- rack (>= 1.0)
138
- webrat (0.7.3)
139
- nokogiri (>= 1.2.0)
140
- rack (>= 1.0)
141
- rack-test (>= 0.5.3)
142
-
143
- PLATFORMS
144
- ruby
145
-
146
- DEPENDENCIES
147
- activerecord-jdbc-adapter
148
- activerecord-jdbcsqlite3-adapter
149
- devise!
150
- jruby-openssl
151
- mocha (~> 0.13.1)
152
- mongoid!
153
- omniauth (~> 1.0.0)
154
- omniauth-facebook
155
- omniauth-oauth2 (~> 1.0.0)
156
- omniauth-openid (~> 1.0.1)
157
- rails (~> 4.0.0)
158
- rdoc
159
- sqlite3
160
- webrat (= 0.7.3)
data/Rakefile DELETED
@@ -1,35 +0,0 @@
1
- # encoding: UTF-8
2
- require "bundler/gem_tasks"
3
- require 'rake/testtask'
4
- require 'rdoc/task'
5
-
6
- desc 'Default: run tests for all ORMs.'
7
- task :default => :test
8
-
9
- desc 'Run Devise tests for all ORMs.'
10
- task :pre_commit do
11
- Dir[File.join(File.dirname(__FILE__), 'test', 'orm', '*.rb')].each do |file|
12
- orm = File.basename(file).split(".").first
13
- # "Some day, my son, rake's inner wisdom will reveal itself. Until then,
14
- # take this `system` -- may its brute force protect you well."
15
- exit 1 unless system "rake test DEVISE_ORM=#{orm}"
16
- end
17
- end
18
-
19
- desc 'Run Devise unit tests.'
20
- Rake::TestTask.new(:test) do |t|
21
- t.libs << 'lib'
22
- t.libs << 'test'
23
- t.pattern = 'test/**/*_test.rb'
24
- t.verbose = true
25
- t.warning = false
26
- end
27
-
28
- desc 'Generate documentation for Devise.'
29
- Rake::RDocTask.new(:rdoc) do |rdoc|
30
- rdoc.rdoc_dir = 'rdoc'
31
- rdoc.title = 'Devise'
32
- rdoc.options << '--line-numbers' << '--inline-source'
33
- rdoc.rdoc_files.include('README.md')
34
- rdoc.rdoc_files.include('lib/**/*.rb')
35
- end
data/devise.gemspec DELETED
@@ -1,27 +0,0 @@
1
- # -*- encoding: utf-8 -*-
2
- $:.push File.expand_path("../lib", __FILE__)
3
- require "devise/version"
4
-
5
- Gem::Specification.new do |s|
6
- s.name = "devise"
7
- s.version = Devise::VERSION.dup
8
- s.platform = Gem::Platform::RUBY
9
- s.licenses = ["MIT"]
10
- s.summary = "Flexible authentication solution for Rails with Warden"
11
- s.email = "contact@plataformatec.com.br"
12
- s.homepage = "http://github.com/plataformatec/devise"
13
- s.description = "Flexible authentication solution for Rails with Warden"
14
- s.authors = ['José Valim', 'Carlos Antônio']
15
-
16
- s.rubyforge_project = "devise"
17
-
18
- s.files = `git ls-files`.split("\n")
19
- s.test_files = `git ls-files -- test/*`.split("\n")
20
- s.require_paths = ["lib"]
21
-
22
- s.add_dependency("warden", "~> 1.2.3")
23
- s.add_dependency("orm_adapter", "~> 0.1")
24
- s.add_dependency("bcrypt-ruby", "~> 3.0")
25
- s.add_dependency("thread_safe", "~> 0.1")
26
- s.add_dependency("railties", ">= 3.2.6", "< 5")
27
- end
data/devise.png DELETED
Binary file
@@ -1,31 +0,0 @@
1
- source "https://rubygems.org"
2
-
3
- gemspec :path => '..'
4
-
5
- gem "rails", "~> 3.2.6"
6
- gem "omniauth", "~> 1.0.0"
7
- gem "omniauth-oauth2", "~> 1.0.0"
8
- gem "rdoc"
9
-
10
- group :test do
11
- gem "omniauth-facebook"
12
- gem "omniauth-openid", "~> 1.0.1"
13
- gem "webrat", "0.7.3", :require => false
14
- gem "mocha", "~> 0.13.1", :require => false
15
- end
16
-
17
- platforms :jruby do
18
- gem "activerecord-jdbc-adapter"
19
- gem "activerecord-jdbcsqlite3-adapter"
20
- gem "jruby-openssl"
21
- end
22
-
23
- platforms :ruby do
24
- gem "sqlite3"
25
- end
26
-
27
- platforms :mri_19, :mri_20 do
28
- group :mongoid do
29
- gem "mongoid", "~> 3.0"
30
- end
31
- end
@@ -1,159 +0,0 @@
1
- PATH
2
- remote: ..
3
- specs:
4
- devise (3.2.2)
5
- bcrypt-ruby (~> 3.0)
6
- orm_adapter (~> 0.1)
7
- railties (>= 3.2.6, < 5)
8
- thread_safe (~> 0.1)
9
- warden (~> 1.2.3)
10
-
11
- GEM
12
- remote: https://rubygems.org/
13
- specs:
14
- actionmailer (3.2.14)
15
- actionpack (= 3.2.14)
16
- mail (~> 2.5.4)
17
- actionpack (3.2.14)
18
- activemodel (= 3.2.14)
19
- activesupport (= 3.2.14)
20
- builder (~> 3.0.0)
21
- erubis (~> 2.7.0)
22
- journey (~> 1.0.4)
23
- rack (~> 1.4.5)
24
- rack-cache (~> 1.2)
25
- rack-test (~> 0.6.1)
26
- sprockets (~> 2.2.1)
27
- activemodel (3.2.14)
28
- activesupport (= 3.2.14)
29
- builder (~> 3.0.0)
30
- activerecord (3.2.14)
31
- activemodel (= 3.2.14)
32
- activesupport (= 3.2.14)
33
- arel (~> 3.0.2)
34
- tzinfo (~> 0.3.29)
35
- activeresource (3.2.14)
36
- activemodel (= 3.2.14)
37
- activesupport (= 3.2.14)
38
- activesupport (3.2.14)
39
- i18n (~> 0.6, >= 0.6.4)
40
- multi_json (~> 1.0)
41
- arel (3.0.2)
42
- atomic (1.1.14)
43
- bcrypt-ruby (3.1.2)
44
- builder (3.0.4)
45
- erubis (2.7.0)
46
- faraday (0.8.8)
47
- multipart-post (~> 1.2.0)
48
- hashie (1.2.0)
49
- hike (1.2.3)
50
- httpauth (0.2.0)
51
- i18n (0.6.5)
52
- journey (1.0.4)
53
- json (1.8.0)
54
- jwt (0.1.8)
55
- multi_json (>= 1.5)
56
- mail (2.5.4)
57
- mime-types (~> 1.16)
58
- treetop (~> 1.4.8)
59
- metaclass (0.0.1)
60
- mime-types (1.23)
61
- mocha (0.13.3)
62
- metaclass (~> 0.0.1)
63
- mongoid (3.1.4)
64
- activemodel (~> 3.2)
65
- moped (~> 1.4)
66
- origin (~> 1.0)
67
- tzinfo (~> 0.3.22)
68
- moped (1.5.1)
69
- multi_json (1.7.9)
70
- multipart-post (1.2.0)
71
- nokogiri (1.5.9)
72
- oauth2 (0.8.1)
73
- faraday (~> 0.8)
74
- httpauth (~> 0.1)
75
- jwt (~> 0.1.4)
76
- multi_json (~> 1.0)
77
- rack (~> 1.2)
78
- omniauth (1.0.3)
79
- hashie (~> 1.2)
80
- rack
81
- omniauth-facebook (1.4.0)
82
- omniauth-oauth2 (~> 1.0.2)
83
- omniauth-oauth2 (1.0.3)
84
- oauth2 (~> 0.8.0)
85
- omniauth (~> 1.0)
86
- omniauth-openid (1.0.1)
87
- omniauth (~> 1.0)
88
- rack-openid (~> 1.3.1)
89
- origin (1.1.0)
90
- orm_adapter (0.4.0)
91
- polyglot (0.3.3)
92
- rack (1.4.5)
93
- rack-cache (1.2)
94
- rack (>= 0.4)
95
- rack-openid (1.3.1)
96
- rack (>= 1.1.0)
97
- ruby-openid (>= 2.1.8)
98
- rack-ssl (1.3.3)
99
- rack
100
- rack-test (0.6.2)
101
- rack (>= 1.0)
102
- rails (3.2.14)
103
- actionmailer (= 3.2.14)
104
- actionpack (= 3.2.14)
105
- activerecord (= 3.2.14)
106
- activeresource (= 3.2.14)
107
- activesupport (= 3.2.14)
108
- bundler (~> 1.0)
109
- railties (= 3.2.14)
110
- railties (3.2.14)
111
- actionpack (= 3.2.14)
112
- activesupport (= 3.2.14)
113
- rack-ssl (~> 1.3.2)
114
- rake (>= 0.8.7)
115
- rdoc (~> 3.4)
116
- thor (>= 0.14.6, < 2.0)
117
- rake (10.1.0)
118
- rdoc (3.12.2)
119
- json (~> 1.4)
120
- ruby-openid (2.2.3)
121
- sprockets (2.2.2)
122
- hike (~> 1.2)
123
- multi_json (~> 1.0)
124
- rack (~> 1.0)
125
- tilt (~> 1.1, != 1.3.0)
126
- sqlite3 (1.3.7)
127
- thor (0.18.1)
128
- thread_safe (0.1.3)
129
- atomic
130
- tilt (1.4.1)
131
- treetop (1.4.14)
132
- polyglot
133
- polyglot (>= 0.3.1)
134
- tzinfo (0.3.37)
135
- warden (1.2.3)
136
- rack (>= 1.0)
137
- webrat (0.7.3)
138
- nokogiri (>= 1.2.0)
139
- rack (>= 1.0)
140
- rack-test (>= 0.5.3)
141
-
142
- PLATFORMS
143
- ruby
144
-
145
- DEPENDENCIES
146
- activerecord-jdbc-adapter
147
- activerecord-jdbcsqlite3-adapter
148
- devise!
149
- jruby-openssl
150
- mocha (~> 0.13.1)
151
- mongoid (~> 3.0)
152
- omniauth (~> 1.0.0)
153
- omniauth-facebook
154
- omniauth-oauth2 (~> 1.0.0)
155
- omniauth-openid (~> 1.0.1)
156
- rails (~> 3.2.6)
157
- rdoc
158
- sqlite3
159
- webrat (= 0.7.3)
@@ -1,62 +0,0 @@
1
- require 'test_helper'
2
- require 'ostruct'
3
- require 'warden/strategies/base'
4
- require 'devise/test_helpers'
5
-
6
- class CustomStrategyController < ActionController::Base
7
- def new
8
- warden.authenticate!(:custom_strategy)
9
- end
10
- end
11
-
12
- # These tests are to prove that a warden strategy can successfully
13
- # return a custom response, including a specific status code and
14
- # custom http response headers. This does work in production,
15
- # however, at the time of writing this, the Devise test helpers do
16
- # not recognise the custom response and proceed to calling the
17
- # Failure App. This makes it impossible to write tests for a
18
- # strategy that return a custom response with Devise.
19
- class CustomStrategy < Warden::Strategies::Base
20
- def authenticate!
21
- custom_headers = { "X-FOO" => "BAR" }
22
- response = Rack::Response.new("BAD REQUEST", 400, custom_headers)
23
- custom! response.finish
24
- end
25
- end
26
-
27
- class CustomStrategyTest < ActionController::TestCase
28
- tests CustomStrategyController
29
-
30
- include Devise::TestHelpers
31
-
32
- setup do
33
- Warden::Strategies.add(:custom_strategy, CustomStrategy)
34
- end
35
-
36
- teardown do
37
- Warden::Strategies._strategies.delete(:custom_strategy)
38
- end
39
-
40
- test "custom strategy can return its own status code" do
41
- ret = get :new
42
-
43
- # check the returned rack array
44
- assert ret.is_a?(Array)
45
- assert_equal 400, ret.first
46
-
47
- # check the saved response as well. This is purely so that the response is available to the testing framework
48
- # for verification. In production, the above array would be delivered directly to Rack.
49
- assert_response 400
50
- end
51
-
52
- test "custom strategy can return custom headers" do
53
- ret = get :new
54
-
55
- # check the returned rack array
56
- assert ret.is_a?(Array)
57
- assert_equal ret.third['X-FOO'], 'BAR'
58
-
59
- # check the saved response headers as well.
60
- assert_equal response.headers['X-FOO'], 'BAR'
61
- end
62
- end