sorcery 0.13.0 → 0.16.1

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 (67) hide show
  1. checksums.yaml +4 -4
  2. data/.github/FUNDING.yml +1 -0
  3. data/.github/PULL_REQUEST_TEMPLATE.md +5 -0
  4. data/.github/workflows/ruby.yml +49 -0
  5. data/.rubocop.yml +2 -2
  6. data/.rubocop_todo.yml +157 -1
  7. data/CHANGELOG.md +49 -0
  8. data/CODE_OF_CONDUCT.md +14 -0
  9. data/Gemfile +1 -1
  10. data/README.md +4 -4
  11. data/Rakefile +3 -1
  12. data/SECURITY.md +19 -0
  13. data/gemfiles/rails_52.gemfile +7 -0
  14. data/gemfiles/rails_60.gemfile +7 -0
  15. data/lib/generators/sorcery/helpers.rb +4 -0
  16. data/lib/generators/sorcery/templates/initializer.rb +111 -85
  17. data/lib/generators/sorcery/templates/migration/activity_logging.rb +5 -5
  18. data/lib/generators/sorcery/templates/migration/brute_force_protection.rb +4 -4
  19. data/lib/generators/sorcery/templates/migration/core.rb +4 -4
  20. data/lib/generators/sorcery/templates/migration/external.rb +3 -3
  21. data/lib/generators/sorcery/templates/migration/magic_login.rb +4 -4
  22. data/lib/generators/sorcery/templates/migration/remember_me.rb +3 -3
  23. data/lib/generators/sorcery/templates/migration/reset_password.rb +5 -5
  24. data/lib/generators/sorcery/templates/migration/user_activation.rb +4 -4
  25. data/lib/sorcery/adapters/active_record_adapter.rb +2 -2
  26. data/lib/sorcery/controller.rb +4 -1
  27. data/lib/sorcery/controller/config.rb +6 -6
  28. data/lib/sorcery/controller/submodules/activity_logging.rb +5 -3
  29. data/lib/sorcery/controller/submodules/external.rb +4 -1
  30. data/lib/sorcery/controller/submodules/http_basic_auth.rb +1 -0
  31. data/lib/sorcery/controller/submodules/remember_me.rb +2 -1
  32. data/lib/sorcery/controller/submodules/session_timeout.rb +2 -0
  33. data/lib/sorcery/crypto_providers/aes256.rb +1 -1
  34. data/lib/sorcery/crypto_providers/bcrypt.rb +6 -1
  35. data/lib/sorcery/engine.rb +7 -1
  36. data/lib/sorcery/model.rb +6 -5
  37. data/lib/sorcery/model/config.rb +5 -0
  38. data/lib/sorcery/model/submodules/magic_login.rb +7 -4
  39. data/lib/sorcery/model/submodules/reset_password.rb +6 -2
  40. data/lib/sorcery/providers/battlenet.rb +51 -0
  41. data/lib/sorcery/providers/discord.rb +52 -0
  42. data/lib/sorcery/providers/line.rb +63 -0
  43. data/lib/sorcery/providers/linkedin.rb +45 -36
  44. data/lib/sorcery/providers/vk.rb +1 -1
  45. data/lib/sorcery/version.rb +1 -1
  46. data/sorcery.gemspec +5 -6
  47. data/spec/controllers/controller_oauth2_spec.rb +41 -6
  48. data/spec/controllers/controller_oauth_spec.rb +6 -0
  49. data/spec/controllers/controller_remember_me_spec.rb +15 -12
  50. data/spec/controllers/controller_spec.rb +11 -1
  51. data/spec/providers/example_provider_spec.rb +17 -0
  52. data/spec/providers/example_spec.rb +17 -0
  53. data/spec/rails_app/app/assets/config/manifest.js +1 -0
  54. data/spec/rails_app/app/controllers/application_controller.rb +2 -0
  55. data/spec/rails_app/app/controllers/sorcery_controller.rb +69 -1
  56. data/spec/rails_app/config/routes.rb +10 -0
  57. data/spec/shared_examples/user_reset_password_shared_examples.rb +18 -2
  58. data/spec/shared_examples/user_shared_examples.rb +63 -0
  59. data/spec/sorcery_crypto_providers_spec.rb +60 -0
  60. data/spec/support/migration_helper.rb +12 -2
  61. data/spec/support/providers/example.rb +11 -0
  62. data/spec/support/providers/example_provider.rb +11 -0
  63. metadata +25 -15
  64. data/.travis.yml +0 -38
  65. data/gemfiles/active_record_rails_40.gemfile +0 -6
  66. data/gemfiles/active_record_rails_41.gemfile +0 -6
  67. data/gemfiles/active_record_rails_42.gemfile +0 -6
@@ -0,0 +1,11 @@
1
+ # frozen_string_literal: true
2
+
3
+ require 'sorcery/providers/base'
4
+
5
+ module Sorcery
6
+ module Providers
7
+ class Example < Base
8
+ include Protocols::Oauth2
9
+ end
10
+ end
11
+ end
@@ -0,0 +1,11 @@
1
+ # frozen_string_literal: true
2
+
3
+ require 'sorcery/providers/base'
4
+
5
+ module Sorcery
6
+ module Providers
7
+ class ExampleProvider < Base
8
+ include Protocols::Oauth2
9
+ end
10
+ end
11
+ end
metadata CHANGED
@@ -1,7 +1,7 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: sorcery
3
3
  version: !ruby/object:Gem::Version
4
- version: 0.13.0
4
+ version: 0.16.1
5
5
  platform: ruby
6
6
  authors:
7
7
  - Noam Ben Ari
@@ -12,7 +12,7 @@ authors:
12
12
  autorequire:
13
13
  bindir: bin
14
14
  cert_chain: []
15
- date: 2018-11-29 00:00:00.000000000 Z
15
+ date: 2021-04-30 00:00:00.000000000 Z
16
16
  dependencies:
17
17
  - !ruby/object:Gem::Dependency
18
18
  name: bcrypt
@@ -34,20 +34,20 @@ dependencies:
34
34
  requirements:
35
35
  - - "~>"
36
36
  - !ruby/object:Gem::Version
37
- version: '0.4'
37
+ version: '0.5'
38
38
  - - ">="
39
39
  - !ruby/object:Gem::Version
40
- version: 0.4.4
40
+ version: 0.5.5
41
41
  type: :runtime
42
42
  prerelease: false
43
43
  version_requirements: !ruby/object:Gem::Requirement
44
44
  requirements:
45
45
  - - "~>"
46
46
  - !ruby/object:Gem::Version
47
- version: '0.4'
47
+ version: '0.5'
48
48
  - - ">="
49
49
  - !ruby/object:Gem::Version
50
- version: 0.4.4
50
+ version: 0.5.5
51
51
  - !ruby/object:Gem::Dependency
52
52
  name: oauth2
53
53
  requirement: !ruby/object:Gem::Requirement
@@ -189,27 +189,29 @@ dependencies:
189
189
  description: Provides common authentication needs such as signing in/out, activating
190
190
  by email and resetting password.
191
191
  email:
192
- - chase.gilliam@gmail.com
193
- - contact@joshbuker.com
192
+ - crypto@joshbuker.com
194
193
  executables: []
195
194
  extensions: []
196
195
  extra_rdoc_files: []
197
196
  files:
198
197
  - ".document"
198
+ - ".github/FUNDING.yml"
199
199
  - ".github/ISSUE_TEMPLATE.md"
200
+ - ".github/PULL_REQUEST_TEMPLATE.md"
201
+ - ".github/workflows/ruby.yml"
200
202
  - ".gitignore"
201
203
  - ".rspec"
202
204
  - ".rubocop.yml"
203
205
  - ".rubocop_todo.yml"
204
- - ".travis.yml"
205
206
  - CHANGELOG.md
207
+ - CODE_OF_CONDUCT.md
206
208
  - Gemfile
207
209
  - LICENSE.md
208
210
  - README.md
209
211
  - Rakefile
210
- - gemfiles/active_record_rails_40.gemfile
211
- - gemfiles/active_record_rails_41.gemfile
212
- - gemfiles/active_record_rails_42.gemfile
212
+ - SECURITY.md
213
+ - gemfiles/rails_52.gemfile
214
+ - gemfiles/rails_60.gemfile
213
215
  - lib/generators/sorcery/USAGE
214
216
  - lib/generators/sorcery/helpers.rb
215
217
  - lib/generators/sorcery/install_generator.rb
@@ -257,12 +259,15 @@ files:
257
259
  - lib/sorcery/protocols/oauth2.rb
258
260
  - lib/sorcery/providers/auth0.rb
259
261
  - lib/sorcery/providers/base.rb
262
+ - lib/sorcery/providers/battlenet.rb
263
+ - lib/sorcery/providers/discord.rb
260
264
  - lib/sorcery/providers/facebook.rb
261
265
  - lib/sorcery/providers/github.rb
262
266
  - lib/sorcery/providers/google.rb
263
267
  - lib/sorcery/providers/heroku.rb
264
268
  - lib/sorcery/providers/instagram.rb
265
269
  - lib/sorcery/providers/jira.rb
270
+ - lib/sorcery/providers/line.rb
266
271
  - lib/sorcery/providers/linkedin.rb
267
272
  - lib/sorcery/providers/liveid.rb
268
273
  - lib/sorcery/providers/microsoft.rb
@@ -297,10 +302,14 @@ files:
297
302
  - spec/controllers/controller_session_timeout_spec.rb
298
303
  - spec/controllers/controller_spec.rb
299
304
  - spec/orm/active_record.rb
305
+ - spec/providers/example_provider_spec.rb
306
+ - spec/providers/example_spec.rb
300
307
  - spec/providers/vk_spec.rb
301
308
  - spec/rails_app/app/active_record/authentication.rb
302
309
  - spec/rails_app/app/active_record/user.rb
303
310
  - spec/rails_app/app/active_record/user_provider.rb
311
+ - spec/rails_app/app/assets/config/manifest.js
312
+ - spec/rails_app/app/controllers/application_controller.rb
304
313
  - spec/rails_app/app/controllers/sorcery_controller.rb
305
314
  - spec/rails_app/app/helpers/application_helper.rb
306
315
  - spec/rails_app/app/mailers/sorcery_mailer.rb
@@ -354,6 +363,8 @@ files:
354
363
  - spec/spec.opts
355
364
  - spec/spec_helper.rb
356
365
  - spec/support/migration_helper.rb
366
+ - spec/support/providers/example.rb
367
+ - spec/support/providers/example_provider.rb
357
368
  homepage: https://github.com/Sorcery/sorcery
358
369
  licenses:
359
370
  - MIT
@@ -368,15 +379,14 @@ required_ruby_version: !ruby/object:Gem::Requirement
368
379
  requirements:
369
380
  - - ">="
370
381
  - !ruby/object:Gem::Version
371
- version: 2.2.9
382
+ version: 2.4.9
372
383
  required_rubygems_version: !ruby/object:Gem::Requirement
373
384
  requirements:
374
385
  - - ">="
375
386
  - !ruby/object:Gem::Version
376
387
  version: '0'
377
388
  requirements: []
378
- rubyforge_project:
379
- rubygems_version: 2.7.7
389
+ rubygems_version: 3.1.4
380
390
  signing_key:
381
391
  specification_version: 4
382
392
  summary: Magical authentication for Rails applications
data/.travis.yml DELETED
@@ -1,38 +0,0 @@
1
- language: ruby
2
- rvm:
3
- - 2.2.9
4
- - 2.3.6
5
- - 2.4.3
6
- - 2.5.0
7
-
8
- gemfile:
9
- - Gemfile
10
- - gemfiles/active_record_rails_40.gemfile
11
- - gemfiles/active_record_rails_41.gemfile
12
- - gemfiles/active_record_rails_42.gemfile
13
-
14
- before_script:
15
- - mysql -e 'create database sorcery_test;'
16
-
17
- before_install:
18
- - rvm get stable --auto-dotfiles
19
- - gem update bundler
20
-
21
- matrix:
22
- exclude:
23
- - rvm: 2.2.9
24
- gemfile: gemfiles/active_record_rails_40.gemfile
25
- - rvm: 2.3.6
26
- gemfile: gemfiles/active_record_rails_40.gemfile
27
- - rvm: 2.4.3
28
- gemfile: gemfiles/active_record_rails_40.gemfile
29
- - rvm: 2.4.3
30
- gemfile: gemfiles/active_record_rails_41.gemfile
31
- - rvm: 2.4.3
32
- gemfile: gemfiles/active_record_rails_42.gemfile
33
- - rvm: 2.5.0
34
- gemfile: gemfiles/active_record_rails_40.gemfile
35
- - rvm: 2.5.0
36
- gemfile: gemfiles/active_record_rails_41.gemfile
37
- - rvm: 2.5.0
38
- gemfile: gemfiles/active_record_rails_42.gemfile
@@ -1,6 +0,0 @@
1
- source 'https://rubygems.org'
2
-
3
- gem 'rails', '~> 4.0.1'
4
- gem 'sqlite3', platform: :mri
5
-
6
- gemspec path: '..'
@@ -1,6 +0,0 @@
1
- source 'https://rubygems.org'
2
-
3
- gem 'rails', '~> 4.1.0'
4
- gem 'sqlite3', platform: :mri
5
-
6
- gemspec path: '..'
@@ -1,6 +0,0 @@
1
- source 'https://rubygems.org'
2
-
3
- gem 'rails', '~> 4.2.0'
4
- gem 'sqlite3', platform: :mri
5
-
6
- gemspec path: '..'