Download the PHP package parvezmia/laravel-passwordless-auth without Composer
On this page you can find all versions of the php package parvezmia/laravel-passwordless-auth. It is possible to download/install these versions without Composer. Possible dependencies are resolved automatically.
Download parvezmia/laravel-passwordless-auth
More information about parvezmia/laravel-passwordless-auth
Files in parvezmia/laravel-passwordless-auth
Package laravel-passwordless-auth
Short Description A secure, user-friendly Laravel package for passwordless authentication via magic links
License MIT
Homepage https://github.com/ParvezMia/laravel-passwordless-auth
Informations about the package laravel-passwordless-auth
Laravel Passwordless Authentication
A simple, secure passwordless authentication system for Laravel applications. This package provides a complete solution for implementing magic link authentication in your Laravel projects.
Installation
You can install the package via composer:
Configuration
After installation, publish the package assets:
This will publish:
- Configuration file
- Migration file
- View templates
- Route definitions
Configuration Options
The published configuration file (config/passwordless-auth.php) contains the following options:
Database Setup
Run the migrations to create the necessary database tables:
This creates a login_tokens table to store the temporary login tokens.
Queue Configuration
This package uses Laravel's queue system to send emails asynchronously for better performance. To configure the queue:
-
Set up your preferred queue driver in your .env file:
-
If using the database driver, run the queue migration:
- Start the queue worker:
Route Integration
To include the passwordless authentication routes in your application, add the following line to your routes/web.php file:
Available Routes
The package provides the following routes:
| Method | URI | Name | Description |
|---|---|---|---|
| GET | /login/passwordless | passwordless.login | Displays the login form |
| POST | /login/passwordless | passwordless.send | Processes the login request and sends link |
| GET | /login/passwordless/verify/{token} | passwordless.verify | Verifies token and logs user in |
| POST | /logout | passwordless.logout | Logs the user out |
Email Configuration
For the email functionality to work properly, ensure your Laravel application has proper email configuration in your .env file:
Customization
Publishing Specific Components
You can publish specific components of the package:
Customizing Views
After publishing the views, you can customize them in resources/views/vendor/passwordless-auth/.
Usage Examples
Adding Login Link to Your Application
Adding Logout Button
Login Flow
- User visits the login page and enters their email address
- A unique, secure token is generated and stored in the database
- An email with a login link containing the token is sent to the user
- User clicks the link in their email
- The token is verified and the user is automatically logged in
- The token is deleted to prevent reuse
Troubleshooting
Email Issues
If emails are not being sent:
- Check your Laravel log files for errors:
storage/logs/laravel.log - Verify your mail configuration in
.env - Try using the log mail driver for testing:
MAIL_MAILER=log - Ensure the user model has the
Notifiabletrait - Clear config cache:
php artisan config:clear
Route Issues
If routes are not working:
- Make sure you've included the routes file in your
web.php - Clear route cache:
php artisan route:clear - Check for route conflicts with
php artisan route:list
Security Considerations
- Login tokens expire after the configured time (default: 15 minutes)
- Tokens are single-use and are deleted after successful login
- Tokens are stored securely in the database with a unique constraint
- The package uses Laravel's built-in CSRF protection
Contributing
Contributions are welcome! Please feel free to submit a Pull Request.
License
The MIT License (MIT). Please see License File for more information.
All versions of laravel-passwordless-auth with dependencies
illuminate/contracts Version ^10.0||^11.0||^12.0
illuminate/support Version ^10.0||^11.0||^12.0
illuminate/database Version ^10.0||^11.0||^12.0