diff --git a/app/common/controller/SystemController.php b/app/common/controller/SystemController.php index 1c341e9..a845fad 100644 --- a/app/common/controller/SystemController.php +++ b/app/common/controller/SystemController.php @@ -117,12 +117,24 @@ class SystemController */ private function buildJwtPayload(User $user, ?Systems $system): array { + $now = time(); + $exp = $now + config('jwt.jwt_expiration'); + $system_ids = $user->systems ? $user->systems->pluck('id')->toArray() : []; + $role_ids = $user->roles ? $user->roles->pluck('id')->toArray() : []; $payload = [ - 'user_id' => $user->id, - 'sn' => $user->sn ?? '', - 'name' => $user->name ?? '', - 'iat' => time(), - 'exp' => time() + config('jwt.jwt_expiration'), + 'sub' => 'user_' . $user->id, + 'aud' => $system->code, + 'iat' => $now, + 'exp' => $exp, + 'nbf' => $now, + 'typ' => 'access', + 'uid' => $user->id, + 'uname' => $user->name, + 'role_ids' => $role_ids, + 'system_ids' => $system_ids, +// 'user_id' => $user->id, +// 'sn' => $user->sn ?? '', +// 'name' => $user->name ?? '', ]; if ($system) {