nuewire/users

Livewire user management for Laravel with optional ACL and authentication activity details.

Maintainers

Package info

github.com/nuewire/users

pkg:composer/nuewire/users

Transparency log

Statistics

Installs: 2

Dependents: 1

Suggesters: 0

Stars: 0

Open Issues: 0

1.3.0 2026-07-29 07:56 UTC

This package is auto-updated.

Last update: 2026-07-29 08:14:26 UTC


README

Livewire user management with avatars and detailed authentication activity.

Install

composer require nuewire/users

Add the trait:

use Illuminate\Notifications\Notifiable;
use Nuewire\Users\Concerns\NuewireUser;

class User extends Authenticatable
{
    use Notifiable;
    use NuewireUser;
}

Prepare the database and first administrator:

php artisan nuewire:users:install --migrate --admin=admin@example.com

The migration adds is_admin, avatar_disk, and avatar_path. Its rollback is intentionally non-destructive.

Component

<livewire:nuewire-users />

With nuewire/platform 2, the page is registered under Settings → User Management → Users at /admin/settings/users.

Access modes

Without nuewire/acl, access uses is_admin.

With nuewire/acl, the same page automatically switches to roles, direct permissions, and effective permissions. The route and component stay the same.

Authentication activity

The detail page includes successful and failed attempts, timestamps, IP, user agent, location values, device fingerprint, device name, trusted state, suspicious activity, sessions, statistics, CSV export, device management, and session revocation. Session actions mark authentication-log records as ended; they do not delete host Laravel sessions.

Authentication logging is powered by rappasoft/laravel-authentication-log.

New-device notifications are enabled by Rappasoft by default. Set NEW_DEVICE_NOTIFICATION=false when they are not needed. Schedule authentication-log:purge to enforce the configured retention period.

Optional location support:

composer require torann/geoip

Avatar storage

When nuewire/filesystem is installed, avatars use the active nuewire disk. Otherwise they use public. The original disk and path are stored per user.

Configuration

php artisan vendor:publish --tag=nuewire-users-config
config/nuewire/users.php

Complete setup and permission documentation is available in the suite file docs/USERS_AND_ACL.md.

Privacy

Authentication records can include IP addresses, device identifiers, user agents, and location data. Limit access with ACL permissions and configure retention in config/authentication-log.php.

Random user IDs

NuewireUser includes Nuewire\Support\Concerns\HasRandomIntegerId. New users receive a unique integer ID between 100000000 and 999999999. Existing IDs are not changed.

For a new users table, use a non-incrementing primary key:

$table->unsignedBigInteger('id')->primary();

Do not run an automatic primary-key conversion on an existing production table. Foreign keys and authentication logs must be reviewed first.