arietimmerman / laravel-authchain
Laravel 验证链创建包
v0.5.3
2022-04-14 19:59 UTC
Requires
- php: >7
- defuse/php-encryption: ^2.1
- illuminate/auth: ^7.0|^8.0|^9.0
- illuminate/console: ^7.0|^8.0|^9.0
- illuminate/container: ^7.0|^8.0|^9.0
- illuminate/contracts: ^7.0|^8.0|^9.0
- illuminate/database: ^7.0|^8.0|^9.0
- illuminate/encryption: ^7.0|^8.0|^9.0
- illuminate/hashing: ^7.0|^8.0|^9.0
- illuminate/http: ^7.0|^8.0|^9.0
- illuminate/support: ^7.0|^8.0|^9.0
- lcobucci/jwt: ^4
- moontoast/math: ^1.1
- sdboyer/gliph: ^0.7.0
Requires (Dev)
- orchestra/testbench: ^5.0
- squizlabs/php_codesniffer: ^3.2
This package is auto-updated.
Last update: 2024-09-15 01:04:48 UTC
README
这是一个通用的验证链,可用于所有验证方法和联合协议。
该模块由 Idaas.nl 使用。
此模块仍在开发中
安装
确保您排除 authchain 请求的 CSRF 验证。
class VerifyCsrfToken extends Middleware
{
/**
* The URIs that should be excluded from CSRF verification.
*
* @var array
*/
protected $except = [
'/saml/v2/*',
'/authchain/*'
];
}
在您的 routes/web.php
文件中启用路由。
\ArieTimmerman\Laravel\AuthChain\Providers\RouteProvider::routes();
可以使用以下方式检索完整的用户详情
ArieTimmerman\Laravel\AuthChain\Object\Eloquent\Subject::find(id);
扩展主题。
<?php
namespace App;
use ArieTimmerman\Passport\HasApiTokens;
class Subject extends \ArieTimmerman\Laravel\AuthChain\Object\Eloquent\Subject {
use HasApiTokens;
}
使用以下方式注册新的模块类型。
AuthChain::addType('\ArieTimmerman\Laravel\AuthChain\Types\Password');
设计考虑因素
模块
模块属于某一类型。
主题
主题是一个已验证的资源所有者。每次有人登录时,都会创建一个新的主题。主题可以通过链接与用户关联。链接包含用户标识符和静态主题标识符。
这样做的目的是允许不同的主题同时存在。例如,来自同一 Facebook 用户的相同主题
已验证的主题标识符基于链中的第一个主题
身份有一个或多个主题!
在链中,我们将有一个活着的主题。每个模块都可能发出一个活着的主题。
验证链完成后,主题将被保存。保存的主题是经过验证的。
验证响应
可以从状态生成 AuthResponse。状态包含所有状态详情。AuthResponse 包含有关如何满足状态要求的信息。
工作原理。
如果没有指定验证级别,AuthChain 将强制用户完成他面临的全部模块。
例如,即使应用程序不需要二次验证,如果用户已配置,用户也必须完成它。
待办事项
待办事项:删除对 \App\User 和可能的其它可选 Laravel 类的依赖