agungsugiarto / codeigniter4-authentication
提供认证API,包括常见使用场景的认证适配器
v2.1.0
2024-03-13 14:31 UTC
Requires
- php: ^7.3 || ^8.0
- codeigniter4/framework: ^4.1
- tightenco/collect: ^8.83
Requires (Dev)
- fakerphp/faker: ^1.13
- phpunit/phpunit: ^9.1
Provides
README
关于
codeigniter4\authentication
组件提供认证API,包括常见使用场景的认证适配器。
- 灵感来自 https://github.com/lonnieezell/codigniter-shield
- 主要灵感来自 laravel 的 auth https://github.com/illuminate/auth
从 v1.x 升级到 2.x
Composer 依赖
您应该在应用程序的 composer.json 文件中更新以下依赖项
agungsugiarto/codeigniter4-authentication
到 ^2.0
用户实体
打开类 App\Entities\User
添加接口和特性以实现。
namespace Fluent\Auth\Entities; - use CodeIgniter\Entity; + use CodeIgniter\Entity\Entity; use Fluent\Auth\Contracts\AuthenticatorInterface; + use Fluent\Auth\Contracts\AuthorizableInterface; use Fluent\Auth\Contracts\HasAccessTokensInterface; use Fluent\Auth\Contracts\ResetPasswordInterface; use Fluent\Auth\Contracts\VerifyEmailInterface; use Fluent\Auth\Facades\Hash; use Fluent\Auth\Traits\AuthenticatableTrait; use Fluent\Auth\Traits\AuthorizableTrait; use Fluent\Auth\Traits\CanResetPasswordTrait; use Fluent\Auth\Traits\HasAccessTokensTrait; use Fluent\Auth\Traits\MustVerifyEmailTrait; class User extends Entity implements AuthenticatorInterface, + AuthorizableInterface, HasAccessTokensInterface, ResetPasswordInterface, VerifyEmailInterface { use AuthenticatableTrait; + use AuthorizableTrait; use CanResetPasswordTrait; use HasAccessTokensTrait; use MustVerifyEmailTrait; }
AuthServiceProvider
打开 App\Providers\AuthServiceProvider
namespace Fluent\Auth; + use Fluent\Auth\Facades\Gate; use Fluent\Auth\AbstractServiceProvider; class AuthServiceProvider extends AbstractServiceProvider { + /** + * The policy mappings for the application. + * + * @var array<class-string, class-string> + */ + protected static $policies = []; /** * {@inheritdoc} */ public static function register() { + static::registerPolicies(); } }
文档
社区认证守卫
- JWT (JSON Web Token) - agungsugiarto/codeigniter4-authentication-jwt
认证演示
变更日志
请参阅 CHANGELOG 了解最近更改的信息。
贡献
非常欢迎贡献。
许可证
在 MIT 许可证下发布,请参阅 LICENSE。