sorcery 0.17.0 → 0.18.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 (154) hide show
  1. checksums.yaml +4 -4
  2. data/CHANGELOG.md +4 -1
  3. data/README.md +8 -5
  4. data/lib/generators/sorcery/helpers.rb +1 -1
  5. data/lib/generators/sorcery/install_generator.rb +9 -18
  6. data/lib/generators/sorcery/templates/initializer.rb +24 -10
  7. data/lib/sorcery/adapters/active_record_adapter.rb +12 -14
  8. data/lib/sorcery/adapters/mongoid_adapter.rb +6 -8
  9. data/lib/sorcery/controller/config.rb +27 -29
  10. data/lib/sorcery/controller/submodules/activity_logging.rb +4 -7
  11. data/lib/sorcery/controller/submodules/brute_force_protection.rb +4 -1
  12. data/lib/sorcery/controller/submodules/external.rb +11 -11
  13. data/lib/sorcery/controller/submodules/http_basic_auth.rb +7 -2
  14. data/lib/sorcery/controller/submodules/remember_me.rb +2 -1
  15. data/lib/sorcery/controller/submodules/session_timeout.rb +2 -2
  16. data/lib/sorcery/controller.rb +36 -18
  17. data/lib/sorcery/crypto_providers/aes256.rb +4 -2
  18. data/lib/sorcery/crypto_providers/bcrypt.rb +2 -1
  19. data/lib/sorcery/crypto_providers/md5.rb +1 -0
  20. data/lib/sorcery/crypto_providers/sha1.rb +1 -0
  21. data/lib/sorcery/crypto_providers/sha256.rb +1 -0
  22. data/lib/sorcery/crypto_providers/sha512.rb +1 -0
  23. data/lib/sorcery/engine.rb +6 -4
  24. data/lib/sorcery/errors.rb +10 -0
  25. data/lib/sorcery/model/config.rb +20 -31
  26. data/lib/sorcery/model/submodules/activity_logging.rb +8 -6
  27. data/lib/sorcery/model/submodules/brute_force_protection.rb +16 -14
  28. data/lib/sorcery/model/submodules/external.rb +8 -10
  29. data/lib/sorcery/model/submodules/magic_login.rb +8 -4
  30. data/lib/sorcery/model/submodules/remember_me.rb +3 -3
  31. data/lib/sorcery/model/submodules/reset_password.rb +21 -13
  32. data/lib/sorcery/model/submodules/user_activation.rb +19 -17
  33. data/lib/sorcery/model/temporary_token.rb +5 -5
  34. data/lib/sorcery/model.rb +21 -25
  35. data/lib/sorcery/providers/base.rb +1 -1
  36. data/lib/sorcery/providers/facebook.rb +2 -2
  37. data/lib/sorcery/providers/github.rb +3 -3
  38. data/lib/sorcery/providers/heroku.rb +1 -2
  39. data/lib/sorcery/providers/jira.rb +3 -2
  40. data/lib/sorcery/providers/line.rb +2 -4
  41. data/lib/sorcery/providers/microsoft.rb +1 -1
  42. data/lib/sorcery/providers/twitter.rb +2 -2
  43. data/lib/sorcery/providers/vk.rb +4 -4
  44. data/lib/sorcery/providers/xing.rb +3 -2
  45. data/lib/sorcery/test_helpers/internal/rails.rb +5 -22
  46. data/lib/sorcery/test_helpers/internal.rb +4 -6
  47. data/lib/sorcery/test_helpers/rails/integration.rb +1 -1
  48. data/lib/sorcery/test_helpers/rails/request.rb +1 -1
  49. data/lib/sorcery/version.rb +1 -1
  50. data/lib/sorcery.rb +6 -1
  51. metadata +21 -150
  52. data/.devcontainer/Dockerfile +0 -10
  53. data/.devcontainer/devcontainer.json +0 -29
  54. data/.devcontainer/postcreate.sh +0 -4
  55. data/.document +0 -5
  56. data/.github/FUNDING.yml +0 -1
  57. data/.github/ISSUE_TEMPLATE.md +0 -24
  58. data/.github/PULL_REQUEST_TEMPLATE.md +0 -7
  59. data/.github/workflows/ruby.yml +0 -54
  60. data/.gitignore +0 -60
  61. data/.rspec +0 -1
  62. data/.rubocop.yml +0 -55
  63. data/.rubocop_todo.yml +0 -163
  64. data/CODE_OF_CONDUCT.md +0 -14
  65. data/Gemfile +0 -8
  66. data/MAINTAINING.md +0 -64
  67. data/Rakefile +0 -8
  68. data/SECURITY.md +0 -19
  69. data/gemfiles/rails_61.gemfile +0 -7
  70. data/gemfiles/rails_70.gemfile +0 -7
  71. data/gemfiles/rails_71.gemfile +0 -7
  72. data/sorcery.gemspec +0 -49
  73. data/spec/active_record/user_activation_spec.rb +0 -17
  74. data/spec/active_record/user_activity_logging_spec.rb +0 -15
  75. data/spec/active_record/user_brute_force_protection_spec.rb +0 -15
  76. data/spec/active_record/user_magic_login_spec.rb +0 -15
  77. data/spec/active_record/user_oauth_spec.rb +0 -15
  78. data/spec/active_record/user_remember_me_spec.rb +0 -15
  79. data/spec/active_record/user_reset_password_spec.rb +0 -15
  80. data/spec/active_record/user_spec.rb +0 -27
  81. data/spec/controllers/controller_activity_logging_spec.rb +0 -113
  82. data/spec/controllers/controller_brute_force_protection_spec.rb +0 -41
  83. data/spec/controllers/controller_http_basic_auth_spec.rb +0 -67
  84. data/spec/controllers/controller_oauth2_spec.rb +0 -568
  85. data/spec/controllers/controller_oauth_spec.rb +0 -266
  86. data/spec/controllers/controller_remember_me_spec.rb +0 -130
  87. data/spec/controllers/controller_session_timeout_spec.rb +0 -168
  88. data/spec/controllers/controller_spec.rb +0 -200
  89. data/spec/orm/active_record.rb +0 -21
  90. data/spec/providers/example_provider_spec.rb +0 -17
  91. data/spec/providers/example_spec.rb +0 -17
  92. data/spec/providers/examples_spec.rb +0 -17
  93. data/spec/providers/vk_spec.rb +0 -42
  94. data/spec/rails_app/app/active_record/authentication.rb +0 -3
  95. data/spec/rails_app/app/active_record/user.rb +0 -5
  96. data/spec/rails_app/app/active_record/user_provider.rb +0 -3
  97. data/spec/rails_app/app/assets/config/manifest.js +0 -1
  98. data/spec/rails_app/app/controllers/application_controller.rb +0 -2
  99. data/spec/rails_app/app/controllers/sorcery_controller.rb +0 -489
  100. data/spec/rails_app/app/helpers/application_helper.rb +0 -2
  101. data/spec/rails_app/app/mailers/sorcery_mailer.rb +0 -38
  102. data/spec/rails_app/app/views/application/index.html.erb +0 -17
  103. data/spec/rails_app/app/views/layouts/application.html.erb +0 -14
  104. data/spec/rails_app/app/views/sorcery_mailer/activation_email.html.erb +0 -17
  105. data/spec/rails_app/app/views/sorcery_mailer/activation_email.text.erb +0 -9
  106. data/spec/rails_app/app/views/sorcery_mailer/activation_needed_email.html.erb +0 -17
  107. data/spec/rails_app/app/views/sorcery_mailer/activation_success_email.html.erb +0 -17
  108. data/spec/rails_app/app/views/sorcery_mailer/activation_success_email.text.erb +0 -9
  109. data/spec/rails_app/app/views/sorcery_mailer/magic_login_email.html.erb +0 -13
  110. data/spec/rails_app/app/views/sorcery_mailer/magic_login_email.text.erb +0 -6
  111. data/spec/rails_app/app/views/sorcery_mailer/reset_password_email.html.erb +0 -16
  112. data/spec/rails_app/app/views/sorcery_mailer/reset_password_email.text.erb +0 -8
  113. data/spec/rails_app/app/views/sorcery_mailer/send_unlock_token_email.text.erb +0 -1
  114. data/spec/rails_app/config/application.rb +0 -61
  115. data/spec/rails_app/config/boot.rb +0 -4
  116. data/spec/rails_app/config/database.yml +0 -22
  117. data/spec/rails_app/config/environment.rb +0 -5
  118. data/spec/rails_app/config/environments/test.rb +0 -37
  119. data/spec/rails_app/config/initializers/backtrace_silencers.rb +0 -7
  120. data/spec/rails_app/config/initializers/compatible_legacy_migration.rb +0 -11
  121. data/spec/rails_app/config/initializers/inflections.rb +0 -10
  122. data/spec/rails_app/config/initializers/mime_types.rb +0 -5
  123. data/spec/rails_app/config/initializers/session_store.rb +0 -12
  124. data/spec/rails_app/config/locales/en.yml +0 -5
  125. data/spec/rails_app/config/routes.rb +0 -81
  126. data/spec/rails_app/config/secrets.yml +0 -4
  127. data/spec/rails_app/config.ru +0 -4
  128. data/spec/rails_app/db/migrate/activation/20101224223622_add_activation_to_users.rb +0 -17
  129. data/spec/rails_app/db/migrate/activity_logging/20101224223624_add_activity_logging_to_users.rb +0 -19
  130. data/spec/rails_app/db/migrate/brute_force_protection/20101224223626_add_brute_force_protection_to_users.rb +0 -13
  131. data/spec/rails_app/db/migrate/core/20101224223620_create_users.rb +0 -16
  132. data/spec/rails_app/db/migrate/external/20101224223628_create_authentications_and_user_providers.rb +0 -22
  133. data/spec/rails_app/db/migrate/invalidate_active_sessions/20180221093235_add_invalidate_active_sessions_before_to_users.rb +0 -9
  134. data/spec/rails_app/db/migrate/magic_login/20170924151831_add_magic_login_to_users.rb +0 -17
  135. data/spec/rails_app/db/migrate/remember_me/20101224223623_add_remember_me_token_to_users.rb +0 -15
  136. data/spec/rails_app/db/migrate/reset_password/20101224223622_add_reset_password_to_users.rb +0 -15
  137. data/spec/rails_app/db/schema.rb +0 -21
  138. data/spec/rails_app/db/seeds.rb +0 -7
  139. data/spec/shared_examples/user_activation_shared_examples.rb +0 -361
  140. data/spec/shared_examples/user_activity_logging_shared_examples.rb +0 -106
  141. data/spec/shared_examples/user_brute_force_protection_shared_examples.rb +0 -151
  142. data/spec/shared_examples/user_magic_login_shared_examples.rb +0 -150
  143. data/spec/shared_examples/user_oauth_shared_examples.rb +0 -33
  144. data/spec/shared_examples/user_remember_me_shared_examples.rb +0 -129
  145. data/spec/shared_examples/user_reset_password_shared_examples.rb +0 -370
  146. data/spec/shared_examples/user_shared_examples.rb +0 -678
  147. data/spec/sorcery_crypto_providers_spec.rb +0 -245
  148. data/spec/sorcery_temporary_token_spec.rb +0 -27
  149. data/spec/spec.opts +0 -2
  150. data/spec/spec_helper.rb +0 -50
  151. data/spec/support/migration_helper.rb +0 -29
  152. data/spec/support/providers/example.rb +0 -11
  153. data/spec/support/providers/example_provider.rb +0 -11
  154. data/spec/support/providers/examples.rb +0 -11
@@ -26,7 +26,7 @@ module Sorcery
26
26
  end
27
27
 
28
28
  def self.name
29
- super.gsub(/Sorcery::Providers::/, '').downcase
29
+ super.gsub('Sorcery::Providers::', '').downcase
30
30
  end
31
31
 
32
32
  # Ensure that all descendant classes are loaded before run this
@@ -48,9 +48,9 @@ module Sorcery
48
48
  # Fix: replace default oauth2 options, specially to prevent the Faraday gem which
49
49
  # concatenates with "/", removing the Facebook api version
50
50
  options = {
51
- site: File.join(@site, api_version.to_s),
51
+ site: File.join(@site, api_version.to_s),
52
52
  authorize_url: File.join(@auth_site, api_version.to_s, auth_path),
53
- token_url: token_url
53
+ token_url: token_url
54
54
  }
55
55
 
56
56
  @scope = access_permissions.present? ? access_permissions.join(',') : scope
@@ -26,7 +26,7 @@ module Sorcery
26
26
 
27
27
  auth_hash(access_token).tap do |h|
28
28
  h[:user_info] = JSON.parse(response.body).tap do |uih|
29
- uih['email'] = primary_email(access_token) if scope =~ /user/
29
+ uih['email'] = primary_email(access_token) if scope&.include?('user')
30
30
  end
31
31
  h[:uid] = h[:user_info]['id']
32
32
  end
@@ -48,10 +48,10 @@ module Sorcery
48
48
  end
49
49
 
50
50
  def primary_email(access_token)
51
- response = access_token.get(user_info_path + '/emails')
51
+ response = access_token.get("#{user_info_path}/emails")
52
52
  emails = JSON.parse(response.body)
53
53
  primary = emails.find { |i| i['primary'] }
54
- primary && primary['email'] || emails.first && emails.first['email']
54
+ (primary && primary['email']) || (emails.first && emails.first['email'])
55
55
  end
56
56
  end
57
57
  end
@@ -8,8 +8,7 @@ module Sorcery
8
8
  # config.heroku.scope = "read"
9
9
  # config.heroku.user_info_mapping = {:email => "email", :name => "email" }
10
10
 
11
- # NOTE:
12
- # The full path must be set for OAuth Callback URL when configuring the API Client Information on Heroku.
11
+ # NOTE: The full path must be set for OAuth Callback URL when configuring the API Client Information on Heroku.
13
12
 
14
13
  class Heroku < Base
15
14
  include Protocols::Oauth2
@@ -13,6 +13,7 @@ module Sorcery
13
13
  :user_info_path, :site, :signature_method, :private_key_file, :callback_url
14
14
 
15
15
  def initialize
16
+ super
16
17
  @configuration = {
17
18
  authorize_path: '/authorize',
18
19
  request_token_path: '/request-token',
@@ -59,8 +60,8 @@ module Sorcery
59
60
  # tries to login the user from access token
60
61
  def process_callback(params, session)
61
62
  args = {
62
- oauth_verifier: params[:oauth_verifier],
63
- request_token: session[:request_token],
63
+ oauth_verifier: params[:oauth_verifier],
64
+ request_token: session[:request_token],
64
65
  request_token_secret: session[:request_token_secret]
65
66
  }
66
67
 
@@ -38,11 +38,9 @@ module Sorcery
38
38
 
39
39
  # overrides oauth2#authorize_url to add bot_prompt query.
40
40
  def authorize_url(options = {})
41
- options.merge!({
42
- connection_opts: { params: { bot_prompt: bot_prompt } }
43
- }) if bot_prompt.present?
41
+ options[:connection_opts] = { params: { bot_prompt: bot_prompt } } if bot_prompt.present?
44
42
 
45
- super(options)
43
+ super
46
44
  end
47
45
 
48
46
  # tries to login the user from access token
@@ -28,7 +28,7 @@ module Sorcery
28
28
  response_type: 'code'
29
29
  }
30
30
  options.merge!(oauth_params)
31
- super(options)
31
+ super
32
32
  end
33
33
 
34
34
  def get_user_hash(access_token)
@@ -44,8 +44,8 @@ module Sorcery
44
44
  # tries to login the user from access token
45
45
  def process_callback(params, session)
46
46
  args = {
47
- oauth_verifier: params[:oauth_verifier],
48
- request_token: session[:request_token],
47
+ oauth_verifier: params[:oauth_verifier],
48
+ request_token: session[:request_token],
49
49
  request_token_secret: session[:request_token_secret]
50
50
  }
51
51
 
@@ -26,10 +26,10 @@ module Sorcery
26
26
 
27
27
  params = {
28
28
  access_token: access_token.token,
29
- uids: access_token.params['user_id'],
30
- fields: user_info_mapping.values.join(','),
31
- scope: scope,
32
- v: api_version.to_s
29
+ uids: access_token.params['user_id'],
30
+ fields: user_info_mapping.values.join(','),
31
+ scope: scope,
32
+ v: api_version.to_s
33
33
  }
34
34
 
35
35
  response = access_token.get(user_info_url, params: params)
@@ -13,6 +13,7 @@ module Sorcery
13
13
  :user_info_path
14
14
 
15
15
  def initialize
16
+ super
16
17
  @configuration = {
17
18
  site: 'https://api.xing.com/v1',
18
19
  authorize_path: '/authorize',
@@ -48,8 +49,8 @@ module Sorcery
48
49
  # tries to login the user from access token
49
50
  def process_callback(params, session)
50
51
  args = {
51
- oauth_verifier: params[:oauth_verifier],
52
- request_token: session[:request_token],
52
+ oauth_verifier: params[:oauth_verifier],
53
+ request_token: session[:request_token],
53
54
  request_token_secret: session[:request_token_secret]
54
55
  }
55
56
 
@@ -19,20 +19,16 @@ module Sorcery
19
19
 
20
20
  # remove all plugin before_actions so they won't fail other tests.
21
21
  # I don't like this way, but I didn't find another.
22
- # hopefully it won't break until Rails 4.
23
- chain = if Gem::Version.new(::Rails::VERSION::STRING) >= Gem::Version.new('4.1.0')
24
- SorceryController._process_action_callbacks.send :chain
25
- else
26
- SorceryController._process_action_callbacks
27
- end
28
-
22
+ callbacks = SorceryController._process_action_callbacks
23
+ chain = callbacks.send :chain
29
24
  chain.delete_if { |c| SUBMODULES_AUTO_ADDED_CONTROLLER_FILTERS.include?(c.filter) }
25
+ callbacks.instance_variable_set(:@all_callbacks, nil)
26
+ callbacks.instance_variable_set(:@single_callbacks, {})
30
27
 
31
28
  # configure
32
29
  ::Sorcery::Controller::Config.submodules = submodules
33
- ::Sorcery::Controller::Config.user_class = nil
34
- ActionController::Base.send(:include, ::Sorcery::Controller)
35
30
  ::Sorcery::Controller::Config.user_class = 'User'
31
+ ActionController::Base.include(::Sorcery::Controller)
36
32
 
37
33
  ::Sorcery::Controller::Config.user_config do |user|
38
34
  options.each do |property, value|
@@ -40,11 +36,6 @@ module Sorcery
40
36
  end
41
37
  end
42
38
  User.authenticates_with_sorcery!
43
- return unless defined?(DataMapper) && User.ancestors.include?(DataMapper::Resource)
44
-
45
- DataMapper.auto_migrate!
46
- User.finalize
47
- Authentication.finalize
48
39
  end
49
40
 
50
41
  def sorcery_controller_property_set(property, value)
@@ -62,14 +53,6 @@ module Sorcery
62
53
  def clear_user_without_logout
63
54
  subject.instance_variable_set(:@current_user, nil)
64
55
  end
65
-
66
- if ::Rails.version < '5.0.0'
67
- %w[get post put].each do |method|
68
- define_method(method) do |action, options = {}|
69
- super action, options[:params] || {}, options[:session]
70
- end
71
- end
72
- end
73
56
  end
74
57
  end
75
58
  end
@@ -17,14 +17,14 @@ module Sorcery
17
17
  # a patch to fix a bug in testing that happens when you 'destroy' a session twice.
18
18
  # After the first destroy, the session is an ordinary hash, and then when destroy
19
19
  # is called again there's an exception.
20
- class ::Hash # rubocop:disable Style/ClassAndModuleChildren
20
+ class ::Hash
21
21
  def destroy
22
22
  clear
23
23
  end
24
24
  end
25
25
 
26
26
  def build_new_user(attributes_hash = nil)
27
- user_attributes_hash = attributes_hash || { username: 'gizmo', email: 'bla@bla.com', password: 'secret' }
27
+ user_attributes_hash = attributes_hash || { username: 'gizmo', email: 'bla@example.com', password: 'secret' }
28
28
  @user = User.new(user_attributes_hash)
29
29
  end
30
30
 
@@ -58,8 +58,8 @@ module Sorcery
58
58
  end
59
59
  end
60
60
 
61
- def update_model(&block)
62
- User.class_exec(&block)
61
+ def update_model(&)
62
+ User.class_exec(&)
63
63
  end
64
64
 
65
65
  private
@@ -70,8 +70,6 @@ module Sorcery
70
70
  User && Object.send(:remove_const, 'User')
71
71
  load 'user.rb'
72
72
 
73
- return unless User.respond_to?(:reset_column_information)
74
-
75
73
  User.reset_column_information
76
74
  end
77
75
  end
@@ -10,7 +10,7 @@ module Sorcery
10
10
 
11
11
  username_attr = user.sorcery_config.username_attribute_names.first
12
12
  username = user.send(username_attr)
13
- page.driver.send(http_method, route, :"#{username_attr}" => username, :password => 'secret')
13
+ page.driver.send(http_method, route, "#{username_attr}": username, password: 'secret')
14
14
  end
15
15
 
16
16
  # Accepts route and HTTP method arguments
@@ -4,7 +4,7 @@ module Sorcery
4
4
  module Request
5
5
  # Accepts arguments for user to login, the password, route to use and HTTP method
6
6
  # Defaults - @user, 'secret', 'user_sessions_url' and http_method: POST
7
- def login_user(user = nil, password = 'secret', route = nil, http_method = :post)
7
+ def login_user(user = nil, password = 'secret', route = nil, http_method = :post) # rubocop:disable Metrics/ParameterLists
8
8
  user ||= @user
9
9
  route ||= user_sessions_url
10
10
 
@@ -1,3 +1,3 @@
1
1
  module Sorcery
2
- VERSION = '0.17.0'.freeze
2
+ VERSION = '0.18.0'.freeze
3
3
  end
data/lib/sorcery.rb CHANGED
@@ -1,6 +1,11 @@
1
1
  require 'sorcery/version'
2
+ require 'sorcery/errors'
2
3
 
3
4
  module Sorcery
5
+ def self.deprecator
6
+ @deprecator ||= ActiveSupport::Deprecation.new(nil, 'Sorcery')
7
+ end
8
+
4
9
  require 'sorcery/model'
5
10
 
6
11
  module Adapters
@@ -82,7 +87,7 @@ module Sorcery
82
87
 
83
88
  if defined?(Mongoid::Document)
84
89
  require 'sorcery/adapters/mongoid_adapter'
85
- Mongoid::Document::ClassMethods.send :include, Sorcery::Model
90
+ Mongoid::Document::ClassMethods.include Sorcery::Model
86
91
 
87
92
  Mongoid::Document.send :define_method, :sorcery_adapter do
88
93
  @sorcery_adapter ||= Sorcery::Adapters::MongoidAdapter.new(self)
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.17.0
4
+ version: 0.18.0
5
5
  platform: ruby
6
6
  authors:
7
7
  - Noam Ben Ari
@@ -9,10 +9,9 @@ authors:
9
9
  - Grzegorz Witek
10
10
  - Chase Gilliam
11
11
  - Josh Buker
12
- autorequire:
13
12
  bindir: bin
14
13
  cert_chain: []
15
- date: 2024-03-08 00:00:00.000000000 Z
14
+ date: 1980-01-02 00:00:00.000000000 Z
16
15
  dependencies:
17
16
  - !ruby/object:Gem::Dependency
18
17
  name: bcrypt
@@ -57,75 +56,47 @@ dependencies:
57
56
  - !ruby/object:Gem::Version
58
57
  version: '2.0'
59
58
  - !ruby/object:Gem::Dependency
60
- name: byebug
61
- requirement: !ruby/object:Gem::Requirement
62
- requirements:
63
- - - "~>"
64
- - !ruby/object:Gem::Version
65
- version: 10.0.0
66
- type: :development
67
- prerelease: false
68
- version_requirements: !ruby/object:Gem::Requirement
69
- requirements:
70
- - - "~>"
71
- - !ruby/object:Gem::Version
72
- version: 10.0.0
73
- - !ruby/object:Gem::Dependency
74
- name: rspec-rails
59
+ name: railties
75
60
  requirement: !ruby/object:Gem::Requirement
76
61
  requirements:
77
62
  - - ">="
78
63
  - !ruby/object:Gem::Version
79
- version: '0'
80
- type: :development
64
+ version: '7.1'
65
+ type: :runtime
81
66
  prerelease: false
82
67
  version_requirements: !ruby/object:Gem::Requirement
83
68
  requirements:
84
69
  - - ">="
85
70
  - !ruby/object:Gem::Version
86
- version: '0'
71
+ version: '7.1'
87
72
  - !ruby/object:Gem::Dependency
88
- name: rubocop
73
+ name: byebug
89
74
  requirement: !ruby/object:Gem::Requirement
90
75
  requirements:
91
- - - ">="
76
+ - - "~>"
92
77
  - !ruby/object:Gem::Version
93
- version: '0'
78
+ version: 11.1.3
94
79
  type: :development
95
80
  prerelease: false
96
81
  version_requirements: !ruby/object:Gem::Requirement
97
82
  requirements:
98
- - - ">="
83
+ - - "~>"
99
84
  - !ruby/object:Gem::Version
100
- version: '0'
85
+ version: 11.1.3
101
86
  - !ruby/object:Gem::Dependency
102
- name: simplecov
87
+ name: rspec-rails
103
88
  requirement: !ruby/object:Gem::Requirement
104
89
  requirements:
105
90
  - - ">="
106
91
  - !ruby/object:Gem::Version
107
- version: 0.3.8
92
+ version: '0'
108
93
  type: :development
109
94
  prerelease: false
110
95
  version_requirements: !ruby/object:Gem::Requirement
111
96
  requirements:
112
97
  - - ">="
113
98
  - !ruby/object:Gem::Version
114
- version: 0.3.8
115
- - !ruby/object:Gem::Dependency
116
- name: test-unit
117
- requirement: !ruby/object:Gem::Requirement
118
- requirements:
119
- - - "~>"
120
- - !ruby/object:Gem::Version
121
- version: 3.2.0
122
- type: :development
123
- prerelease: false
124
- version_requirements: !ruby/object:Gem::Requirement
125
- requirements:
126
- - - "~>"
127
- - !ruby/object:Gem::Version
128
- version: 3.2.0
99
+ version: '0'
129
100
  - !ruby/object:Gem::Dependency
130
101
  name: timecop
131
102
  requirement: !ruby/object:Gem::Requirement
@@ -182,29 +153,9 @@ executables: []
182
153
  extensions: []
183
154
  extra_rdoc_files: []
184
155
  files:
185
- - ".devcontainer/Dockerfile"
186
- - ".devcontainer/devcontainer.json"
187
- - ".devcontainer/postcreate.sh"
188
- - ".document"
189
- - ".github/FUNDING.yml"
190
- - ".github/ISSUE_TEMPLATE.md"
191
- - ".github/PULL_REQUEST_TEMPLATE.md"
192
- - ".github/workflows/ruby.yml"
193
- - ".gitignore"
194
- - ".rspec"
195
- - ".rubocop.yml"
196
- - ".rubocop_todo.yml"
197
156
  - CHANGELOG.md
198
- - CODE_OF_CONDUCT.md
199
- - Gemfile
200
157
  - LICENSE.md
201
- - MAINTAINING.md
202
158
  - README.md
203
- - Rakefile
204
- - SECURITY.md
205
- - gemfiles/rails_61.gemfile
206
- - gemfiles/rails_70.gemfile
207
- - gemfiles/rails_71.gemfile
208
159
  - lib/generators/sorcery/USAGE
209
160
  - lib/generators/sorcery/helpers.rb
210
161
  - lib/generators/sorcery/install_generator.rb
@@ -237,6 +188,7 @@ files:
237
188
  - lib/sorcery/crypto_providers/sha256.rb
238
189
  - lib/sorcery/crypto_providers/sha512.rb
239
190
  - lib/sorcery/engine.rb
191
+ - lib/sorcery/errors.rb
240
192
  - lib/sorcery/model.rb
241
193
  - lib/sorcery/model/config.rb
242
194
  - lib/sorcery/model/submodules/activity_logging.rb
@@ -277,93 +229,13 @@ files:
277
229
  - lib/sorcery/test_helpers/rails/integration.rb
278
230
  - lib/sorcery/test_helpers/rails/request.rb
279
231
  - lib/sorcery/version.rb
280
- - sorcery.gemspec
281
- - spec/active_record/user_activation_spec.rb
282
- - spec/active_record/user_activity_logging_spec.rb
283
- - spec/active_record/user_brute_force_protection_spec.rb
284
- - spec/active_record/user_magic_login_spec.rb
285
- - spec/active_record/user_oauth_spec.rb
286
- - spec/active_record/user_remember_me_spec.rb
287
- - spec/active_record/user_reset_password_spec.rb
288
- - spec/active_record/user_spec.rb
289
- - spec/controllers/controller_activity_logging_spec.rb
290
- - spec/controllers/controller_brute_force_protection_spec.rb
291
- - spec/controllers/controller_http_basic_auth_spec.rb
292
- - spec/controllers/controller_oauth2_spec.rb
293
- - spec/controllers/controller_oauth_spec.rb
294
- - spec/controllers/controller_remember_me_spec.rb
295
- - spec/controllers/controller_session_timeout_spec.rb
296
- - spec/controllers/controller_spec.rb
297
- - spec/orm/active_record.rb
298
- - spec/providers/example_provider_spec.rb
299
- - spec/providers/example_spec.rb
300
- - spec/providers/examples_spec.rb
301
- - spec/providers/vk_spec.rb
302
- - spec/rails_app/app/active_record/authentication.rb
303
- - spec/rails_app/app/active_record/user.rb
304
- - spec/rails_app/app/active_record/user_provider.rb
305
- - spec/rails_app/app/assets/config/manifest.js
306
- - spec/rails_app/app/controllers/application_controller.rb
307
- - spec/rails_app/app/controllers/sorcery_controller.rb
308
- - spec/rails_app/app/helpers/application_helper.rb
309
- - spec/rails_app/app/mailers/sorcery_mailer.rb
310
- - spec/rails_app/app/views/application/index.html.erb
311
- - spec/rails_app/app/views/layouts/application.html.erb
312
- - spec/rails_app/app/views/sorcery_mailer/activation_email.html.erb
313
- - spec/rails_app/app/views/sorcery_mailer/activation_email.text.erb
314
- - spec/rails_app/app/views/sorcery_mailer/activation_needed_email.html.erb
315
- - spec/rails_app/app/views/sorcery_mailer/activation_success_email.html.erb
316
- - spec/rails_app/app/views/sorcery_mailer/activation_success_email.text.erb
317
- - spec/rails_app/app/views/sorcery_mailer/magic_login_email.html.erb
318
- - spec/rails_app/app/views/sorcery_mailer/magic_login_email.text.erb
319
- - spec/rails_app/app/views/sorcery_mailer/reset_password_email.html.erb
320
- - spec/rails_app/app/views/sorcery_mailer/reset_password_email.text.erb
321
- - spec/rails_app/app/views/sorcery_mailer/send_unlock_token_email.text.erb
322
- - spec/rails_app/config.ru
323
- - spec/rails_app/config/application.rb
324
- - spec/rails_app/config/boot.rb
325
- - spec/rails_app/config/database.yml
326
- - spec/rails_app/config/environment.rb
327
- - spec/rails_app/config/environments/test.rb
328
- - spec/rails_app/config/initializers/backtrace_silencers.rb
329
- - spec/rails_app/config/initializers/compatible_legacy_migration.rb
330
- - spec/rails_app/config/initializers/inflections.rb
331
- - spec/rails_app/config/initializers/mime_types.rb
332
- - spec/rails_app/config/initializers/session_store.rb
333
- - spec/rails_app/config/locales/en.yml
334
- - spec/rails_app/config/routes.rb
335
- - spec/rails_app/config/secrets.yml
336
- - spec/rails_app/db/migrate/activation/20101224223622_add_activation_to_users.rb
337
- - spec/rails_app/db/migrate/activity_logging/20101224223624_add_activity_logging_to_users.rb
338
- - spec/rails_app/db/migrate/brute_force_protection/20101224223626_add_brute_force_protection_to_users.rb
339
- - spec/rails_app/db/migrate/core/20101224223620_create_users.rb
340
- - spec/rails_app/db/migrate/external/20101224223628_create_authentications_and_user_providers.rb
341
- - spec/rails_app/db/migrate/invalidate_active_sessions/20180221093235_add_invalidate_active_sessions_before_to_users.rb
342
- - spec/rails_app/db/migrate/magic_login/20170924151831_add_magic_login_to_users.rb
343
- - spec/rails_app/db/migrate/remember_me/20101224223623_add_remember_me_token_to_users.rb
344
- - spec/rails_app/db/migrate/reset_password/20101224223622_add_reset_password_to_users.rb
345
- - spec/rails_app/db/schema.rb
346
- - spec/rails_app/db/seeds.rb
347
- - spec/shared_examples/user_activation_shared_examples.rb
348
- - spec/shared_examples/user_activity_logging_shared_examples.rb
349
- - spec/shared_examples/user_brute_force_protection_shared_examples.rb
350
- - spec/shared_examples/user_magic_login_shared_examples.rb
351
- - spec/shared_examples/user_oauth_shared_examples.rb
352
- - spec/shared_examples/user_remember_me_shared_examples.rb
353
- - spec/shared_examples/user_reset_password_shared_examples.rb
354
- - spec/shared_examples/user_shared_examples.rb
355
- - spec/sorcery_crypto_providers_spec.rb
356
- - spec/sorcery_temporary_token_spec.rb
357
- - spec/spec.opts
358
- - spec/spec_helper.rb
359
- - spec/support/migration_helper.rb
360
- - spec/support/providers/example.rb
361
- - spec/support/providers/example_provider.rb
362
- - spec/support/providers/examples.rb
363
232
  homepage: https://github.com/Sorcery/sorcery
364
233
  licenses:
365
234
  - MIT
366
- metadata: {}
235
+ metadata:
236
+ bug_tracker_uri: https://github.com/Sorcery/sorcery/issues
237
+ changelog_uri: https://github.com/Sorcery/sorcery/releases
238
+ rubygems_mfa_required: 'true'
367
239
  post_install_message: |-
368
240
  As of version 1.0 oauth/oauth2 won't be automatically bundled so you may need to add those dependencies to your Gemfile.
369
241
  You may need oauth2 if you use external providers such as any of these: https://github.com/Sorcery/sorcery/tree/master/lib/sorcery/providers
@@ -374,15 +246,14 @@ required_ruby_version: !ruby/object:Gem::Requirement
374
246
  requirements:
375
247
  - - ">="
376
248
  - !ruby/object:Gem::Version
377
- version: 2.4.9
249
+ version: 3.2.0
378
250
  required_rubygems_version: !ruby/object:Gem::Requirement
379
251
  requirements:
380
252
  - - ">="
381
253
  - !ruby/object:Gem::Version
382
254
  version: '0'
383
255
  requirements: []
384
- rubygems_version: 3.3.5
385
- signing_key:
256
+ rubygems_version: 3.6.9
386
257
  specification_version: 4
387
258
  summary: Magical authentication for Rails applications
388
259
  test_files: []
@@ -1,10 +0,0 @@
1
- # Which Ruby version to use. You may need to use a more restrictive version,
2
- # e.g. `3.0`
3
- ARG VARIANT=3.0
4
-
5
- # Pull Microsoft's ruby devcontainer base image
6
- FROM mcr.microsoft.com/devcontainers/ruby:${VARIANT}
7
-
8
- # Ensure we're running the latest bundler, as what ships with the Ruby image may
9
- # not be current, and bundler will auto-downgrade to match the Gemfile.lock
10
- RUN gem install bundler
@@ -1,29 +0,0 @@
1
- {
2
- "name": "Ruby",
3
- "build": {
4
- "dockerfile": "Dockerfile"
5
- },
6
-
7
- // Configure tool-specific properties.
8
- "customizations": {
9
- // Configure properties specific to VS Code.
10
- "vscode": {
11
- // Add the IDs of extensions you want installed when the container is created.
12
- "extensions": [
13
- "rebornix.Ruby"
14
- ]
15
- }
16
- },
17
-
18
- // Set the environment variables
19
- // "runArgs": ["--env-file",".env"],
20
-
21
- // Use 'forwardPorts' to make a list of ports inside the container available locally.
22
- // "forwardPorts": [],
23
-
24
- // Use 'postCreateCommand' to run commands after the container is created.
25
- "postCreateCommand": "bash .devcontainer/postcreate.sh",
26
-
27
- // Set `remoteUser` to `root` to connect as root instead. More info: https://aka.ms/vscode-remote/containers/non-root.
28
- "remoteUser": "vscode"
29
- }
@@ -1,4 +0,0 @@
1
- #!/bin/bash
2
-
3
- bundle config set path vendor/bundle
4
- bundle install --jobs=1
data/.document DELETED
@@ -1,5 +0,0 @@
1
- lib/**/*.rb
2
- bin/*
3
- -
4
- features/**/*.feature
5
- LICENSE.txt
data/.github/FUNDING.yml DELETED
@@ -1 +0,0 @@
1
- github: joshbuker
@@ -1,24 +0,0 @@
1
- <!-- Please complete all sections. -->
2
-
3
- ### Configuration
4
-
5
- - Sorcery Version: ``
6
- - Ruby Version: ``
7
- - Framework: ``
8
- - Platform: ``
9
-
10
- ### Expected Behavior
11
-
12
- <!-- Tell us what should happen. -->
13
-
14
- ### Actual Behavior
15
-
16
- <!-- Tell us what happens instead. -->
17
-
18
- ### Steps to Reproduce
19
-
20
- <!-- Please list all steps to reproduce the issue. -->
21
-
22
- 1.
23
- 2.
24
- 3.
@@ -1,7 +0,0 @@
1
- Please ensure your pull request includes the following:
2
-
3
- - [ ] Description of changes
4
- - [ ] Update to CHANGELOG.md with short description and link to pull request
5
- - [ ] Changes have related RSpec tests that ensure functionality does not break
6
-
7
- <!-- For the changelog, please add your entry to the HEAD section. Do not create a new release header. -->