sorcery 0.9.1 → 0.16.3

Sign up to get free protection for your applications and to get access to all the features.
Files changed (199) hide show
  1. checksums.yaml +5 -5
  2. data/.github/FUNDING.yml +1 -0
  3. data/.github/ISSUE_TEMPLATE.md +24 -0
  4. data/.github/PULL_REQUEST_TEMPLATE.md +7 -0
  5. data/.github/workflows/ruby.yml +70 -0
  6. data/.gitignore +3 -0
  7. data/.rubocop.yml +55 -0
  8. data/.rubocop_todo.yml +163 -0
  9. data/CHANGELOG.md +132 -34
  10. data/CODE_OF_CONDUCT.md +14 -0
  11. data/Gemfile +3 -17
  12. data/{LICENSE.txt → LICENSE.md} +1 -1
  13. data/MAINTAINING.md +64 -0
  14. data/README.md +146 -269
  15. data/Rakefile +4 -2
  16. data/SECURITY.md +19 -0
  17. data/gemfiles/rails_52.gemfile +7 -0
  18. data/gemfiles/rails_60.gemfile +7 -0
  19. data/gemfiles/rails_61.gemfile +7 -0
  20. data/gemfiles/rails_70.gemfile +7 -0
  21. data/lib/generators/sorcery/USAGE +1 -1
  22. data/lib/generators/sorcery/helpers.rb +8 -4
  23. data/lib/generators/sorcery/install_generator.rb +41 -35
  24. data/lib/generators/sorcery/templates/initializer.rb +216 -112
  25. data/lib/generators/sorcery/templates/migration/activity_logging.rb +7 -7
  26. data/lib/generators/sorcery/templates/migration/brute_force_protection.rb +5 -5
  27. data/lib/generators/sorcery/templates/migration/core.rb +5 -7
  28. data/lib/generators/sorcery/templates/migration/external.rb +4 -4
  29. data/lib/generators/sorcery/templates/migration/magic_login.rb +9 -0
  30. data/lib/generators/sorcery/templates/migration/remember_me.rb +5 -5
  31. data/lib/generators/sorcery/templates/migration/reset_password.rb +7 -6
  32. data/lib/generators/sorcery/templates/migration/user_activation.rb +6 -6
  33. data/lib/sorcery/adapters/active_record_adapter.rb +11 -21
  34. data/lib/sorcery/adapters/mongoid_adapter.rb +23 -11
  35. data/lib/sorcery/controller/config.rb +27 -23
  36. data/lib/sorcery/controller/submodules/activity_logging.rb +16 -18
  37. data/lib/sorcery/controller/submodules/brute_force_protection.rb +1 -2
  38. data/lib/sorcery/controller/submodules/external.rb +69 -44
  39. data/lib/sorcery/controller/submodules/http_basic_auth.rb +18 -19
  40. data/lib/sorcery/controller/submodules/remember_me.rb +16 -16
  41. data/lib/sorcery/controller/submodules/session_timeout.rb +33 -11
  42. data/lib/sorcery/controller.rb +50 -35
  43. data/lib/sorcery/crypto_providers/aes256.rb +17 -16
  44. data/lib/sorcery/crypto_providers/bcrypt.rb +26 -22
  45. data/lib/sorcery/crypto_providers/common.rb +1 -1
  46. data/lib/sorcery/crypto_providers/md5.rb +5 -5
  47. data/lib/sorcery/crypto_providers/sha1.rb +5 -5
  48. data/lib/sorcery/crypto_providers/sha256.rb +2 -2
  49. data/lib/sorcery/crypto_providers/sha512.rb +3 -3
  50. data/lib/sorcery/engine.rb +19 -11
  51. data/lib/sorcery/model/config.rb +73 -50
  52. data/lib/sorcery/model/submodules/activity_logging.rb +31 -12
  53. data/lib/sorcery/model/submodules/brute_force_protection.rb +38 -31
  54. data/lib/sorcery/model/submodules/external.rb +22 -10
  55. data/lib/sorcery/model/submodules/magic_login.rb +130 -0
  56. data/lib/sorcery/model/submodules/remember_me.rb +19 -7
  57. data/lib/sorcery/model/submodules/reset_password.rb +64 -42
  58. data/lib/sorcery/model/submodules/user_activation.rb +52 -54
  59. data/lib/sorcery/model/temporary_token.rb +30 -7
  60. data/lib/sorcery/model.rb +65 -40
  61. data/lib/sorcery/protocols/oauth.rb +4 -9
  62. data/lib/sorcery/protocols/oauth2.rb +0 -2
  63. data/lib/sorcery/providers/auth0.rb +46 -0
  64. data/lib/sorcery/providers/base.rb +4 -4
  65. data/lib/sorcery/providers/battlenet.rb +51 -0
  66. data/lib/sorcery/providers/discord.rb +52 -0
  67. data/lib/sorcery/providers/facebook.rb +8 -11
  68. data/lib/sorcery/providers/github.rb +5 -7
  69. data/lib/sorcery/providers/google.rb +3 -5
  70. data/lib/sorcery/providers/heroku.rb +7 -8
  71. data/lib/sorcery/providers/instagram.rb +73 -0
  72. data/lib/sorcery/providers/jira.rb +12 -17
  73. data/lib/sorcery/providers/line.rb +63 -0
  74. data/lib/sorcery/providers/linkedin.rb +44 -35
  75. data/lib/sorcery/providers/liveid.rb +4 -7
  76. data/lib/sorcery/providers/microsoft.rb +59 -0
  77. data/lib/sorcery/providers/paypal.rb +60 -0
  78. data/lib/sorcery/providers/salesforce.rb +3 -5
  79. data/lib/sorcery/providers/slack.rb +45 -0
  80. data/lib/sorcery/providers/twitter.rb +4 -6
  81. data/lib/sorcery/providers/vk.rb +8 -9
  82. data/lib/sorcery/providers/wechat.rb +81 -0
  83. data/lib/sorcery/providers/xing.rb +7 -10
  84. data/lib/sorcery/test_helpers/internal/rails.rb +25 -17
  85. data/lib/sorcery/test_helpers/internal.rb +15 -14
  86. data/lib/sorcery/test_helpers/rails/controller.rb +1 -1
  87. data/lib/sorcery/test_helpers/rails/integration.rb +5 -6
  88. data/lib/sorcery/test_helpers/rails/request.rb +20 -0
  89. data/lib/sorcery/version.rb +1 -1
  90. data/lib/sorcery.rb +4 -17
  91. data/sorcery.gemspec +43 -28
  92. data/spec/active_record/user_activation_spec.rb +4 -5
  93. data/spec/active_record/user_activity_logging_spec.rb +4 -6
  94. data/spec/active_record/user_brute_force_protection_spec.rb +5 -6
  95. data/spec/active_record/user_magic_login_spec.rb +15 -0
  96. data/spec/active_record/user_oauth_spec.rb +5 -6
  97. data/spec/active_record/user_remember_me_spec.rb +5 -6
  98. data/spec/active_record/user_reset_password_spec.rb +4 -5
  99. data/spec/active_record/user_spec.rb +7 -17
  100. data/spec/controllers/controller_activity_logging_spec.rb +13 -24
  101. data/spec/controllers/controller_brute_force_protection_spec.rb +8 -10
  102. data/spec/controllers/controller_http_basic_auth_spec.rb +20 -21
  103. data/spec/controllers/controller_oauth2_spec.rb +297 -158
  104. data/spec/controllers/controller_oauth_spec.rb +97 -71
  105. data/spec/controllers/controller_remember_me_spec.rb +49 -36
  106. data/spec/controllers/controller_session_timeout_spec.rb +106 -20
  107. data/spec/controllers/controller_spec.rb +87 -111
  108. data/spec/orm/active_record.rb +3 -3
  109. data/spec/providers/example_provider_spec.rb +17 -0
  110. data/spec/providers/example_spec.rb +17 -0
  111. data/spec/providers/examples_spec.rb +17 -0
  112. data/spec/providers/vk_spec.rb +42 -0
  113. data/spec/rails_app/app/active_record/authentication.rb +1 -1
  114. data/spec/rails_app/app/active_record/user.rb +2 -2
  115. data/spec/rails_app/app/assets/config/manifest.js +1 -0
  116. data/spec/rails_app/app/controllers/application_controller.rb +2 -0
  117. data/spec/rails_app/app/controllers/sorcery_controller.rb +250 -46
  118. data/spec/rails_app/app/mailers/sorcery_mailer.rb +23 -17
  119. data/spec/rails_app/app/views/sorcery_mailer/magic_login_email.html.erb +13 -0
  120. data/spec/rails_app/app/views/sorcery_mailer/magic_login_email.text.erb +6 -0
  121. data/spec/rails_app/config/application.rb +14 -9
  122. data/spec/rails_app/config/boot.rb +2 -2
  123. data/spec/rails_app/config/environment.rb +1 -1
  124. data/spec/rails_app/config/environments/test.rb +1 -1
  125. data/spec/rails_app/config/initializers/compatible_legacy_migration.rb +11 -0
  126. data/spec/rails_app/config/initializers/session_store.rb +3 -3
  127. data/spec/rails_app/config/routes.rb +31 -1
  128. data/spec/rails_app/config/secrets.yml +4 -0
  129. data/spec/rails_app/config.ru +1 -1
  130. data/spec/rails_app/db/migrate/activation/20101224223622_add_activation_to_users.rb +4 -4
  131. data/spec/rails_app/db/migrate/activity_logging/20101224223624_add_activity_logging_to_users.rb +10 -10
  132. data/spec/rails_app/db/migrate/brute_force_protection/20101224223626_add_brute_force_protection_to_users.rb +5 -5
  133. data/spec/rails_app/db/migrate/core/20101224223620_create_users.rb +5 -5
  134. data/spec/rails_app/db/migrate/external/20101224223628_create_authentications_and_user_providers.rb +3 -3
  135. data/spec/rails_app/db/migrate/invalidate_active_sessions/20180221093235_add_invalidate_active_sessions_before_to_users.rb +9 -0
  136. data/spec/rails_app/db/migrate/magic_login/20170924151831_add_magic_login_to_users.rb +17 -0
  137. data/spec/rails_app/db/migrate/remember_me/20101224223623_add_remember_me_token_to_users.rb +6 -6
  138. data/spec/rails_app/db/migrate/reset_password/20101224223622_add_reset_password_to_users.rb +7 -5
  139. data/spec/rails_app/db/schema.rb +7 -9
  140. data/spec/shared_examples/user_activation_shared_examples.rb +177 -58
  141. data/spec/shared_examples/user_activity_logging_shared_examples.rb +47 -41
  142. data/spec/shared_examples/user_brute_force_protection_shared_examples.rb +19 -24
  143. data/spec/shared_examples/user_magic_login_shared_examples.rb +150 -0
  144. data/spec/shared_examples/user_oauth_shared_examples.rb +7 -10
  145. data/spec/shared_examples/user_remember_me_shared_examples.rb +91 -22
  146. data/spec/shared_examples/user_reset_password_shared_examples.rb +153 -58
  147. data/spec/shared_examples/user_shared_examples.rb +328 -145
  148. data/spec/sorcery_crypto_providers_spec.rb +122 -75
  149. data/spec/sorcery_temporary_token_spec.rb +27 -0
  150. data/spec/spec.opts +1 -1
  151. data/spec/spec_helper.rb +19 -14
  152. data/spec/support/migration_helper.rb +29 -0
  153. data/spec/support/providers/example.rb +11 -0
  154. data/spec/support/providers/example_provider.rb +11 -0
  155. data/spec/support/providers/examples.rb +11 -0
  156. metadata +119 -89
  157. data/.travis.yml +0 -132
  158. data/gemfiles/active_record-rails40.gemfile +0 -7
  159. data/gemfiles/active_record-rails41.gemfile +0 -7
  160. data/gemfiles/mongo_mapper-rails40.gemfile +0 -9
  161. data/gemfiles/mongo_mapper-rails41.gemfile +0 -9
  162. data/gemfiles/mongoid-rails40.gemfile +0 -9
  163. data/gemfiles/mongoid-rails41.gemfile +0 -9
  164. data/gemfiles/mongoid3-rails32.gemfile +0 -9
  165. data/lib/sorcery/adapters/data_mapper_adapter.rb +0 -176
  166. data/lib/sorcery/adapters/mongo_mapper_adapter.rb +0 -110
  167. data/lib/sorcery/railties/tasks.rake +0 -6
  168. data/spec/data_mapper/user_activation_spec.rb +0 -10
  169. data/spec/data_mapper/user_activity_logging_spec.rb +0 -14
  170. data/spec/data_mapper/user_brute_force_protection_spec.rb +0 -9
  171. data/spec/data_mapper/user_oauth_spec.rb +0 -9
  172. data/spec/data_mapper/user_remember_me_spec.rb +0 -8
  173. data/spec/data_mapper/user_reset_password_spec.rb +0 -8
  174. data/spec/data_mapper/user_spec.rb +0 -27
  175. data/spec/mongo_mapper/user_activation_spec.rb +0 -9
  176. data/spec/mongo_mapper/user_activity_logging_spec.rb +0 -8
  177. data/spec/mongo_mapper/user_brute_force_protection_spec.rb +0 -8
  178. data/spec/mongo_mapper/user_oauth_spec.rb +0 -8
  179. data/spec/mongo_mapper/user_remember_me_spec.rb +0 -8
  180. data/spec/mongo_mapper/user_reset_password_spec.rb +0 -8
  181. data/spec/mongo_mapper/user_spec.rb +0 -37
  182. data/spec/mongoid/user_activation_spec.rb +0 -9
  183. data/spec/mongoid/user_activity_logging_spec.rb +0 -8
  184. data/spec/mongoid/user_brute_force_protection_spec.rb +0 -8
  185. data/spec/mongoid/user_oauth_spec.rb +0 -8
  186. data/spec/mongoid/user_remember_me_spec.rb +0 -8
  187. data/spec/mongoid/user_reset_password_spec.rb +0 -8
  188. data/spec/mongoid/user_spec.rb +0 -51
  189. data/spec/orm/data_mapper.rb +0 -48
  190. data/spec/orm/mongo_mapper.rb +0 -10
  191. data/spec/orm/mongoid.rb +0 -22
  192. data/spec/rails_app/app/data_mapper/authentication.rb +0 -8
  193. data/spec/rails_app/app/data_mapper/user.rb +0 -7
  194. data/spec/rails_app/app/mongo_mapper/authentication.rb +0 -6
  195. data/spec/rails_app/app/mongo_mapper/user.rb +0 -7
  196. data/spec/rails_app/app/mongoid/authentication.rb +0 -7
  197. data/spec/rails_app/app/mongoid/user.rb +0 -7
  198. data/spec/rails_app/config/initializers/secret_token.rb +0 -7
  199. data/spec/rails_app/log/development.log +0 -1791
metadata CHANGED
@@ -1,41 +1,60 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: sorcery
3
3
  version: !ruby/object:Gem::Version
4
- version: 0.9.1
4
+ version: 0.16.3
5
5
  platform: ruby
6
6
  authors:
7
7
  - Noam Ben Ari
8
8
  - Kir Shatrov
9
9
  - Grzegorz Witek
10
+ - Chase Gilliam
11
+ - Josh Buker
10
12
  autorequire:
11
13
  bindir: bin
12
14
  cert_chain: []
13
- date: 2015-04-05 00:00:00.000000000 Z
15
+ date: 2022-02-23 00:00:00.000000000 Z
14
16
  dependencies:
17
+ - !ruby/object:Gem::Dependency
18
+ name: bcrypt
19
+ requirement: !ruby/object:Gem::Requirement
20
+ requirements:
21
+ - - "~>"
22
+ - !ruby/object:Gem::Version
23
+ version: '3.1'
24
+ type: :runtime
25
+ prerelease: false
26
+ version_requirements: !ruby/object:Gem::Requirement
27
+ requirements:
28
+ - - "~>"
29
+ - !ruby/object:Gem::Version
30
+ version: '3.1'
15
31
  - !ruby/object:Gem::Dependency
16
32
  name: oauth
17
33
  requirement: !ruby/object:Gem::Requirement
18
34
  requirements:
19
35
  - - "~>"
20
36
  - !ruby/object:Gem::Version
21
- version: '0.4'
37
+ version: '0.5'
22
38
  - - ">="
23
39
  - !ruby/object:Gem::Version
24
- version: 0.4.4
40
+ version: 0.5.5
25
41
  type: :runtime
26
42
  prerelease: false
27
43
  version_requirements: !ruby/object:Gem::Requirement
28
44
  requirements:
29
45
  - - "~>"
30
46
  - !ruby/object:Gem::Version
31
- version: '0.4'
47
+ version: '0.5'
32
48
  - - ">="
33
49
  - !ruby/object:Gem::Version
34
- version: 0.4.4
50
+ version: 0.5.5
35
51
  - !ruby/object:Gem::Dependency
36
52
  name: oauth2
37
53
  requirement: !ruby/object:Gem::Requirement
38
54
  requirements:
55
+ - - "~>"
56
+ - !ruby/object:Gem::Version
57
+ version: '1.0'
39
58
  - - ">="
40
59
  - !ruby/object:Gem::Version
41
60
  version: 0.8.0
@@ -43,144 +62,159 @@ dependencies:
43
62
  prerelease: false
44
63
  version_requirements: !ruby/object:Gem::Requirement
45
64
  requirements:
65
+ - - "~>"
66
+ - !ruby/object:Gem::Version
67
+ version: '1.0'
46
68
  - - ">="
47
69
  - !ruby/object:Gem::Version
48
70
  version: 0.8.0
49
71
  - !ruby/object:Gem::Dependency
50
- name: bcrypt
72
+ name: byebug
51
73
  requirement: !ruby/object:Gem::Requirement
52
74
  requirements:
53
75
  - - "~>"
54
76
  - !ruby/object:Gem::Version
55
- version: '3.1'
56
- type: :runtime
77
+ version: 10.0.0
78
+ type: :development
57
79
  prerelease: false
58
80
  version_requirements: !ruby/object:Gem::Requirement
59
81
  requirements:
60
82
  - - "~>"
61
83
  - !ruby/object:Gem::Version
62
- version: '3.1'
84
+ version: 10.0.0
63
85
  - !ruby/object:Gem::Dependency
64
- name: abstract
86
+ name: rspec-rails
65
87
  requirement: !ruby/object:Gem::Requirement
66
88
  requirements:
67
- - - ">="
89
+ - - "~>"
68
90
  - !ruby/object:Gem::Version
69
- version: 1.0.0
91
+ version: 3.7.0
70
92
  type: :development
71
93
  prerelease: false
72
94
  version_requirements: !ruby/object:Gem::Requirement
73
95
  requirements:
74
- - - ">="
96
+ - - "~>"
75
97
  - !ruby/object:Gem::Version
76
- version: 1.0.0
98
+ version: 3.7.0
77
99
  - !ruby/object:Gem::Dependency
78
- name: json
100
+ name: rubocop
79
101
  requirement: !ruby/object:Gem::Requirement
80
102
  requirements:
81
103
  - - ">="
82
104
  - !ruby/object:Gem::Version
83
- version: 1.7.7
105
+ version: '0'
84
106
  type: :development
85
107
  prerelease: false
86
108
  version_requirements: !ruby/object:Gem::Requirement
87
109
  requirements:
88
110
  - - ">="
89
111
  - !ruby/object:Gem::Version
90
- version: 1.7.7
112
+ version: '0'
91
113
  - !ruby/object:Gem::Dependency
92
- name: yard
114
+ name: simplecov
93
115
  requirement: !ruby/object:Gem::Requirement
94
116
  requirements:
95
- - - "~>"
117
+ - - ">="
96
118
  - !ruby/object:Gem::Version
97
- version: 0.6.0
119
+ version: 0.3.8
98
120
  type: :development
99
121
  prerelease: false
100
122
  version_requirements: !ruby/object:Gem::Requirement
101
123
  requirements:
102
- - - "~>"
124
+ - - ">="
103
125
  - !ruby/object:Gem::Version
104
- version: 0.6.0
126
+ version: 0.3.8
105
127
  - !ruby/object:Gem::Dependency
106
- name: timecop
128
+ name: test-unit
107
129
  requirement: !ruby/object:Gem::Requirement
108
130
  requirements:
109
- - - ">="
131
+ - - "~>"
110
132
  - !ruby/object:Gem::Version
111
- version: '0'
133
+ version: 3.2.0
112
134
  type: :development
113
135
  prerelease: false
114
136
  version_requirements: !ruby/object:Gem::Requirement
115
137
  requirements:
116
- - - ">="
138
+ - - "~>"
117
139
  - !ruby/object:Gem::Version
118
- version: '0'
140
+ version: 3.2.0
119
141
  - !ruby/object:Gem::Dependency
120
- name: simplecov
142
+ name: timecop
121
143
  requirement: !ruby/object:Gem::Requirement
122
144
  requirements:
123
145
  - - ">="
124
146
  - !ruby/object:Gem::Version
125
- version: 0.3.8
147
+ version: '0'
126
148
  type: :development
127
149
  prerelease: false
128
150
  version_requirements: !ruby/object:Gem::Requirement
129
151
  requirements:
130
152
  - - ">="
131
153
  - !ruby/object:Gem::Version
132
- version: 0.3.8
154
+ version: '0'
133
155
  - !ruby/object:Gem::Dependency
134
- name: rspec
156
+ name: webmock
135
157
  requirement: !ruby/object:Gem::Requirement
136
158
  requirements:
137
159
  - - "~>"
138
160
  - !ruby/object:Gem::Version
139
- version: 3.0.0
161
+ version: 3.3.0
140
162
  type: :development
141
163
  prerelease: false
142
164
  version_requirements: !ruby/object:Gem::Requirement
143
165
  requirements:
144
166
  - - "~>"
145
167
  - !ruby/object:Gem::Version
146
- version: 3.0.0
168
+ version: 3.3.0
147
169
  - !ruby/object:Gem::Dependency
148
- name: rspec-rails
170
+ name: yard
149
171
  requirement: !ruby/object:Gem::Requirement
150
172
  requirements:
151
173
  - - "~>"
152
174
  - !ruby/object:Gem::Version
153
- version: 3.0.0
175
+ version: 0.9.0
176
+ - - ">="
177
+ - !ruby/object:Gem::Version
178
+ version: 0.9.12
154
179
  type: :development
155
180
  prerelease: false
156
181
  version_requirements: !ruby/object:Gem::Requirement
157
182
  requirements:
158
183
  - - "~>"
159
184
  - !ruby/object:Gem::Version
160
- version: 3.0.0
185
+ version: 0.9.0
186
+ - - ">="
187
+ - !ruby/object:Gem::Version
188
+ version: 0.9.12
161
189
  description: Provides common authentication needs such as signing in/out, activating
162
190
  by email and resetting password.
163
- email: nbenari@gmail.com
191
+ email:
192
+ - crypto@joshbuker.com
164
193
  executables: []
165
194
  extensions: []
166
195
  extra_rdoc_files: []
167
196
  files:
168
197
  - ".document"
198
+ - ".github/FUNDING.yml"
199
+ - ".github/ISSUE_TEMPLATE.md"
200
+ - ".github/PULL_REQUEST_TEMPLATE.md"
201
+ - ".github/workflows/ruby.yml"
169
202
  - ".gitignore"
170
203
  - ".rspec"
171
- - ".travis.yml"
204
+ - ".rubocop.yml"
205
+ - ".rubocop_todo.yml"
172
206
  - CHANGELOG.md
207
+ - CODE_OF_CONDUCT.md
173
208
  - Gemfile
174
- - LICENSE.txt
209
+ - LICENSE.md
210
+ - MAINTAINING.md
175
211
  - README.md
176
212
  - Rakefile
177
- - gemfiles/active_record-rails40.gemfile
178
- - gemfiles/active_record-rails41.gemfile
179
- - gemfiles/mongo_mapper-rails40.gemfile
180
- - gemfiles/mongo_mapper-rails41.gemfile
181
- - gemfiles/mongoid-rails40.gemfile
182
- - gemfiles/mongoid-rails41.gemfile
183
- - gemfiles/mongoid3-rails32.gemfile
213
+ - SECURITY.md
214
+ - gemfiles/rails_52.gemfile
215
+ - gemfiles/rails_60.gemfile
216
+ - gemfiles/rails_61.gemfile
217
+ - gemfiles/rails_70.gemfile
184
218
  - lib/generators/sorcery/USAGE
185
219
  - lib/generators/sorcery/helpers.rb
186
220
  - lib/generators/sorcery/install_generator.rb
@@ -189,14 +223,13 @@ files:
189
223
  - lib/generators/sorcery/templates/migration/brute_force_protection.rb
190
224
  - lib/generators/sorcery/templates/migration/core.rb
191
225
  - lib/generators/sorcery/templates/migration/external.rb
226
+ - lib/generators/sorcery/templates/migration/magic_login.rb
192
227
  - lib/generators/sorcery/templates/migration/remember_me.rb
193
228
  - lib/generators/sorcery/templates/migration/reset_password.rb
194
229
  - lib/generators/sorcery/templates/migration/user_activation.rb
195
230
  - lib/sorcery.rb
196
231
  - lib/sorcery/adapters/active_record_adapter.rb
197
232
  - lib/sorcery/adapters/base_adapter.rb
198
- - lib/sorcery/adapters/data_mapper_adapter.rb
199
- - lib/sorcery/adapters/mongo_mapper_adapter.rb
200
233
  - lib/sorcery/adapters/mongoid_adapter.rb
201
234
  - lib/sorcery/controller.rb
202
235
  - lib/sorcery/controller/config.rb
@@ -219,6 +252,7 @@ files:
219
252
  - lib/sorcery/model/submodules/activity_logging.rb
220
253
  - lib/sorcery/model/submodules/brute_force_protection.rb
221
254
  - lib/sorcery/model/submodules/external.rb
255
+ - lib/sorcery/model/submodules/magic_login.rb
222
256
  - lib/sorcery/model/submodules/remember_me.rb
223
257
  - lib/sorcery/model/submodules/reset_password.rb
224
258
  - lib/sorcery/model/submodules/user_activation.rb
@@ -226,28 +260,38 @@ files:
226
260
  - lib/sorcery/protocols/certs/ca-bundle.crt
227
261
  - lib/sorcery/protocols/oauth.rb
228
262
  - lib/sorcery/protocols/oauth2.rb
263
+ - lib/sorcery/providers/auth0.rb
229
264
  - lib/sorcery/providers/base.rb
265
+ - lib/sorcery/providers/battlenet.rb
266
+ - lib/sorcery/providers/discord.rb
230
267
  - lib/sorcery/providers/facebook.rb
231
268
  - lib/sorcery/providers/github.rb
232
269
  - lib/sorcery/providers/google.rb
233
270
  - lib/sorcery/providers/heroku.rb
271
+ - lib/sorcery/providers/instagram.rb
234
272
  - lib/sorcery/providers/jira.rb
273
+ - lib/sorcery/providers/line.rb
235
274
  - lib/sorcery/providers/linkedin.rb
236
275
  - lib/sorcery/providers/liveid.rb
276
+ - lib/sorcery/providers/microsoft.rb
277
+ - lib/sorcery/providers/paypal.rb
237
278
  - lib/sorcery/providers/salesforce.rb
279
+ - lib/sorcery/providers/slack.rb
238
280
  - lib/sorcery/providers/twitter.rb
239
281
  - lib/sorcery/providers/vk.rb
282
+ - lib/sorcery/providers/wechat.rb
240
283
  - lib/sorcery/providers/xing.rb
241
- - lib/sorcery/railties/tasks.rake
242
284
  - lib/sorcery/test_helpers/internal.rb
243
285
  - lib/sorcery/test_helpers/internal/rails.rb
244
286
  - lib/sorcery/test_helpers/rails/controller.rb
245
287
  - lib/sorcery/test_helpers/rails/integration.rb
288
+ - lib/sorcery/test_helpers/rails/request.rb
246
289
  - lib/sorcery/version.rb
247
290
  - sorcery.gemspec
248
291
  - spec/active_record/user_activation_spec.rb
249
292
  - spec/active_record/user_activity_logging_spec.rb
250
293
  - spec/active_record/user_brute_force_protection_spec.rb
294
+ - spec/active_record/user_magic_login_spec.rb
251
295
  - spec/active_record/user_oauth_spec.rb
252
296
  - spec/active_record/user_remember_me_spec.rb
253
297
  - spec/active_record/user_reset_password_spec.rb
@@ -260,43 +304,19 @@ files:
260
304
  - spec/controllers/controller_remember_me_spec.rb
261
305
  - spec/controllers/controller_session_timeout_spec.rb
262
306
  - spec/controllers/controller_spec.rb
263
- - spec/data_mapper/user_activation_spec.rb
264
- - spec/data_mapper/user_activity_logging_spec.rb
265
- - spec/data_mapper/user_brute_force_protection_spec.rb
266
- - spec/data_mapper/user_oauth_spec.rb
267
- - spec/data_mapper/user_remember_me_spec.rb
268
- - spec/data_mapper/user_reset_password_spec.rb
269
- - spec/data_mapper/user_spec.rb
270
- - spec/mongo_mapper/user_activation_spec.rb
271
- - spec/mongo_mapper/user_activity_logging_spec.rb
272
- - spec/mongo_mapper/user_brute_force_protection_spec.rb
273
- - spec/mongo_mapper/user_oauth_spec.rb
274
- - spec/mongo_mapper/user_remember_me_spec.rb
275
- - spec/mongo_mapper/user_reset_password_spec.rb
276
- - spec/mongo_mapper/user_spec.rb
277
- - spec/mongoid/user_activation_spec.rb
278
- - spec/mongoid/user_activity_logging_spec.rb
279
- - spec/mongoid/user_brute_force_protection_spec.rb
280
- - spec/mongoid/user_oauth_spec.rb
281
- - spec/mongoid/user_remember_me_spec.rb
282
- - spec/mongoid/user_reset_password_spec.rb
283
- - spec/mongoid/user_spec.rb
284
307
  - spec/orm/active_record.rb
285
- - spec/orm/data_mapper.rb
286
- - spec/orm/mongo_mapper.rb
287
- - spec/orm/mongoid.rb
308
+ - spec/providers/example_provider_spec.rb
309
+ - spec/providers/example_spec.rb
310
+ - spec/providers/examples_spec.rb
311
+ - spec/providers/vk_spec.rb
288
312
  - spec/rails_app/app/active_record/authentication.rb
289
313
  - spec/rails_app/app/active_record/user.rb
290
314
  - spec/rails_app/app/active_record/user_provider.rb
315
+ - spec/rails_app/app/assets/config/manifest.js
316
+ - spec/rails_app/app/controllers/application_controller.rb
291
317
  - spec/rails_app/app/controllers/sorcery_controller.rb
292
- - spec/rails_app/app/data_mapper/authentication.rb
293
- - spec/rails_app/app/data_mapper/user.rb
294
318
  - spec/rails_app/app/helpers/application_helper.rb
295
319
  - spec/rails_app/app/mailers/sorcery_mailer.rb
296
- - spec/rails_app/app/mongo_mapper/authentication.rb
297
- - spec/rails_app/app/mongo_mapper/user.rb
298
- - spec/rails_app/app/mongoid/authentication.rb
299
- - spec/rails_app/app/mongoid/user.rb
300
320
  - spec/rails_app/app/views/application/index.html.erb
301
321
  - spec/rails_app/app/views/layouts/application.html.erb
302
322
  - spec/rails_app/app/views/sorcery_mailer/activation_email.html.erb
@@ -304,6 +324,8 @@ files:
304
324
  - spec/rails_app/app/views/sorcery_mailer/activation_needed_email.html.erb
305
325
  - spec/rails_app/app/views/sorcery_mailer/activation_success_email.html.erb
306
326
  - spec/rails_app/app/views/sorcery_mailer/activation_success_email.text.erb
327
+ - spec/rails_app/app/views/sorcery_mailer/magic_login_email.html.erb
328
+ - spec/rails_app/app/views/sorcery_mailer/magic_login_email.text.erb
307
329
  - spec/rails_app/app/views/sorcery_mailer/reset_password_email.html.erb
308
330
  - spec/rails_app/app/views/sorcery_mailer/reset_password_email.text.erb
309
331
  - spec/rails_app/app/views/sorcery_mailer/send_unlock_token_email.text.erb
@@ -314,37 +336,47 @@ files:
314
336
  - spec/rails_app/config/environment.rb
315
337
  - spec/rails_app/config/environments/test.rb
316
338
  - spec/rails_app/config/initializers/backtrace_silencers.rb
339
+ - spec/rails_app/config/initializers/compatible_legacy_migration.rb
317
340
  - spec/rails_app/config/initializers/inflections.rb
318
341
  - spec/rails_app/config/initializers/mime_types.rb
319
- - spec/rails_app/config/initializers/secret_token.rb
320
342
  - spec/rails_app/config/initializers/session_store.rb
321
343
  - spec/rails_app/config/locales/en.yml
322
344
  - spec/rails_app/config/routes.rb
345
+ - spec/rails_app/config/secrets.yml
323
346
  - spec/rails_app/db/migrate/activation/20101224223622_add_activation_to_users.rb
324
347
  - spec/rails_app/db/migrate/activity_logging/20101224223624_add_activity_logging_to_users.rb
325
348
  - spec/rails_app/db/migrate/brute_force_protection/20101224223626_add_brute_force_protection_to_users.rb
326
349
  - spec/rails_app/db/migrate/core/20101224223620_create_users.rb
327
350
  - spec/rails_app/db/migrate/external/20101224223628_create_authentications_and_user_providers.rb
351
+ - spec/rails_app/db/migrate/invalidate_active_sessions/20180221093235_add_invalidate_active_sessions_before_to_users.rb
352
+ - spec/rails_app/db/migrate/magic_login/20170924151831_add_magic_login_to_users.rb
328
353
  - spec/rails_app/db/migrate/remember_me/20101224223623_add_remember_me_token_to_users.rb
329
354
  - spec/rails_app/db/migrate/reset_password/20101224223622_add_reset_password_to_users.rb
330
355
  - spec/rails_app/db/schema.rb
331
356
  - spec/rails_app/db/seeds.rb
332
- - spec/rails_app/log/development.log
333
357
  - spec/shared_examples/user_activation_shared_examples.rb
334
358
  - spec/shared_examples/user_activity_logging_shared_examples.rb
335
359
  - spec/shared_examples/user_brute_force_protection_shared_examples.rb
360
+ - spec/shared_examples/user_magic_login_shared_examples.rb
336
361
  - spec/shared_examples/user_oauth_shared_examples.rb
337
362
  - spec/shared_examples/user_remember_me_shared_examples.rb
338
363
  - spec/shared_examples/user_reset_password_shared_examples.rb
339
364
  - spec/shared_examples/user_shared_examples.rb
340
365
  - spec/sorcery_crypto_providers_spec.rb
366
+ - spec/sorcery_temporary_token_spec.rb
341
367
  - spec/spec.opts
342
368
  - spec/spec_helper.rb
343
- homepage: http://github.com/NoamB/sorcery
369
+ - spec/support/migration_helper.rb
370
+ - spec/support/providers/example.rb
371
+ - spec/support/providers/example_provider.rb
372
+ - spec/support/providers/examples.rb
373
+ homepage: https://github.com/Sorcery/sorcery
344
374
  licenses:
345
375
  - MIT
346
376
  metadata: {}
347
- post_install_message:
377
+ post_install_message: |-
378
+ As of version 1.0 oauth/oauth2 won't be automatically bundled so you may need to add those dependencies to your Gemfile.
379
+ You may need oauth2 if you use external providers such as any of these: https://github.com/Sorcery/sorcery/tree/master/lib/sorcery/providers
348
380
  rdoc_options: []
349
381
  require_paths:
350
382
  - lib
@@ -352,17 +384,15 @@ required_ruby_version: !ruby/object:Gem::Requirement
352
384
  requirements:
353
385
  - - ">="
354
386
  - !ruby/object:Gem::Version
355
- version: 1.9.3
387
+ version: 2.4.9
356
388
  required_rubygems_version: !ruby/object:Gem::Requirement
357
389
  requirements:
358
390
  - - ">="
359
391
  - !ruby/object:Gem::Version
360
392
  version: '0'
361
393
  requirements: []
362
- rubyforge_project:
363
- rubygems_version: 2.2.2
394
+ rubygems_version: 3.2.3
364
395
  signing_key:
365
396
  specification_version: 4
366
- summary: Magical authentication for Rails 3 & 4 applications
397
+ summary: Magical authentication for Rails applications
367
398
  test_files: []
368
- has_rdoc:
data/.travis.yml DELETED
@@ -1,132 +0,0 @@
1
- language: ruby
2
- rvm:
3
- - 1.9.3
4
- - 2.0.0
5
- - 2.1
6
-
7
- services: mongodb
8
-
9
- gemfile:
10
- - Gemfile
11
-
12
- env:
13
- - "SORCERY_ORM=active_record"
14
- - "SORCERY_ORM=mongoid"
15
- - "SORCERY_ORM=mongo_mapper"
16
- - "SORCERY_ORM=data_mapper"
17
-
18
- before_script:
19
- - mysql -e 'create database sorcery_test;'
20
-
21
- matrix:
22
- allow_failures:
23
- - rvm: :jruby
24
-
25
- include:
26
- - rvm: 1.9.3
27
- gemfile: gemfiles/mongoid-rails41.gemfile
28
- env: "SORCERY_ORM=mongoid"
29
-
30
- - rvm: 2.0.0
31
- gemfile: gemfiles/mongoid-rails41.gemfile
32
- env: "SORCERY_ORM=mongoid"
33
-
34
- - rvm: 2.1
35
- gemfile: gemfiles/mongoid-rails41.gemfile
36
- env: "SORCERY_ORM=mongoid"
37
-
38
- - rvm: jruby
39
- gemfile: gemfiles/mongoid-rails41.gemfile
40
- env: "SORCERY_ORM=mongoid"
41
-
42
- - rvm: 1.9.3
43
- gemfile: gemfiles/mongo_mapper-rails41.gemfile
44
- env: "SORCERY_ORM=mongo_mapper"
45
-
46
- - rvm: 2.0.0
47
- gemfile: gemfiles/mongo_mapper-rails41.gemfile
48
- env: "SORCERY_ORM=mongo_mapper"
49
-
50
- - rvm: 2.1
51
- gemfile: gemfiles/mongo_mapper-rails41.gemfile
52
- env: "SORCERY_ORM=mongo_mapper"
53
-
54
- - rvm: jruby
55
- gemfile: gemfiles/mongo_mapper-rails41.gemfile
56
- env: "SORCERY_ORM=mongo_mapper"
57
-
58
- - rvm: 1.9.3
59
- gemfile: gemfiles/active_record-rails41.gemfile
60
- env: "SORCERY_ORM=active_record"
61
-
62
- - rvm: 2.0.0
63
- gemfile: gemfiles/active_record-rails41.gemfile
64
- env: "SORCERY_ORM=active_record"
65
-
66
- - rvm: 2.1
67
- gemfile: gemfiles/active_record-rails41.gemfile
68
- env: "SORCERY_ORM=active_record"
69
-
70
- - rvm: jruby
71
- gemfile: gemfiles/active_record-rails41.gemfile
72
- env: "SORCERY_ORM=active_record"
73
-
74
- - rvm: 1.9.3
75
- gemfile: gemfiles/mongoid-rails40.gemfile
76
- env: "SORCERY_ORM=mongoid"
77
-
78
- - rvm: 2.0.0
79
- gemfile: gemfiles/mongoid-rails40.gemfile
80
- env: "SORCERY_ORM=mongoid"
81
-
82
- - rvm: 2.1
83
- gemfile: gemfiles/mongoid-rails40.gemfile
84
- env: "SORCERY_ORM=mongoid"
85
-
86
- - rvm: jruby
87
- gemfile: gemfiles/mongoid-rails40.gemfile
88
- env: "SORCERY_ORM=mongoid"
89
-
90
- - rvm: 1.9.3
91
- gemfile: gemfiles/mongo_mapper-rails40.gemfile
92
- env: "SORCERY_ORM=mongo_mapper"
93
-
94
- - rvm: 2.0.0
95
- gemfile: gemfiles/mongo_mapper-rails40.gemfile
96
- env: "SORCERY_ORM=mongo_mapper"
97
-
98
- - rvm: 2.1
99
- gemfile: gemfiles/mongo_mapper-rails40.gemfile
100
- env: "SORCERY_ORM=mongo_mapper"
101
-
102
- - rvm: jruby
103
- gemfile: gemfiles/mongo_mapper-rails40.gemfile
104
- env: "SORCERY_ORM=mongo_mapper"
105
-
106
- - rvm: 1.9.3
107
- gemfile: gemfiles/active_record-rails40.gemfile
108
- env: "SORCERY_ORM=active_record"
109
-
110
- - rvm: 2.0.0
111
- gemfile: gemfiles/active_record-rails40.gemfile
112
- env: "SORCERY_ORM=active_record"
113
-
114
- - rvm: 2.1
115
- gemfile: gemfiles/active_record-rails40.gemfile
116
- env: "SORCERY_ORM=active_record"
117
-
118
- - rvm: jruby
119
- gemfile: gemfiles/active_record-rails40.gemfile
120
- env: "SORCERY_ORM=active_record"
121
-
122
- - rvm: 1.9.3
123
- gemfile: gemfiles/mongoid3-rails32.gemfile
124
- env: "SORCERY_ORM=mongoid"
125
-
126
- - rvm: 2.0.0
127
- gemfile: gemfiles/mongoid3-rails32.gemfile
128
- env: "SORCERY_ORM=mongoid"
129
-
130
- - rvm: 2.1
131
- gemfile: gemfiles/mongoid3-rails32.gemfile
132
- env: "SORCERY_ORM=mongoid"
@@ -1,7 +0,0 @@
1
- source 'https://rubygems.org'
2
-
3
- gem 'sqlite3', platform: :mri
4
- gem 'activerecord-jdbcsqlite3-adapter', platform: :jruby
5
- gem 'rails', '~> 4.0.1'
6
-
7
- gemspec path: '..'
@@ -1,7 +0,0 @@
1
- source 'https://rubygems.org'
2
-
3
- gem 'sqlite3', platform: :mri
4
- gem 'activerecord-jdbcsqlite3-adapter', platform: :jruby
5
- gem 'rails', '~> 4.1.0'
6
-
7
- gemspec path: '..'
@@ -1,9 +0,0 @@
1
- source 'https://rubygems.org'
2
-
3
- gem 'rails', '~> 4.0.0'
4
-
5
- gem 'mongo_mapper', github: 'mongomapper/mongomapper'
6
- gem 'sqlite3', platform: :mri
7
- gem 'activerecord-jdbcsqlite3-adapter', platform: :jruby
8
-
9
- gemspec path: '..'
@@ -1,9 +0,0 @@
1
- source 'https://rubygems.org'
2
-
3
- gem 'rails', '~> 4.1.0'
4
-
5
- gem 'mongo_mapper', github: 'mongomapper/mongomapper'
6
- gem 'sqlite3', platform: :mri
7
- gem 'activerecord-jdbcsqlite3-adapter', platform: :jruby
8
-
9
- gemspec path: '..'
@@ -1,9 +0,0 @@
1
- source 'https://rubygems.org'
2
-
3
- gem 'rails', '~> 4.0.0'
4
-
5
- gem 'mongoid', '~> 4.0.0'
6
- gem 'sqlite3', platform: :mri
7
- gem 'activerecord-jdbcsqlite3-adapter', platform: :jruby
8
-
9
- gemspec path: '..'
@@ -1,9 +0,0 @@
1
- source 'https://rubygems.org'
2
-
3
- gem 'rails', '~> 4.1.0'
4
-
5
- gem 'mongoid', '~> 4.0.0'
6
- gem 'sqlite3', platform: :mri
7
- gem 'activerecord-jdbcsqlite3-adapter', platform: :jruby
8
-
9
- gemspec path: '..'
@@ -1,9 +0,0 @@
1
- source 'https://rubygems.org'
2
-
3
- gem 'rails', '~> 3.2.0'
4
-
5
- gem 'mongoid', '~> 3.0'
6
- gem 'bson_ext'
7
- gem 'sqlite3'
8
-
9
- gemspec path: '..'