Skip to content

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

28 Commits
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

User Kit Bundle

CI Packagist Version Packagist Downloads License PHP Symfony GitHub stars Coverage

Found this useful? Install from Packagist and give the repo a star on GitHub.

Symfony bundle for user account lifecycle and presence: enable/disable accounts (UserChecker), throttled lastActivityAt updates, and configurable online detection. Designed to complement nowo-tech/auth-kit-bundle without a hard Composer dependency.

FrankenPHP Friendly Worker Mode

This bundle is FrankenPHP worker mode friendly.

Features

  • enabled / disabled accountsAccountStatusUserChecker blocks login for disabled users
  • lastActivityAt — updated on authenticated HTTP requests (throttled)
  • online_thresholdUserPresenceResolver::isOnline() and optional Twig user_is_online()
  • Named profiles — separate config per user entity (User, Admin, …) with O(1) class resolution
  • Session invalidation hook — optional listener when an account is disabled
  • Optional traitsEnabledUserTrait, LastActivityTrait
  • Translations — domain NowoUserKitBundle (de, en, es, fr, it, nl, pt)

Quick start

composer require nowo-tech/user-kit-bundle
# config/packages/nowo_user_kit.yaml
nowo_user_kit:
    default_profile: default
    profiles:
        default:
            user_class: App\Entity\User
            account_status:
                enabled: true
            last_activity:
                enabled: true
                online_threshold: 300

The legacy flat layout (user_class at root) remains supported. See Configuration.

Requirements

  • PHP 8.2+
  • Symfony 7.4 | 8.x

AuthKit coexistence

Login (AuthKit) → form_login → UserProvider → UserChecker (UserKit) → OK / blocked

Use the same user_class in both bundles. UserKit may inherit user_class from nowo_auth_kit.user_class when that parameter exists.

Demo

make -C demo up    # Symfony 8.1 — http://localhost:8023

Login with demo@user-kit.test / demo. The demo runs under FrankenPHP in Docker. See demo/README.md and docs/DEMO-FRANKENPHP.md for development vs production setup, including FrankenPHP worker mode for production.

Development

make up
make test-coverage-100
make phpstan

Documentation

Additional documentation

Tests and coverage

  • PHP: 100% line coverage on src/ (verified via make test-coverage-100)
  • Compatibility: PHP 8.2+ · Symfony 7.4 / 8.x (CI matrix)

Package

  • Composer: nowo-tech/user-kit-bundle
  • Config root: nowo_user_kit

About

Symfony bundle for user account enable/disable, last activity tracking, and online presence detection.

Topics

Resources

Code of conduct

Contributing

Security policy

Stars

0 stars

Watchers

0 watching

Forks

Releases

Packages

Contributors

Languages