This package allows you to allow users with an e-mail address ending in specific domain names to login using an e-mail instead of using a password. After installing this package you can have a generic account (e.g. [email protected]
) and everyone using a @digifactory.nl
mail address can login using the e-mail sent directly to their inbox.
Since v1.0.3 it is also possible to enable e-mail login for all users. When enabled ($plugin->allowAllDomains()
) the plugin will look for that specific user/e-mail address instead of a specific domain. This option can be enabled on top of the base functionality of this package.
You can install the package via composer:
composer require digifactory/filament-wildcard-login
You can add the FilamentWildcardLoginPlugin
to your Filament Panel
like this:
->plugins([
FilamentWildcardLoginPlugin::make()
->domains([
'digifactory.nl',
])
->loginDirectlyWithoutSendingEmail(app()->environment('local')),
])
These methods are available on the FilamentWildcardLoginPlugin
instance:
Method | Description |
---|---|
enabled(Closure | bool $value = true) |
This method allows you to enable the plugin using a boolean or callback, by default the plugin is enabled. |
loginDirectlyWithoutSendingEmail(Closure | bool $value = true) |
This method allows you to enable direct login, without sending the e-mail. This can be handy for local development. |
domains(array $domains) |
This method allows you to define the domains that can login using the e-mail link. |
model(string $modelClass, string $modelColumn = 'email') |
This method allows you to define the used User model and column, by default the plugin users App\Model\User and email . |
emailValidForMinutes(int $minutes) |
This method allows you to define after how many minutes the link in the e-mail should expire. The default is 5 minutes. |
allowAllDomains(Closure | bool $value = true) |
This method allows you to allow all e-mail address to login using an e-mail. |
composer test
Please see CHANGELOG for more information on what has changed recently.
Please see CONTRIBUTING for details.
Please review our security policy on how to report security vulnerabilities.
The MIT License (MIT). Please see License File for more information.