PHPackages                             ithilbert/userauth - PHPackages - PHPackages  [Skip to content](#main-content)[PHPackages](/)[Directory](/)[Categories](/categories)[Trending](/trending)[Leaderboard](/leaderboard)[Changelog](/changelog)[Analyze](/analyze)[Collections](/collections)[Log in](/login)[Sign up](/register)

1. [Directory](/)
2. /
3. [Authentication &amp; Authorization](/categories/authentication)
4. /
5. ithilbert/userauth

ActiveLibrary[Authentication &amp; Authorization](/categories/authentication)

ithilbert/userauth
==================

User Auth system with Roles, Permissions, 2FA, Audit-Log, Teams.

2.1.1(2w ago)066MITPHPPHP ^8.5

Since Feb 17Pushed 2w ago1 watchersCompare

[ Source](https://github.com/ITHilbert/userauth)[ Packagist](https://packagist.org/packages/ithilbert/userauth)[ Docs](https://github.com/ITHilbert/userauth)[ RSS](/packages/ithilbert-userauth/feed)WikiDiscussions main Synced today

READMEChangelogDependencies (10)Versions (5)Used By (0)

ITHilbert UserAuth
==================

[](#ithilbert-userauth)

**Beschreibung**: User Auth System mit integrierter Rollenverwaltung, Impersonate-Funktion, erweiterten Passwort-Regeln und Mandanten- / Teams-Fähigkeit.

Dokumentation
-------------

[](#dokumentation)

Die ausführliche Dokumentation befindet sich im Ordner `docs/`:

- [Kontext &amp; Zielsetzung](docs/00_README_Kontext.md)
- [Architekturübersicht](docs/01_Architektur%C3%BCbersicht.md)
- [Modulstruktur](docs/07_Modulstruktur.md)

Installation
------------

[](#installation)

```
composer require ithilbert/userauth
```

Konfiguration
-------------

[](#konfiguration)

### `.env` Optionen prüfen

[](#env-optionen-prüfen)

Um bestimmte Features global in einem Projekt zu aktivieren, füge folgende Zeilen zu deiner `.env` Datei hinzu und passe sie nach deinen Bedürfnissen an:

```
# Logging
USERAUTH_AUDIT_LOG_ENABLED=false

# Sicherheits-Features
USERAUTH_2FA_ENABLED=false
USERAUTH_PASSWORD_POLICY_ENABLED=true

# Mandantenfähigkeit (Teams)
USERAUTH_TEAMS_ENABLED=true

# Theme der Auth-Views (Login, Passwort-Reset): 'tailwind' (Default) oder 'bootstrap'
# Nur in ÄLTEREN Bootstrap-/Phoenix-Projekten setzen:
USERAUTH_THEME=bootstrap
```

### Auth-View-Theme (Login &amp; Passwort-Reset)

[](#auth-view-theme-login--passwort-reset)

Die Auth-Views (Login, Passwort-vergessen/-zurücksetzen) liegen in zwei Theme-Varianten vor und werden über `config('userauth.theme')` gewählt:

- **`tailwind`** (Default) — Tailwind CSS. Neue Projekte brauchen **nichts** zu konfigurieren.
- **`bootstrap`** — das ältere Phoenix/Bootstrap-Markup. In bestehenden Bootstrap-Projekten per `USERAUTH_THEME=bootstrap` in der `.env` aktivieren.

**Projektspezifisches Design:** Die Tailwind-Views erweitern das Layout `userauth::layouts.auth`. Um das Login-Design an das jeweilige Projekt anzupassen, überschreibe dieses Layout im Projekt:

```
resources/views/vendor/userauth/layouts/auth.blade.php

```

Das Package liefert eine neutrale Default-Hülle; das überschriebene Layout bestimmt Branding, Farben und Hintergrund. So bleibt die Login-*Struktur* im Package, das *Aussehen* pro Projekt.

**Globale Auth-Übersetzungen:** Die Standard-Laravel-Auth-Keys (`auth.failed`, `auth.password`, `auth.throttle`) werden vom Package namespace-los registriert und sind damit in jedem Projekt übersetzt (de/en), ohne dass eine `lang/`-Datei im Projekt nötig ist.

### Config-Optionen

[](#config-optionen)

Nach der Paket-Installation können die Details auch in der veröffentlichten Config-Datei unter `config/userauth.php` angepasst werden:

#### Password Policy / Ablauf

[](#password-policy--ablauf)

Zwingender Wechsel von Passwörtern bei Bedarf aktivieren. Verhindert auch, dass die X letzten Passwörter einfach wiederverwendet werden.`

```
    'password_policy' => [
        'enabled' => env('USERAUTH_PASSWORD_POLICY_ENABLED', false),
        'require_change_every_days' => 90,
        'prevent_reuse_last_passwords' => 3,
    ],
```

#### Impersonate

[](#impersonate)

System-Admins können temporär ("Impersonate") die Perspektive eines beliebigen Endnutzers einnehmen. Ein Button kann mit `@if(auth()->user()->isImpersonated()) ... @endif` überwacht oder ein "Zurück"-Button mit Link auf `/impersonate/leave` gebaut werden.

```
    'impersonate_enabled' => true,
```

#### Multi-Tenancy (Teams)

[](#multi-tenancy-teams)

Erlaubt eine Mandanten-Trennung, bei der User zu Teams gehören (inklusive Team-eigenen Rollen). Wird das Flag `USERAUTH_TEAMS_ENABLED=true` gesetzt, liest das System Rechte (hasRole, hasPermission) dynamisch vom aktuell aktiven `current_team_id` des Users aus, statt nur von seiner globalen Rolle.

```
    'teams' => [
        'enabled' => env('USERAUTH_TEAMS_ENABLED', false),
    ],
```

Namespace
---------

[](#namespace)

`ITHilbert\UserAuth`

###  Health Score

45

—

FairBetter than 91% of packages

Maintenance97

Actively maintained with recent releases

Popularity10

Limited adoption so far

Community7

Small or concentrated contributor base

Maturity55

Maturing project, gaining track record

 Bus Factor1

Top contributor holds 100% of commits — single point of failure

How is this calculated?**Maintenance (25%)** — Last commit recency, latest release date, and issue-to-star ratio. Uses a 2-year decay window.

**Popularity (30%)** — Total and monthly downloads, GitHub stars, and forks. Logarithmic scaling prevents top-heavy scores.

**Community (15%)** — Contributors, dependents, forks, watchers, and maintainers. Measures real ecosystem engagement.

**Maturity (30%)** — Project age, version count, PHP version support, and release stability.

###  Release Activity

Cadence

Every ~39 days

Total

4

Last Release

16d ago

Major Versions

1.0.0 → 2.0.02026-03-28

### Community

Maintainers

![](https://www.gravatar.com/avatar/86378a339ef2f2a6b6dc13256925d271de7af518a4ee1dfef913b75868d3640c?d=identicon)[ithilbert](/maintainers/ithilbert)

---

Top Contributors

[![ITHilbert](https://avatars.githubusercontent.com/u/46783454?v=4)](https://github.com/ITHilbert "ITHilbert (15 commits)")

---

Tags

laravelsecurity2fauserrolespermissionsit-hilbert

### Embed Badge

![Health badge](/badges/ithilbert-userauth/health.svg)

```
[![Health](https://phpackages.com/badges/ithilbert-userauth/health.svg)](https://phpackages.com/packages/ithilbert-userauth)
```

###  Alternatives

[laravel/pulse

Laravel Pulse is a real-time application performance monitoring tool and dashboard for your Laravel application.

1.7k15.1M131](/packages/laravel-pulse)[roots/acorn

Framework for Roots WordPress projects built with Laravel components.

9762.4M130](/packages/roots-acorn)[psalm/plugin-laravel

Psalm plugin for Laravel

3355.3M346](/packages/psalm-plugin-laravel)[laravel/cashier

Laravel Cashier provides an expressive, fluent interface to Stripe's subscription billing services.

2.6k29.9M145](/packages/laravel-cashier)[laravel/mcp

Rapidly build MCP servers for your Laravel applications.

77022.3M150](/packages/laravel-mcp)[flarum/core

Delightfully simple forum software.

201.4M2.3k](/packages/flarum-core)

PHPackages © 2026

[Directory](/)[Categories](/categories)[Trending](/trending)[Changelog](/changelog)[Analyze](/analyze)
