From 0a09a2a624d2c6e5d2f82410fc7aafc0d2ea4651 Mon Sep 17 00:00:00 2001 From: B_W_B Date: Thu, 24 Feb 2022 16:40:20 +0100 Subject: [PATCH] Stops overwriting roles with empty array When the user already exists and has roles, they are now not overwritten with empty arrays. --- src/JwtAuthRoles.php | 10 ++++------ 1 file changed, 4 insertions(+), 6 deletions(-) diff --git a/src/JwtAuthRoles.php b/src/JwtAuthRoles.php index c07d1df..2567230 100644 --- a/src/JwtAuthRoles.php +++ b/src/JwtAuthRoles.php @@ -153,8 +153,8 @@ public static function authUser(object $request) $user[config('jwtauthroles.userId')] = $claims->sub; if (config('jwtauthroles.storeRoles')){ $user->roles = json_encode($claims->roles); - } else { - $user->roles = json_encode(array()); + } elseif (!$user->exists) { + $user->roles = json_encode([]); } $user->claims = json_encode($claims); $user->save(); @@ -162,8 +162,6 @@ public static function authUser(object $request) $user = JwtUser::where(config('jwtauthroles.userId'), '=', $claims->sub)->firstOrFail(); if (config('jwtauthroles.storeRoles')){ $user->roles = json_encode($claims->roles); - } else { - $user->roles = json_encode(array()); } $user->claims = json_encode($claims); $user->save(); @@ -171,10 +169,10 @@ public static function authUser(object $request) } else { $user = new JwtUser; $user->uuid = $claims->sub; - if (config('jwtauthroles.storeRoles')){ + if (config('jwtauthroles.storeRoles') && isset($claims->roles)){ $user->roles = $claims->roles; } else { - $user->roles = json_encode(array()); + $user->roles = json_encode([]); } $user->claims = $claims; }