Skip to content

Commit f4fe1f6

Browse files
committed
JWT session cookie not gets set for path='/' by default, also jwt_session_destroy() will immediatly remove cookie
1 parent 9023e08 commit f4fe1f6

File tree

1 file changed

+5
-4
lines changed

1 file changed

+5
-4
lines changed

scripts/jwt-session.php

Lines changed: 5 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -277,9 +277,10 @@ function jwt_session_store($jsonObj=null, $cookieName="jwt", $cookieExpire=0, $c
277277
if(is_null($jsonObj)) $jsonObj = $_SESSION;
278278
$jwt = jwt_encode($jsonObj);
279279
if(!$jwt) return;
280-
$cookieOptions['expires'] = $cookieExpire;
281-
$cookieOptions['secure'] = is_null($cookieSecure) ? $_ENV['JWT_HTTPS_ONLY'] : $cookieSecure;
282-
$cookieOptions['httponly'] = $cookieHttpOnly;
280+
if(!isset($cookieOptions['expires'])) $cookieOptions['expires'] = $cookieExpire;
281+
if(!isset($cookieOptions['secure'])) $cookieOptions['secure'] = is_null($cookieSecure) ? $_ENV['JWT_HTTPS_ONLY'] : $cookieSecure;
282+
if(!isset($cookieOptions['httponly'])) $cookieOptions['httponly'] = $cookieHttpOnly;
283+
if(!isset($cookieOptions['path']))$cookieOptions['path'] = "/";
283284
setcookie($cookieName, $jwt, $cookieOptions);
284285
}
285286

@@ -289,6 +290,6 @@ function jwt_session_store($jsonObj=null, $cookieName="jwt", $cookieExpire=0, $c
289290
*/
290291
function jwt_session_destroy($cookieName="jwt"){
291292
unset($_COOKIE[$cookieName]);
292-
setcookie($cookieName, null, -1, '/');
293+
setcookie($cookieName, "", time()-3600, '/');
293294
}
294295
?>

0 commit comments

Comments
 (0)