hermes-php/cerberus

此包已被弃用且不再维护。没有建议替代包。

受 Symfony 安全组件启发的完整的 PSR-7 身份验证系统

维护者

详细信息

gitlab.com/hermes-php/cerberus

dev-master 2018-12-24 22:59 UTC

This package is not auto-updated.

Last update: 2019-08-18 18:27:20 UTC


README

一个受 Symfony 安全组件启发的完整的 PSR-7 身份验证系统。

此中间件的主要目的是使用灵活的、用户自定义的规则对请求进行身份验证,并生成一个 AuthenticationContext 对象以传递给中间件堆栈的其他部分。

防火墙:必须配置以下内容

  • 模式
  • CredentialManager(两种方法:提取和验证)
  • AccountProvider
  • AuthHandler(两种方法:处理成功,处理错误)

Firewall 本身就是一个中间件,因此我们有三层中间件

  • 防火墙检测中间件:检查中间件是否匹配,并将其存储在请求属性中。
  • 防火墙执行中间件:从请求中获取中间件并应用它。如果身份验证成功,则请求将有一个 AuthContext 对象。

实现

  • LazyCredentialManager
  • LazyAuthHandler
  • LazyAccountProvider
  • ChainAccountProvider
  • LazyFirewall
  • JwtCredentialManager
  • FormLoginCredentialManager
  • CookieCredentialManager
  • ChainCredentialManager
  • RedirectAuthHandler
  • CookieRedirectAuthHandler
  • JsonResponseAuthHandler

3步骤表单

  • 提取凭证
  • 提取用户
  • 验证密码