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

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

orisai/auth
===========

Authentication and authorization

2.0.4(1y ago)720.1k↓100%13MPL-2.0PHPPHP 7.4 - 8.4CI passing

Since Aug 19Pushed 10mo ago2 watchersCompare

[ Source](https://github.com/orisai/auth)[ Packagist](https://packagist.org/packages/orisai/auth)[ Docs](https://github.com/orisai/auth)[ RSS](/packages/orisai-auth/feed)WikiDiscussions v2.x Synced 1mo ago

READMEChangelogDependencies (15)Versions (12)Used By (3)

 [![Orisai](https://github.com/orisai/.github/raw/main/images/repo_title.png?raw=true)](https://github.com/orisai/.github/blob/main/images/repo_title.png?raw=true)
 Auth
===========================================================================================================================================================================

[](#auth)

 Authentication and authorization

 📄 Check out our [documentation](docs/README.md).

 💸 If you like Orisai, please [make a donation](https://orisai.dev/sponsor). Thank you!

 [![](https://github.com/orisai/auth/actions/workflows/ci.yaml/badge.svg?branch=v2.x)](https://github.com/orisai/auth/actions?query=workflow:CI+branch:v2.x) [![](https://camo.githubusercontent.com/df49b8a6ad6b31a89b97c08680bcc2df6781aee729d3138ccc066d18e7dc058d/68747470733a2f2f62616467656e2e6e65742f636f766572616c6c732f632f6769746875622f6f72697361692f617574682f76322e783f63616368653d333030)](https://coveralls.io/github/orisai/auth?branch=v2.x) [![](https://camo.githubusercontent.com/f470696f2b52863ea28f8d80551f7ff2007b3dff1087229a98fba4103ef0b4e1/68747470733a2f2f696d672e736869656c64732e696f2f656e64706f696e743f7374796c653d666c61742675726c3d68747470733a2f2f62616467652d6170692e737472796b65722d6d757461746f722e696f2f6769746875622e636f6d2f6f72697361692f617574682f76322e78)](https://dashboard.stryker-mutator.io/reports/github.com/orisai/auth/v2.x) [![](https://camo.githubusercontent.com/742a171876705794662664e6d3097f98d3998ffbd364327025ee0f936a59dfe7/68747470733a2f2f62616467656e2e6e65742f7061636b61676973742f64742f6f72697361692f617574683f63616368653d33363030)](https://packagist.org/packages/orisai/auth) [![](https://camo.githubusercontent.com/1e6e659e644b03e40f500c6e433756ae06175a336c791c2b3bce0dc70dbe0159/68747470733a2f2f62616467656e2e6e65742f7061636b61676973742f762f6f72697361692f617574683f63616368653d33363030)](https://packagist.org/packages/orisai/auth) [![](https://camo.githubusercontent.com/40b2374865c7727b1568a7b77cc1a8068979ac265d85d659fe73b2d337b458e6/68747470733a2f2f62616467656e2e6e65742f62616467652f6c6963656e73652f4d504c2d322e302f626c75653f63616368653d33363030)](https://choosealicense.com/licenses/mpl-2.0/)

> This package is inspired by [nette/security](https://github.com/nette/security) from [David Grudl](https://github.com/dg). Thank you, David!

```
namespace App\Admin\Article\View;

use Orisai\Auth\Authentication\Identity;
use Orisai\Auth\Authentication\SimpleFirewall;

final class ArticleEditController
{

	private SimpleFirewall $firewall;

	public function __construct(SimpleFirewall $firewall)
	{
		$this->firewall = $firewall;
	}

	public function run(): void
	{
		if (!$this->firewall->isAllowed('administration.entry')) {
			// Not allowed
		}

		$article = /* get article by ID from request */;

		if (!$this->firewall->isAllowed('article.edit', $article)) {
			// Not allowed
		}

		// Is allowed
	}

}

use App\Core\Article\Article;
use Orisai\Auth\Authorization\Policy;
use Orisai\Auth\Authorization\PolicyContext;

/**
 * @implements Policy
 */
final class ArticleEditPolicy implements Policy
{

	public static function getPrivilege(): string
	{
		return 'article.edit';
	}

	public static function getRequirementsClass(): string
	{
		return Article::class;
	}

	/**
	 * @param Article $requirements
	 */
	public function isAllowed(Identity $identity, object $requirements, PolicyContext $context): bool
	{
		$authorizer = $context->getAuthorizer();

		return $authorizer->hasPrivilege($identity, self::getPrivilege())
			&& $requirements->getAuthor()->getId() === $identity->getId();
	}

}
```

###  Health Score

44

—

FairBetter than 92% of packages

Maintenance48

Moderate activity, may be stable

Popularity30

Limited adoption so far

Community14

Small or concentrated contributor base

Maturity71

Established project with proven stability

 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 ~95 days

Recently: every ~155 days

Total

12

Last Release

315d ago

Major Versions

v1.x-dev → 2.0.02023-03-01

PHP version history (4 changes)1.0.0PHP &gt;=7.4.0 &lt;8.2.0

1.0.4PHP &gt;=7.4.0 &lt;8.3.0

2.0.3PHP 7.4 - 8.3

2.0.4PHP 7.4 - 8.4

### Community

Maintainers

![](https://avatars.githubusercontent.com/u/20974277?v=4)[Marek Bartoš](/maintainers/mabar)[@mabar](https://github.com/mabar)

---

Top Contributors

[![mabar](https://avatars.githubusercontent.com/u/20974277?v=4)](https://github.com/mabar "mabar (274 commits)")

---

Tags

abacaccess-controlaclauthauthenticationauthorizationidentityloginnetteorisaipasswordpasswordspermissionsphppolicyrbacrolesecurityusersecurityauthAuthenticationpasswordauthorizationaclpermissionsrbacloginUsersaccess-controlpasswordsabacroleorisaiPolicy

###  Code Quality

TestsPHPUnit

Static AnalysisPHPStan

Type Coverage Yes

### Embed Badge

![Health badge](/badges/orisai-auth/health.svg)

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

###  Alternatives

[casbin/casbin

a powerful and efficient open-source access control library for php projects.

1.3k1.4M54](/packages/casbin-casbin)[efficiently/authority-controller

AuthorityController is an PHP authorization library for Laravel 5 which restricts what resources a given user is allowed to access.

15433.2k](/packages/efficiently-authority-controller)[casbin/laravel-authz

An authorization library that supports access control models like ACL, RBAC, ABAC in Laravel.

324339.9k4](/packages/casbin-laravel-authz)[hosseinhezami/laravel-permission-manager

Advanced permission manager for Laravel.

403.3k](/packages/hosseinhezami-laravel-permission-manager)[phpzen/laravel-rbac

Role based access control for Laravel 5

383.2k](/packages/phpzen-laravel-rbac)

PHPackages © 2026

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