Auth is a plug'n play authentication package for any Laravel application. We have closed issues for this repo and are recommending that anyone who wants to report an issue or make a suggestion to do so here: https://devdojo.com/questions. Additionally, we are open to any kind of Pull Request 😉
Be sure to visit the official documentation at https://devdojo.com/auth/docs
You can install this package into any new Laravel application, or any of the available Laravel Starter Kits.
composer require devdojo/auth
After the package has been installed you'll need to publish the authentication assets, configs, and more:
php artisan vendor:publish --tag=auth:assets
php artisan vendor:publish --tag=auth:config
php artisan vendor:publish --tag=auth:ci
php artisan vendor:publish --tag=auth:migrations
Next, run the migrations:
php artisan migrateFinally extend the Devdojo User Model:
use Devdojo\Auth\Models\User as AuthUser;
class User extends AuthUser
in your App\Models\User model.
Now, you're ready to rock! Auth has just been installed and you'll be able to visit the following authentication routes:
- Login (project.test/auth/login)
- Register (project.test/auth/register)
- Forgot Password (project.test/auth/register)
- Password Reset (project.test/auth/password/reset)
- Password Reset Token (project.test/auth/password/ReAlLyLoNgPaSsWoRdReSeTtOkEn)
- Password Confirmation (project.test/auth/password/confirm)
- Two-Factor Challenge (project.test/auth/two-factor-challenge)
You'll also have access to the Two Factor Setup page
- Two-Factor Setup (project.test/user/two-factor-authentication)
When you need to logout, you can visit the Logout route
- Logout Route (project.test/auth/logout)
You can add all the social auth helpers to your user model by including the following Trait:
<?php
namespace App\Models;
use Devdojo\Auth\Traits\HasSocialProviders; // Import the trait
class User extends Devdojo\Auth\Models\User
{
use HasSocialProviders; // Use the trait in the User model
// Existing User model code...
}The tests in this package are designed to run from inside a consuming Laravel application, not from the package folder. Set up a host app as described in CONTRIBUTING.md: require the package via a path repository, then replace the app's tests/ directory with a symlink to this package's tests/ folder. From the app root you can then run the Feature suite with ./vendor/bin/pest and the Browser suite with Laravel Dusk.
Running ./vendor/bin/pest standalone from this package's root is expected to fail with:
Pest\Exceptions\TestCaseClassOrTraitNotFound
The class `DuskTestCase` was not found.
That's by design, not a broken install:
- The test classes live in the
Tests\namespace and rely on the host app'sTests\→tests/autoload mapping. The package's own composer autoload mapsDevdojo\Auth\Tests\totests/, soTests\DuskTestCaseandTests\TestCasenever resolve standalone. Tests\TestCaseextends the framework's application test case, which boots the host app'sbootstrap/app.php— there is no bootable application inside the package.- The
tests/Browsersuite is Laravel Dusk and needs a real running application plus ChromeDriver.
The DevDojo Auth package is open-sourced software licensed under the MIT license.

