jasny/auth

Slim 框架和其他 PHP 微型框架的认证、授权和访问控制

v2.2.1 2024-08-30 14:18 UTC

README

jasny-banner

Jasny Auth

PHP Scrutinizer Code Quality Code Coverage Packagist Stable Version Packagist License

Slim 框架 和其他 PHP 微型框架提供认证、授权和访问控制。

特性

  • 多种授权策略,如分组(用于 acl)和级别。
  • 授权上下文(例如:“用户是否是此团队的管理员?”)。
  • 登录和注销的 PSR-14 事件。
  • 用于访问控制的 PSR-15 中间件。
  • 会话失效,显式或隐式(例如,在更改密码后)。
  • 支持多因素认证。
  • 支持 JWT 和 Bearer 认证。
  • 注册确认和忘记密码的确认令牌。
  • 对有趣事件的 PSR-3 记录。
  • 可自定义以满足您应用程序的需求。

安装

使用 composer 安装

composer require jasny/auth

用法

Auth 是一个组合类。它接受一个 authzstorage,以及可选的 confirmation 服务。

use Jasny\Auth\Auth;
use Jasny\Auth\Authz\Levels;

$levels = new Levels(['user' => 1, 'moderator' => 10, 'admin' => 100]);
$auth = new Auth($levels, new AuthStorage());

session_start();
$auth->initialize();

// Later...
if (!$auth->is('admin')) {
    http_response_code(403);
    echo "Access denied";
    exit();
}

Auth 服务在初始化之前是不可用的。这应该在会话启动后完成。

session_start();
$auth->initialize();

文档