@@ -220,7 +220,7 @@ def reactpy_warnings(app_configs, **kwargs):
220
220
)
221
221
)
222
222
223
- # Check if REACTPY_CLEAN_SESSION is not a valid property
223
+ # Check if user misspelled REACTPY_CLEAN_SESSIONS
224
224
if getattr (settings , "REACTPY_CLEAN_SESSION" , None ):
225
225
warnings .append (
226
226
Warning (
@@ -230,6 +230,27 @@ def reactpy_warnings(app_configs, **kwargs):
230
230
)
231
231
)
232
232
233
+ # Check if REACTPY_AUTH_TOKEN_TIMEOUT is a large value
234
+ auth_token_timeout = config .REACTPY_AUTH_TOKEN_TIMEOUT
235
+ if isinstance (auth_token_timeout , int ) and auth_token_timeout > 120 :
236
+ warnings .append (
237
+ Warning (
238
+ "REACTPY_AUTH_TOKEN_TIMEOUT is set to a very large value." ,
239
+ hint = "It is suggested to keep REACTPY_AUTH_TOKEN_TIMEOUT under 120 seconds to prevent security risks." ,
240
+ id = "reactpy_django.W020" ,
241
+ )
242
+ )
243
+
244
+ # Check if REACTPY_AUTH_TOKEN_TIMEOUT is a small value
245
+ if isinstance (auth_token_timeout , int ) and auth_token_timeout <= 2 :
246
+ warnings .append (
247
+ Warning (
248
+ "REACTPY_AUTH_TOKEN_TIMEOUT is set to a very low value." ,
249
+ hint = "It is suggested to keep REACTPY_AUTH_TOKEN_TIMEOUT above 2 seconds to account for client and server latency." ,
250
+ id = "reactpy_django.W021" ,
251
+ )
252
+ )
253
+
233
254
return warnings
234
255
235
256
@@ -513,4 +534,34 @@ def reactpy_errors(app_configs, **kwargs):
513
534
)
514
535
)
515
536
537
+ # Check if REACTPY_CLEAN_AUTH_TOKENS is a valid data type
538
+ if not isinstance (config .REACTPY_CLEAN_AUTH_TOKENS , bool ):
539
+ errors .append (
540
+ Error (
541
+ "Invalid type for REACTPY_CLEAN_AUTH_TOKENS." ,
542
+ hint = "REACTPY_CLEAN_AUTH_TOKENS should be a boolean." ,
543
+ id = "reactpy_django.E027" ,
544
+ )
545
+ )
546
+
547
+ # Check if REACTPY_AUTH_TOKEN_TIMEOUT is a valid data type
548
+ if not isinstance (config .REACTPY_AUTH_TOKEN_TIMEOUT , int ):
549
+ errors .append (
550
+ Error (
551
+ "Invalid type for REACTPY_AUTH_TOKEN_TIMEOUT." ,
552
+ hint = "REACTPY_AUTH_TOKEN_TIMEOUT should be an integer." ,
553
+ id = "reactpy_django.E028" ,
554
+ )
555
+ )
556
+
557
+ # Check if REACTPY_AUTH_TOKEN_TIMEOUT is a positive integer
558
+ if isinstance (config .REACTPY_AUTH_TOKEN_TIMEOUT , int ) and config .REACTPY_AUTH_TOKEN_TIMEOUT < 0 :
559
+ errors .append (
560
+ Error (
561
+ "Invalid value for REACTPY_AUTH_TOKEN_TIMEOUT." ,
562
+ hint = "REACTPY_AUTH_TOKEN_TIMEOUT should be a non-negative integer." ,
563
+ id = "reactpy_django.E029" ,
564
+ )
565
+ )
566
+
516
567
return errors
0 commit comments