better_record 0.19.4 → 0.19.6
Sign up to get free protection for your applications and to get access to all the features.
checksums.yaml
CHANGED
@@ -1,7 +1,7 @@
|
|
1
1
|
---
|
2
2
|
SHA256:
|
3
|
-
metadata.gz:
|
4
|
-
data.tar.gz:
|
3
|
+
metadata.gz: 26cad53cfde14b9a15655f5b2c641477041184411718a347eb8bb212a2d6a4c0
|
4
|
+
data.tar.gz: 4c3edf06a7d9b0203d270bebdb7ae174a225cf512f426055b1edf49d8a132792
|
5
5
|
SHA512:
|
6
|
-
metadata.gz:
|
7
|
-
data.tar.gz:
|
6
|
+
metadata.gz: eb090203431b0bdfb99ca5ed000a04439688556b44352452e50fa125b8b1c18a4c262428cb88f79f72d9686bd80883c5d048fbb7aadf1e85741dc3db9adb10a6
|
7
|
+
data.tar.gz: faa6084402e2064fe7b8ae3e53657184e194653751a1aa21df5adc7b07840dfb66ed2147d7fed6cc01bc2f033e6df8d07d647ce463a2bbc263ed3454f79c79ef
|
data/lib/better_record.rb
CHANGED
@@ -77,10 +77,10 @@ module BetterRecord
|
|
77
77
|
self.certificate_session_user_method = (ENV.fetch('BR_CERTIFICATE_SESSION_USER_METHOD') { :user }).to_sym
|
78
78
|
self.certificate_header = (ENV.fetch('BR_CERTIFICATE_HEADER') { :HTTP_X_SSL_CERT }).to_sym
|
79
79
|
self.certificate_is_hashed = Boolean.strict_parse(ENV.fetch('BR_CERTIFICATE_IS_HASHED') { false })
|
80
|
-
self.certificate_cleaning_method = (ENV.fetch('BR_CERTIFICATE_CLEANING_METHOD') { :clean_certificate })
|
80
|
+
self.certificate_cleaning_method = (ENV.fetch('BR_CERTIFICATE_CLEANING_METHOD') { :clean_certificate })&.to_sym
|
81
81
|
self.certificate_cleaning_send_as_arg = Boolean.strict_parse(ENV.fetch('BR_CERTIFICATE_CLEANING_AS_ARG') { false })
|
82
|
-
self.token_decryption_method = (ENV.fetch('BR_TOKEN_DECRYPTION_METHOD') {
|
83
|
-
self.token_encryption_method = (ENV.fetch('BR_TOKEN_ENCRYPTION_METHOD') {
|
82
|
+
self.token_decryption_method = (ENV.fetch('BR_TOKEN_DECRYPTION_METHOD') { false })&.to_sym
|
83
|
+
self.token_encryption_method = (ENV.fetch('BR_TOKEN_ENCRYPTION_METHOD') { false })&.to_sym
|
84
84
|
self.token_send_as_arg = Boolean.strict_parse(ENV.fetch('BR_TOKEN_AS_ARG') { false })
|
85
85
|
end
|
86
86
|
|
data/lib/better_record/jwt.rb
CHANGED
@@ -129,13 +129,15 @@ module BetterRecord
|
|
129
129
|
end
|
130
130
|
|
131
131
|
def br_get_clean_cert(certificate)
|
132
|
-
|
133
|
-
|
134
|
-
|
135
|
-
|
136
|
-
certificate_cleaning_method
|
137
|
-
|
138
|
-
|
132
|
+
ensure_is_real_value(
|
133
|
+
certificate_cleaning_send_as_arg ?
|
134
|
+
self.__send__(certificate_cleaning_method, certificate) :
|
135
|
+
(
|
136
|
+
certificate_cleaning_method.present? ?
|
137
|
+
certificate.__send__(certificate_cleaning_method) :
|
138
|
+
certificate
|
139
|
+
).presence
|
140
|
+
)
|
139
141
|
end
|
140
142
|
|
141
143
|
def current_user
|
@@ -144,6 +146,8 @@ module BetterRecord
|
|
144
146
|
|
145
147
|
def current_user_session_data
|
146
148
|
logged_in? ? JWT.decode(current_token).deep_symbolize_keys : {}
|
149
|
+
rescue
|
150
|
+
{}
|
147
151
|
end
|
148
152
|
|
149
153
|
def has_correct_origin?
|
@@ -174,7 +178,7 @@ module BetterRecord
|
|
174
178
|
def current_token
|
175
179
|
if use_bearer_token
|
176
180
|
@current_token ||= authenticate_with_http_token do |token, **options|
|
177
|
-
decrypt_token(token, options)
|
181
|
+
decrypt_token(token, options).presence
|
178
182
|
end
|
179
183
|
else
|
180
184
|
@current_token ||= session[:current_user]
|
@@ -204,15 +208,27 @@ module BetterRecord
|
|
204
208
|
end
|
205
209
|
|
206
210
|
def decrypt_token(t, **options)
|
207
|
-
|
208
|
-
|
209
|
-
|
211
|
+
ensure_is_real_value(
|
212
|
+
token_send_as_arg ?
|
213
|
+
__send__(token_decryption_method, t, options) :
|
214
|
+
(
|
215
|
+
token_decryption_method.present? ?
|
216
|
+
t.__send__(token_decryption_method) :
|
217
|
+
t
|
218
|
+
).presence
|
219
|
+
)
|
210
220
|
end
|
211
221
|
|
212
222
|
def encrypt_token
|
213
|
-
|
214
|
-
|
215
|
-
|
223
|
+
ensure_is_real_value(
|
224
|
+
token_send_as_arg ?
|
225
|
+
__send__(token_encryption_method, current_token) :
|
226
|
+
(
|
227
|
+
token_encryption_method.present? ?
|
228
|
+
current_token.__send__(token_encryption_method) :
|
229
|
+
current_token
|
230
|
+
).presence
|
231
|
+
)
|
216
232
|
end
|
217
233
|
|
218
234
|
|
@@ -225,6 +241,12 @@ module BetterRecord
|
|
225
241
|
header_hash[:HTTP_CLIENT_IP] ||
|
226
242
|
request.remote_ip
|
227
243
|
end
|
244
|
+
|
245
|
+
def ensure_is_real_value(value)
|
246
|
+
(Boolean.parse(value) && (value != "nil")) ?
|
247
|
+
value :
|
248
|
+
nil
|
249
|
+
end
|
228
250
|
end
|
229
251
|
end
|
230
252
|
end
|