PHPackages                             eril/auth - 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. eril/auth

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

eril/auth
=========

Simple PHP authentication and authorization library with sessions, remember-me and role based permissions.

v0.9.0(yesterday)00MITPHPPHP ^8.1CI passing

Since Jun 26Pushed yesterdayCompare

[ Source](https://github.com/erilshackle/peshk-eril-auth)[ Packagist](https://packagist.org/packages/eril/auth)[ RSS](/packages/eril-auth/feed)WikiDiscussions main Synced today

READMEChangelog (1)Dependencies (1)Versions (2)Used By (0)

Eril Auth
=========

[](#eril-auth)

Lightweight authentication and authorization library for modern PHP applications.

Eril Auth provides session-based authentication, persistent login (Remember Me), role-based authorization (RBAC), login rate limiting, provider login, user profiles and diagnostics without requiring a framework.

---

Features
--------

[](#features)

- Session-based authentication
- Multiple login fields (email, username, phone, etc.)
- Persistent login (Remember Me)
- Login rate limiting
- Login with external providers
- Role-based authorization (RBAC)
- Wildcard permissions
- User profiles
- Authentication diagnostics
- Configuration publisher
- CLI installer
- Framework agnostic
- PHP 8.1+

---

Requirements
------------

[](#requirements)

- PHP 8.1+
- PDO Extension

---

Installation
============

[](#installation)

Install via Composer:

```
composer require eril/peshk-auth
```

Generate the default configuration:

```
vendor/bin/auth install
```

Or publish only the configuration files:

```
vendor/bin/auth publish
```

Verify your installation:

```
vendor/bin/auth diagnose
```

---

Quick Start
===========

[](#quick-start)

Load the configuration during application bootstrap.

```
use Eril\Auth\Auth;

Auth::loadConfig(
    __DIR__ . '/config/auth.php',
    createIfMissing: true
);
```

This automatically creates:

```
config/
├── auth.php
└── permissions.php

```

Authenticate a user:

```
$user = Auth::attempt(
    $_POST['login'],
    $_POST['password']
);

if (!$user) {
    die(Auth::error());
}

echo "Welcome {$user->name()}";
```

---

Configuration
=============

[](#configuration)

The installer generates a complete `config/auth.php` file with documentation for every available option.

A minimal configuration looks like this:

```
