sorcery 0.13.0 → 0.16.1

Sign up to get free protection for your applications and to get access to all the features.
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: '..'