agungsugiarto/codeigniter4-authentication

Provides an API for authentication and includes concrete authentication adapters for common use case scenarios

v2.1.0 2024-03-13 14:31 UTC

This package is auto-updated.

Last update: 2024-04-13 14:56:00 UTC


README

tests Latest Stable Version Total Downloads Latest Unstable Version License

About

The codeigniter4\authentication component provides an API for authentication and includes concrete authentication adapters for common use case scenarios.

Upgrade from v1.x to 2.x

Composer Dependencies

You should update the following dependencies in your application's composer.json file:

agungsugiarto/codeigniter4-authentication to ^2.0

User Entity

Open class App\Entities\User add interface and trait to implement.

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

Open 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();
    }
}

Documentation

Community Authentication Guards

Authentication Demo

Changelog

Please see CHANGELOG for more information what has changed recently.

Contributing

Contributions are very welcome.

License

Released under the MIT License, see LICENSE.