first()??[]; $decode = JWT::decode($token, $settings['jwt_private_key']??'', ['HS256']); $userModel = new UserModel(); return $userModel->where('email', $decode->email)->first(); } } /** * Signs a new token. * @access public * @param string $email * @return string */ if(!function_exists('jwtSignature')) { function jwtSignature(string $email) { $settingsBase = new SettingsModel(); $settings = $settingsBase->first()??[]; $time = time(); $expiration = $time + (intval($settings['jwt_token_lifetime']??0) * 60); $payload = [ 'email' => $email, 'iat' => $time, 'exp' => $expiration, ]; return JWT::encode($payload, $settings['jwt_private_key']??''); } }