Skip to content

nowo-tech/UserKitBundle

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

12 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.

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)

Requirements

  • PHP 8.2+
  • Symfony 7.4 | 8.x

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.

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.

Development

make up
make test-coverage-100
make phpstan

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.

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

Documentation

Additional documentation

About

No description, website, or topics provided.

Resources

License

Code of conduct

Contributing

Security policy

Stars

0 stars

Watchers

0 watching

Forks

Packages

 
 
 

Contributors