@@ -78,7 +78,7 @@ def decorator(func):
78
78
@functools .wraps (func )
79
79
def wrapper (* a , ** ka ):
80
80
# Get user info from auth request, then from cookie or else nothing
81
- user , password = request .auth or request .get_cookie ("auth" , secret = self .cookie_secret ) or ( None , None )
81
+ user , password = request .auth or json . loads ( request .get_cookie ("auth" , secret = self .cookie_secret ) or "[null, null]" )
82
82
83
83
if int (self .engine .settings ["always_authenticate" ]) != - 1 and (
84
84
required or terrariumUtils .is_true (self .engine .settings ["always_authenticate" ])
@@ -107,7 +107,7 @@ def wrapper(*a, **ka):
107
107
# Update the cookie timeout so that we are staying logged in as long as we are working on the interface
108
108
response .set_cookie (
109
109
"auth" ,
110
- request .get_cookie ("auth" , secret = self .cookie_secret ),
110
+ request .get_cookie ("auth" , secret = self .cookie_secret ) or "[null,null]" ,
111
111
secret = self .cookie_secret ,
112
112
** {"max_age" : 3600 , "path" : "/" },
113
113
)
@@ -147,7 +147,7 @@ def unit_variables():
147
147
148
148
authenticated = False
149
149
try :
150
- cookie_data = request .get_cookie ("auth" , secret = self .cookie_secret )
150
+ cookie_data = json . loads ( request .get_cookie ("auth" , secret = self .cookie_secret ) or "[null, null]" )
151
151
if cookie_data is not None :
152
152
authenticated = self .engine .authenticate (cookie_data [0 ], cookie_data [1 ])
153
153
except Exception as ex :
@@ -359,14 +359,14 @@ def url_for(self, name, **kwargs):
359
359
return url
360
360
361
361
def __login (self ):
362
- response .set_cookie ("auth" , request .auth , secret = self .cookie_secret , ** {"max_age" : 3600 , "path" : "/" })
362
+ response .set_cookie ("auth" , json . dumps ( request .auth ) , secret = self .cookie_secret , ** {"max_age" : 3600 , "path" : "/" })
363
363
if request .is_ajax :
364
364
return {"location" : self .url_for ("home" ), "message" : "User logged in." }
365
365
366
366
redirect (self .url_for ("home" ))
367
367
368
368
def __logout (self ):
369
- response .set_cookie ("auth" , None , secret = self .cookie_secret , ** {"max_age" : 3600 , "path" : "/" })
369
+ response .set_cookie ("auth" , "[null,null]" , secret = self .cookie_secret , ** {"max_age" : 3600 , "path" : "/" })
370
370
if request .is_ajax :
371
371
return {"location" : self .url_for ("home" ), "message" : "User logged out." }
372
372
@@ -453,7 +453,7 @@ def listen_for_messages(messages, socket):
453
453
454
454
# First try (existing) cookie login
455
455
try :
456
- cookie_data = request .get_cookie ("auth" , secret = self .webserver .cookie_secret )
456
+ cookie_data = json . loads ( request .get_cookie ("auth" , secret = self .webserver .cookie_secret ) or "[null, null]" )
457
457
if cookie_data is not None :
458
458
cookie_authenticated = self .webserver .engine .authenticate (cookie_data [0 ], cookie_data [1 ])
459
459
except Exception as ex :
0 commit comments