Download the PHP package phpsa/filament-authentication without Composer

On this page you can find all versions of the php package phpsa/filament-authentication. It is possible to download/install these versions without Composer. Possible dependencies are resolved automatically.

FAQ

After the download, you have to make one include require_once('vendor/autoload.php');. After that you have to import the classes with use statements.

Example:
If you use only one package a project is not needed. But if you use more then one package, without a project it is not possible to import the classes with use statements.

In general, it is recommended to use always a project to download your libraries. In an application normally there is more than one library needed.
Some PHP packages are not free to download and because of that hosted in private repositories. In this case some credentials are needed to access such packages. Please use the auth.json textarea to insert credentials, if a package is coming from a private repository. You can look here for more information.

  • Some hosting areas are not accessible by a terminal or SSH. Then it is not possible to use Composer.
  • To use Composer is sometimes complicated. Especially for beginners.
  • Composer needs much resources. Sometimes they are not available on a simple webspace.
  • If you are using private repositories you don't need to share your credentials. You can set up everything on our site and then you provide a simple download link to your team member.
  • Simplify your Composer build process. Use our own command line tool to download the vendor folder as binary. This makes your build process faster and you don't need to expose your credentials for private repositories.
Please rate this library. Is it a good library?

Informations about the package filament-authentication

Latest Version on Packagist Semantic Release Total Downloads

Filament User Authentication

User Resource For Filament Admin along with Roles & Permissions using Spatie

Package Installation

You can install the package via composer:

and run the install command

this will publish the config file and migrations

optionally publish views / translations

Spatie Roles & Permissions

If you have not yet configured this package it is automatically added by this installer, run the following steps:

  1. You should publish the migration and the config/permission.php config file with:

  2. Add the Spatie\Permission\Traits\HasRoles trait to your Users model

  3. Add Roles & Permissions as required

For more see: https://spatie.be/docs/laravel-permission/v6/introduction

Setup & Config

in your Filament panel file you need to add the following to the Plugins section

add the resources

You can configure this via either the config file or the plugin.

Features

1. Widgets

LatestUsersWidget can be added to your dashboard by adding it to your panel widgets area..

Note that it is also attached to the UserPolicy::viewAny policy value if the policy exists

2. Laravel Impersonate

If you have not configured this package it is automatically added by this install, run the following steps:

  1. Add the trait Lab404\Impersonate\Models\Impersonate to your User model.
  2. edit the config file and set impersonate->enabled to true

Defining impersonation authorization

By default all users can impersonate an user. You need to add the method canImpersonate() to your user model:

By default all users can be impersonated. You need to add the method canBeImpersonated() to your user model to extend this behavior:

Protect From Impersonation

You can use the middleware impersonate.protect to protect your routes against user impersonation. This middleware can be useful when you want to protect specific pages like users subscriptions, users credit cards, ...

Events There are two events available that can be used to improve your workflow:

Each events returns two properties $event->impersonator and $event->impersonated containing User model instance.

3. Password Renewal

Introduced in V4.2.0 - this allows you to enforce a user to change their password every X days.

Enable this & configure this as Follows:

  1. add the Phpsa\FilamentAuthentication\Traits\CanRenewPassword trait to your user model
  2. configure the options for pruning and renewal day period in the config file
  3. if not published, publish migration artisan vendor:publish --tag filament-authentication-migrations

this will force a user to update their password, note -- all existing users will initially be foreced to, this can be ignored by running the following command:

From V5.0.0 - there is a new validation rule that can be added to validate that a password has not been used before. Phpsa\FilamentAuthentication\Rules\PreventPasswordReuseRule - this will use the value from config filament-authentication.password_renew.prevent_password_reuse 0 to disable, any number of previous to block out fro re-use.

-- If using socialite / Filament-socialite etc, you will need to override the public function needsRenewal(): bool method in the trait, EG:

Authentication Log

Introduced in V4.2.0 - this allows you to log each user login attempt.

Enable this & configure this as follows:

  1. add the Phpsa\FilamentAuthentication\Traits\LogsAuthentication trait to your user model
  2. configure the options for prune in the authentication_log section of the config
  3. optionally enable the resource in navigation section of the config file.
  4. if not published, publish migration artisan vendor:publish --tag filament-authentication-migrations

this will now log login and logouts on the system.

Security

Roles & Permissions can be secured using Laravel Policies, create your policies and register then in the AuthServiceProvider

We have a Custom Page Trait: Phpsa\FilamentAuthentication\Traits\PagePolicyTrait and a Spatie Settings Page Trait Phpsa\FilamentAuthentication\Traits\SettingsPage\PolicyTrait that you can add to your pages / settings pages. By defining a model and mapping it with a viewAny($user) method you can define per policies whether or not to show the page in navigation.

Events

Phpsa\FilamentAuthentication\Events\UserCreated is triggered when a user is created via the Resource

Phpsa\FilamentAuthentication\Events\UserUpdated is triggered when a user is updated via the Resource

Future Plans

Changelog

Please see CHANGELOG for more information on what has changed recently.

Credits

License

The MIT License (MIT). Please see License File for more information.


All versions of filament-authentication with dependencies

PHP Build Version
Package Version
Requires php Version ^8.0
filament/filament Version ^3.0
lab404/laravel-impersonate Version ^1.7
spatie/laravel-package-tools Version ^1.13
spatie/laravel-permission Version ^5.5|^6.0
Composer command for our command line client (download client) This client runs in each environment. You don't need a specific PHP version etc. The first 20 API calls are free. Standard composer command

The package phpsa/filament-authentication contains the following files

Loading the files please wait ....