intervention/httpauth

PHP 的 HTTP 认证管理

5.0.0 2024-05-03 12:39 UTC

README

HTTP 认证管理

Latest Version Tests Monthly Downloads Support me on Ko-fi

安装

您可以使用 Composer 容易地安装此库。只需使用以下命令请求包

composer require intervention/httpauth

文档

阅读此库的完整 文档

用法

工作流程很简单。只需在第一步中创建 Authenticator::class 的实例,并在第二步中保护您的资源。

1. 创建认证器实例

要创建认证器实例,您可以选择不同的方法。

使用静态工厂方法创建实例

use Intervention\HttpAuth\Authenticator;

// create http basic auth
$auth = Authenticator::basic(
    'myUsername',
    'myPassword',
    'Secured Area',
);

// create http digest auth
$auth = Authenticator::digest(
    'myUsername',
    'myPassword',
    'Secured Area',
);

使用类构造函数创建实例

use Intervention\HttpAuth\Authenticator;

// alternatively choose DigestVault::class
$vault = new BasicVault(
    'myUsername',
    'myPassword',
    'Secured Area',
);

$auth = new Authenticator($vault);

使用静态工厂方法创建实例

use Intervention\HttpAuth\Authenticator;

// alternatively choose DigestVault::class
$vault = new BasicVault(
    'myUsername',
    'myPassword',
    'Secured Area',
);

$auth = Authenticator::withVault($vault);

2. 请求用户凭据

创建 HTTP 认证实例后,您必须调用 secure() 来保护资源。这会导致 401 HTTP 响应,浏览器会要求凭据。

$auth->secure();

方法可以传递一个可选的字符串。如果认证失败,则显示该字符串。也可以在此处使用模板引擎的输出。

$auth->secure('Sorry, you can not access this resource!');

服务器配置

Apache

如果您使用 Apache 并以 CGI/FastCGI 运行 PHP,请检查服务器配置以确保授权头正确传递给 PHP

https://support.deskpro.com/en/kb/articles/missing-authorization-headers-with-apache

作者

此库由 Oliver Vogel 开发和维护。

感谢 贡献者社区 为改进此项目做出了贡献。

许可证

Intervention HttpAuth 在 MIT 许可证 下授权。