intervention / httpauth
PHP 的 HTTP 认证管理
5.0.0
2024-05-03 12:39 UTC
Requires
- php: ^8.2
Requires (Dev)
- phpstan/phpstan: ^1
- phpunit/phpunit: ^10.0
- slevomat/coding-standard: ~8.0
- squizlabs/php_codesniffer: ^3.8
This package is auto-updated.
Last update: 2024-09-21 07:58:21 UTC
README
HTTP 认证管理
安装
您可以使用 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 许可证 下授权。