Skip to content

nowo-tech/UserKitBundle

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

6 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

Contributing

Security policy

Stars

0 stars

Watchers

0 watching

Forks

Packages

 
 
 

Contributors