@@ -220,7 +220,7 @@ def reactpy_warnings(app_configs, **kwargs):
220220 )
221221 )
222222
223- # Check if REACTPY_CLEAN_SESSION is not a valid property
223+ # Check if user misspelled REACTPY_CLEAN_SESSIONS
224224 if getattr (settings , "REACTPY_CLEAN_SESSION" , None ):
225225 warnings .append (
226226 Warning (
@@ -230,6 +230,27 @@ def reactpy_warnings(app_configs, **kwargs):
230230 )
231231 )
232232
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+
233254 return warnings
234255
235256
@@ -513,4 +534,34 @@ def reactpy_errors(app_configs, **kwargs):
513534 )
514535 )
515536
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+
516567 return errors
0 commit comments