better_record 0.19.9 → 0.19.10

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.
checksums.yaml CHANGED
@@ -1,7 +1,7 @@
1
1
  ---
2
2
  SHA256:
3
- metadata.gz: a82ab9a0b7251e5453fda13c220f47c25c4387835960931c3a1ce6d4d7f37019
4
- data.tar.gz: c925e59766032c935f284c34edf672b495950552a6ecd6c313e12b770cea7bbe
3
+ metadata.gz: 565899148bf26aa0a6bcc5a859a8ad7bddd663236795d912b86500f1dd23c098
4
+ data.tar.gz: 646c14fb0e1b3223438c6f9544de291ae1112e01b358212bc8ffc1ff25455892
5
5
  SHA512:
6
- metadata.gz: b0c858d1cafd1976ec686a44f1243954776c6437fda8a99f62c19b59e2a85886d78ba73dfbade7a077eae241e68e8fb2a702c452153518d15efee0614c31b1ea
7
- data.tar.gz: 397fcea02ef26a4408b1e0f9bb2e4784992f2987f50dadcb418a4535755444bc52d8b50381d0e8a0f2afdfcc694261b935ccbdc5a1f2a2171c79108a6a4c2813
6
+ metadata.gz: 8bbda81459dbbb205d48c18120fd9322d0bee1ae3add696bad443c37bcfb5f95190605527dd203542ab6a4d4b50f3e416a2b260fdd4e9e230f98ab0d9d1d76bf
7
+ data.tar.gz: e90f178d07d262529cfe54dae781e7bb1de5d22cf7addda16f2ad7619e472cb4cba57e442ccf9341d2701db401718a6ed46d16035bdb308049e2338a02f3fd0c
data/lib/better_record.rb CHANGED
@@ -24,6 +24,7 @@ module BetterRecord
24
24
  :session_column,
25
25
  :session_data,
26
26
  :session_authenticate_method,
27
+ :disallow_sessions,
27
28
  :certificate_session_class,
28
29
  :certificate_session_column,
29
30
  :certificate_session_user_method,
@@ -79,6 +80,7 @@ module BetterRecord
79
80
  self.certificate_is_hashed = Boolean.strict_parse(ENV.fetch('BR_CERTIFICATE_IS_HASHED') { false })
80
81
  self.certificate_cleaning_method = (ENV.fetch('BR_CERTIFICATE_CLEANING_METHOD') { :clean_certificate })&.to_sym
81
82
  self.certificate_cleaning_send_as_arg = Boolean.strict_parse(ENV.fetch('BR_CERTIFICATE_CLEANING_AS_ARG') { false })
83
+ self.disallow_sessions = Boolean.strict_parse(ENV.fetch('BR_DISALLOW_SESSIONS') { false })
82
84
  self.token_decryption_method = (ENV.fetch('BR_TOKEN_DECRYPTION_METHOD') { '' }).presence&.to_sym
83
85
  self.token_encryption_method = (ENV.fetch('BR_TOKEN_ENCRYPTION_METHOD') { '' }).presence&.to_sym
84
86
  self.token_send_as_arg = Boolean.strict_parse(ENV.fetch('BR_TOKEN_AS_ARG') { false })
@@ -73,7 +73,7 @@ module BetterRecord
73
73
  if logged_in?
74
74
  begin
75
75
  data = current_user_session_data
76
- if data[:device_id] == requesting_device_id
76
+ if (data[:token_device_id] == requesting_device_id) || session[:current_user]
77
77
  if !data[:created_at] ||
78
78
  (data[:created_at].to_i > 14.days.ago.to_i)
79
79
  if user = session_class.find_by(session_column => data[:user_id])
@@ -106,7 +106,7 @@ module BetterRecord
106
106
  data = session_data ? session_data.call(user) : {
107
107
  user_id: user.__send__(session_column),
108
108
  created_at: Time.now.to_i,
109
- device_id: requesting_device_id
109
+ token_device_id: requesting_device_id
110
110
  }
111
111
  BetterRecord::JWT.encode(data.merge(additional_headers.except(*data.keys)))
112
112
  end
@@ -184,22 +184,26 @@ module BetterRecord
184
184
  @current_token ||= authenticate_with_http_token do |token, **options|
185
185
  decrypt_token(token, options).presence
186
186
  end
187
- else
188
- @current_token ||= session[:current_user]
189
187
  end
188
+
189
+ @current_token ||= session[:current_user] unless BetterRecord.disallow_sessions
190
190
  end
191
191
 
192
192
  def current_token=(value)
193
193
  @current_token = value
194
+
194
195
  if use_bearer_token
195
196
  set_auth_header
196
- else
197
+ end
198
+
199
+ unless BetterRecord.disallow_sessions
197
200
  if value.blank?
198
201
  session.delete(:current_user)
199
202
  else
200
203
  session[:current_user] = value
201
204
  end
202
205
  end
206
+
203
207
  @current_token
204
208
  end
205
209
 
@@ -1,5 +1,5 @@
1
1
  # frozen_string_literal: true
2
2
 
3
3
  module BetterRecord
4
- VERSION = '0.19.9'
4
+ VERSION = '0.19.10'
5
5
  end
@@ -108,6 +108,8 @@ module BetterRecord
108
108
  # self.token_encryption_method = :to_s
109
109
 
110
110
  # self.token_decryption_method = :to_s
111
+
112
+ # self.disallow_sessions = false
111
113
  # end
112
114
 
113
115
  end
metadata CHANGED
@@ -1,7 +1,7 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: better_record
3
3
  version: !ruby/object:Gem::Version
4
- version: 0.19.9
4
+ version: 0.19.10
5
5
  platform: ruby
6
6
  authors:
7
7
  - Sampson Crowley