Laravel-Auth is a Complete Build of Laravel 5.8 with Email Registration Verification, Social Authentication, User Roles and Permissions, User Profiles, and Admin restricted user management system. Built on Bootstrap 4.
|
If you want to quickly add secure token-based authentication to Laravel apps, feel free to check Auth0's Laravel SDK and free plan at https://auth0.com/overview. |
- About
- Features
- Installation Instructions
- Seeds
- Routes
- Socialite
- Other API keys
- Environment File
- Updates
- Screenshots
- File Tree
- Opening an Issue
- Laravel Auth License
- Contributors
Laravel 5.8 with user authentication, registration with email confirmation, social media authentication, password recovery, and captcha protection. Uses official Bootstrap 4. This also makes full use of Controllers for the routes, templates for the views, and makes use of middleware for routing. Project can be stood up in minutes.
| Laravel-Auth Features |
|---|
| Built on Laravel 5.8 |
| Built on Bootstrap 4 |
| Uses MySQL Database (can be changed) |
| Uses Artisan to manage database migration, schema creations, and create/publish page controller templates |
| Dependencies are managed with COMPOSER |
| Laravel Scaffolding User and Administrator Authentication. |
| User Socialite Logins ready to go - See API list used below |
| Google Maps API v3 for User Location lookup and Geocoding |
| CRUD (Create, Read, Update, Delete) Themes Management |
| CRUD (Create, Read, Update, Delete) User Management |
| Robust Laravel Logging with admin UI using MonoLog |
| Google reCaptcha Protection with Google API |
| User Registration with email verification |
| Makes use of Laravel Mix to compile assets |
| Makes use of Language Localization Files |
| Active Nav states using Laravel Requests |
| Restrict User Email Activation Attempts |
| Capture IP to users table upon signup |
| Uses Laravel Debugger for development |
| Makes use of Password Strength Meter |
| Makes use of hideShowPassword |
| User Avatar Image AJAX Upload with Dropzone.js |
| User Gravatar using Gravatar API |
| User Password Reset via Email Token |
| User Login with remember password |
| User Roles/ACL Implementation |
| Makes use of Laravel's Soft Delete Structure |
| Soft Deleted Users Management System |
| Permanently Delete Soft Deleted Users |
| User Delete Account with Goodbye email |
| User Restore Deleted Account Token |
| Restore Soft Deleted Users |
| View Soft Deleted Users |
| Captures Soft Delete Date |
| Captures Soft Delete IP |
| Admin Routing Details UI |
| Admin PHP Information UI |
| Eloquent user profiles |
| User Themes |
| 404 Page |
| 403 Page |
| Configurable Email Notification via Laravel-Exception-Notifier |
| Activity Logging using Laravel-logger |
| Optional 2-step account login verfication with Laravel 2-Step Verification |
| Uses Laravel PHP Info package |
| Uses Laravel Blocker package |
- Run
git clone https://github.com/jeremykenedy/laravel-auth.git laravel-auth - Create a MySQL database for the project
mysql -u root -p, if using Vagrant:mysql -u homestead -psecretcreate database laravelAuth;\q
- From the projects root run
cp .env.example .env - Configure your
.envfile - Run
composer updatefrom the projects root folder - From the projects root folder run:
php artisan vendor:publish --tag=laravelroles &&
php artisan vendor:publish --tag=laravel2step
- From the projects root folder run
sudo chmod -R 755 ../laravel-auth - From the projects root folder run
php artisan key:generate - From the projects root folder run
php artisan migrate - From the projects root folder run
composer dump-autoload - From the projects root folder run
php artisan db:seed - Compile the front end assets with npm steps or yarn steps.
- From the projects root folder run
yarn install - From the projects root folder run
yarn run devoryarn run production
- You can watch assets with
yarn run watch
- From the projects root folder run
php artisan config:cache
And thats it with the caveat of setting up and configuring your development environment. I recommend Laravel Homestead
- Unverified - Level 0
- User - Level 1
- Administrator - Level 5
- view.users
- create.users
- edit.users
- delete.users
| Password | Access | |
|---|---|---|
| user@user.com | password | User Access |
| admin@admin.com | password | Admin Access |
- ThemesTableSeeder
- NOTE: A lot of themes render incorrectly on Bootstrap 4 since their core was built to override Bootstrap 4. These will be updated soon and ones that do not render correctly will be removed from the seed. In the mean time you can remove them from the seed or manaully from the UI or database.
| Slug | Name |
|---|---|
| ipAddress | IP Address |
| domain | Domain Name |
| user | User |
| city | City |
| state | State |
| country | Country |
| countryCode | Country Code |
| continent | Continent |
| region | Region |
| Type | Value | Note |
|---|---|---|
| domain | test.com | Block all domains/emails @test.com |
| domain | test.ca | Block all domains/emails @test.ca |
| domain | fake.com | Block all domains/emails @fake.com |
| domain | example.com | Block all domains/emails @example.com |
| domain | mailinator.com | Block all domains/emails @mailinator.com |
+--------+----------------------------------------+---------------------------------------+---------------------------------------------+---------------------------------------------------------------------------------------------------------+--------------------------------------------------------------+
| Domain | Method | URI | Name | Action | Middleware |
+--------+----------------------------------------+---------------------------------------+---------------------------------------------+---------------------------------------------------------------------------------------------------------+--------------------------------------------------------------+
| | GET|HEAD | / | welcome | App\Http\Controllers\WelcomeController@welcome | web,checkblocked |
| | GET|HEAD | _debugbar/assets/javascript | debugbar.assets.js | Barryvdh\Debugbar\Controllers\AssetController@js | Barryvdh\Debugbar\Middleware\DebugbarEnabled,Closure |
| | GET|HEAD | _debugbar/assets/stylesheets | debugbar.assets.css | Barryvdh\Debugbar\Controllers\AssetController@css | Barryvdh\Debugbar\Middleware\DebugbarEnabled,Closure |
| | DELETE | _debugbar/cache/{key}/{tags?} | debugbar.cache.delete | Barryvdh\Debugbar\Controllers\CacheController@delete | Barryvdh\Debugbar\Middleware\DebugbarEnabled,Closure |
| | GET|HEAD | _debugbar/clockwork/{id} | debugbar.clockwork | Barryvdh\Debugbar\Controllers\OpenHandlerController@clockwork | Barryvdh\Debugbar\Middleware\DebugbarEnabled,Closure |
| | GET|HEAD | _debugbar/open | debugbar.openhandler | Barryvdh\Debugbar\Controllers\OpenHandlerController@handle | Barryvdh\Debugbar\Middleware\DebugbarEnabled,Closure |
| | GET|HEAD | _debugbar/telescope/{id} | debugbar.telescope | Barryvdh\Debugbar\Controllers\TelescopeController@show | Barryvdh\Debugbar\Middleware\DebugbarEnabled,Closure |
| | GET|HEAD | activate | activate | App\Http\Controllers\Auth\ActivateController@initial | web,activity,checkblocked,auth |
| | GET|HEAD | activate/{token} | authenticated.activate | App\Http\Controllers\Auth\ActivateController@activate | web,activity,checkblocked,auth |
| | GET|HEAD | activation | authenticated.activation-resend | App\Http\Controllers\Auth\ActivateController@resend | web,activity,checkblocked,auth |
| | GET|HEAD | activation-required | activation-required | App\Http\Controllers\Auth\ActivateController@activationRequired | web,auth,activated,activity,checkblocked |
| | GET|HEAD | active-users | | App\Http\Controllers\AdminDetailsController@activeUsers | web,auth,activated,role:admin,activity,twostep,checkblocked |
| | GET|HEAD | activity | activity | jeremykenedy\LaravelLogger\App\Http\Controllers\LaravelLoggerController@showAccessLog | web,auth,activity,role:admin |
| | DELETE | activity/clear-activity | clear-activity | jeremykenedy\LaravelLogger\App\Http\Controllers\LaravelLoggerController@clearActivityLog | web,auth,activity,role:admin |
| | GET|HEAD | activity/cleared | cleared | jeremykenedy\LaravelLogger\App\Http\Controllers\LaravelLoggerController@showClearedActivityLog | web,auth,activity,role:admin |
| | GET|HEAD | activity/cleared/log/{id} | | jeremykenedy\LaravelLogger\App\Http\Controllers\LaravelLoggerController@showClearedAccessLogEntry | web,auth,activity,role:admin |
| | DELETE | activity/destroy-activity | destroy-activity | jeremykenedy\LaravelLogger\App\Http\Controllers\LaravelLoggerController@destroyActivityLog | web,auth,activity,role:admin |
| | GET|HEAD | activity/log/{id} | | jeremykenedy\LaravelLogger\App\Http\Controllers\LaravelLoggerController@showAccessLogEntry | web,auth,activity,role:admin |
| | POST | activity/restore-log | restore-activity | jeremykenedy\LaravelLogger\App\Http\Controllers\LaravelLoggerController@restoreClearedActivityLog | web,auth,activity,role:admin |
| | POST | avatar/upload | avatar.upload | App\Http\Controllers\ProfilesController@upload | web,auth,activated,currentUser,activity,twostep,checkblocked |
| | GET|HEAD | blocker | laravelblocker::blocker.index | jeremykenedy\LaravelBlocker\App\Http\Controllers\LaravelBlockerController@index | web,checkblocked,auth,activated,role:admin,activity,twostep |
| | POST | blocker | laravelblocker::blocker.store | jeremykenedy\LaravelBlocker\App\Http\Controllers\LaravelBlockerController@store | web,checkblocked,auth,activated,role:admin,activity,twostep |
| | GET|HEAD | blocker-deleted | laravelblocker::blocker-deleted | jeremykenedy\LaravelBlocker\App\Http\Controllers\LaravelBlockerDeletedController@index | web,checkblocked,auth,activated,role:admin,activity,twostep |
| | DELETE | blocker-deleted-destroy-all | laravelblocker::destroy-all-blocked | jeremykenedy\LaravelBlocker\App\Http\Controllers\LaravelBlockerDeletedController@destroyAllItems | web,checkblocked,auth,activated,role:admin,activity,twostep |
| | POST | blocker-deleted-restore-all | laravelblocker::blocker-deleted-restore-all | jeremykenedy\LaravelBlocker\App\Http\Controllers\LaravelBlockerDeletedController@restoreAllBlockedItems | web,checkblocked,auth,activated,role:admin,activity,twostep |
| | PUT | blocker-deleted/{id} | laravelblocker::blocker-item-restore | jeremykenedy\LaravelBlocker\App\Http\Controllers\LaravelBlockerDeletedController@restoreBlockedItem | web,checkblocked,auth,activated,role:admin,activity,twostep |
| | GET|HEAD | blocker-deleted/{id} | laravelblocker::blocker-item-show-deleted | jeremykenedy\LaravelBlocker\App\Http\Controllers\LaravelBlockerDeletedController@show | web,checkblocked,auth,activated,role:admin,activity,twostep |
| | DELETE | blocker-deleted/{id} | laravelblocker::blocker-item-destroy | jeremykenedy\LaravelBlocker\App\Http\Controllers\LaravelBlockerDeletedController@destroy | web,checkblocked,auth,activated,role:admin,activity,twostep |
| | GET|HEAD | blocker/create | laravelblocker::blocker.create | jeremykenedy\LaravelBlocker\App\Http\Controllers\LaravelBlockerController@create | web,checkblocked,auth,activated,role:admin,activity,twostep |
| | PUT|PATCH | blocker/{blocker} | laravelblocker::blocker.update | jeremykenedy\LaravelBlocker\App\Http\Controllers\LaravelBlockerController@update | web,checkblocked,auth,activated,role:admin,activity,twostep |
| | DELETE | blocker/{blocker} | laravelblocker::blocker.destroy | jeremykenedy\LaravelBlocker\App\Http\Controllers\LaravelBlockerController@destroy | web,checkblocked,auth,activated,role:admin,activity,twostep |
| | GET|HEAD | blocker/{blocker} | laravelblocker::blocker.show | jeremykenedy\LaravelBlocker\App\Http\Controllers\LaravelBlockerController@show | web,checkblocked,auth,activated,role:admin,activity,twostep |
| | GET|HEAD | blocker/{blocker}/edit | laravelblocker::blocker.edit | jeremykenedy\LaravelBlocker\App\Http\Controllers\LaravelBlockerController@edit | web,checkblocked,auth,activated,role:admin,activity,twostep |
| | GET|POST|HEAD | broadcasting/auth | | Illuminate\Broadcasting\BroadcastController@authenticate | web |
| | GET|HEAD | exceeded | exceeded | App\Http\Controllers\Auth\ActivateController@exceeded | web,activity,checkblocked,auth |
| | GET|HEAD | home | public.home | App\Http\Controllers\UserController@index | web,auth,activated,activity,twostep,checkblocked |
| | GET|HEAD | images/profile/{id}/avatar/{image} | | App\Http\Controllers\ProfilesController@userProfileAvatar | web,auth,activated,currentUser,activity,twostep,checkblocked |
| | GET|HEAD | login | login | App\Http\Controllers\Auth\LoginController@showLoginForm | web,guest |
| | POST | login | | App\Http\Controllers\Auth\LoginController@login | web,guest |
| | GET|HEAD | logout | logout | App\Http\Controllers\Auth\LoginController@logout | web,auth,activated,activity,checkblocked |
| | POST | logout | logout | App\Http\Controllers\Auth\LoginController@logout | web |
| | GET|HEAD | logs | | Rap2hpoutre\LaravelLogViewer\LogViewerController@index | web,auth,activated,role:admin,activity,twostep,checkblocked |
| | POST | password/email | password.email | App\Http\Controllers\Auth\ForgotPasswordController@sendResetLinkEmail | web,guest |
| | POST | password/reset | password.update | App\Http\Controllers\Auth\ResetPasswordController@reset | web,guest |
| | GET|HEAD | password/reset | password.request | App\Http\Controllers\Auth\ForgotPasswordController@showLinkRequestForm | web,guest |
| | GET|HEAD | password/reset/{token} | password.reset | App\Http\Controllers\Auth\ResetPasswordController@showResetForm | web,guest |
| | GET|HEAD|POST|PUT|PATCH|DELETE|OPTIONS | php | | Illuminate\Routing\RedirectController | web |
| | GET|HEAD | phpinfo | laravelPhpInfo::phpinfo | jeremykenedy\LaravelPhpInfo\App\Http\Controllers\LaravelPhpInfoController@phpinfo | web,auth,activated,role:admin,activity,twostep |
| | GET|HEAD | profile/create | profile.create | App\Http\Controllers\ProfilesController@create | web,auth,activated,currentUser,activity,twostep,checkblocked |
| | PUT|PATCH | profile/{profile} | profile.update | App\Http\Controllers\ProfilesController@update | web,auth,activated,currentUser,activity,twostep,checkblocked |
| | GET|HEAD | profile/{profile} | profile.show | App\Http\Controllers\ProfilesController@show | web,auth,activated,currentUser,activity,twostep,checkblocked |
| | GET|HEAD | profile/{profile}/edit | profile.edit | App\Http\Controllers\ProfilesController@edit | web,auth,activated,currentUser,activity,twostep,checkblocked |
| | GET|HEAD | profile/{username} | {username} | App\Http\Controllers\ProfilesController@show | web,auth,activated,activity,twostep,checkblocked |
| | DELETE | profile/{username}/deleteUserAccount | {username} | App\Http\Controllers\ProfilesController@deleteUserAccount | web,auth,activated,currentUser,activity,twostep,checkblocked |
| | PUT | profile/{username}/updateUserAccount | {username} | App\Http\Controllers\ProfilesController@updateUserAccount | web,auth,activated,currentUser,activity,twostep,checkblocked |
| | PUT | profile/{username}/updateUserPassword | {username} | App\Http\Controllers\ProfilesController@updateUserPassword | web,auth,activated,currentUser,activity,twostep,checkblocked |
| | GET|HEAD | re-activate/{token} | user.reactivate | App\Http\Controllers\RestoreUserController@userReActivate | web,activity,checkblocked |
| | POST | register | | App\Http\Controllers\Auth\RegisterController@register | web,guest |
| | GET|HEAD | register | register | App\Http\Controllers\Auth\RegisterController@showRegistrationForm | web,guest |
| | GET|HEAD | routes | | App\Http\Controllers\AdminDetailsController@listRoutes | web,auth,activated,role:admin,activity,twostep,checkblocked |
| | POST | search-blocked | laravelblocker::search-blocked | jeremykenedy\LaravelBlocker\App\Http\Controllers\LaravelBlockerController@search | web,checkblocked,auth,activated,role:admin,activity,twostep |
| | POST | search-blocked-deleted | laravelblocker::search-blocked-deleted | jeremykenedy\LaravelBlocker\App\Http\Controllers\LaravelBlockerDeletedController@search | web,checkblocked,auth,activated,role:admin,activity,twostep |
| | POST | search-users | search-users | App\Http\Controllers\UsersManagementController@search | web,auth,activated,role:admin,activity,twostep,checkblocked |
| | GET|HEAD | social/handle/{provider} | social.handle | App\Http\Controllers\Auth\SocialController@getSocialHandle | web,activity,checkblocked |
| | GET|HEAD | social/redirect/{provider} | social.redirect | App\Http\Controllers\Auth\SocialController@getSocialRedirect | web,activity,checkblocked |
| | GET|HEAD | themes | themes | App\Http\Controllers\ThemesManagementController@index | web,auth,activated,role:admin,activity,twostep,checkblocked |
| | POST | themes | themes.store | App\Http\Controllers\ThemesManagementController@store | web,auth,activated,role:admin,activity,twostep,checkblocked |
| | GET|HEAD | themes/create | themes.create | App\Http\Controllers\ThemesManagementController@create | web,auth,activated,role:admin,activity,twostep,checkblocked |
| | DELETE | themes/{theme} | themes.destroy | App\Http\Controllers\ThemesManagementController@destroy | web,auth,activated,role:admin,activity,twostep,checkblocked |
| | PUT|PATCH | themes/{theme} | themes.update | App\Http\Controllers\ThemesManagementController@update | web,auth,activated,role:admin,activity,twostep,checkblocked |
| | GET|HEAD | themes/{theme} | themes.show | App\Http\Controllers\ThemesManagementController@show | web,auth,activated,role:admin,activity,twostep,checkblocked |
| | GET|HEAD | themes/{theme}/edit | themes.edit | App\Http\Controllers\ThemesManagementController@edit | web,auth,activated,role:admin,activity,twostep,checkblocked |
| | POST | users | users.store | App\Http\Controllers\UsersManagementController@store | web,auth,activated,role:admin,activity,twostep,checkblocked |
| | GET|HEAD | users | users | App\Http\Controllers\UsersManagementController@index | web,auth,activated,role:admin,activity,twostep,checkblocked |
| | GET|HEAD | users/create | users.create | App\Http\Controllers\UsersManagementController@create | web,auth,activated,role:admin,activity,twostep,checkblocked |
| | GET|HEAD | users/deleted | deleted.index | App\Http\Controllers\SoftDeletesController@index | web,auth,activated,role:admin,activity,twostep,checkblocked |
| | DELETE | users/deleted/{deleted} | deleted.destroy | App\Http\Controllers\SoftDeletesController@destroy | web,auth,activated,role:admin,activity,twostep,checkblocked |
| | PUT|PATCH | users/deleted/{deleted} | deleted.update | App\Http\Controllers\SoftDeletesController@update | web,auth,activated,role:admin,activity,twostep,checkblocked |
| | GET|HEAD | users/deleted/{deleted} | deleted.show | App\Http\Controllers\SoftDeletesController@show | web,auth,activated,role:admin,activity,twostep,checkblocked |
| | DELETE | users/{user} | user.destroy | App\Http\Controllers\UsersManagementController@destroy | web,auth,activated,role:admin,activity,twostep,checkblocked |
| | PUT|PATCH | users/{user} | users.update | App\Http\Controllers\UsersManagementController@update | web,auth,activated,role:admin,activity,twostep,checkblocked |
| | GET|HEAD | users/{user} | users.show | App\Http\Controllers\UsersManagementController@show | web,auth,activated,role:admin,activity,twostep,checkblocked |
| | GET|HEAD | users/{user}/edit | users.edit | App\Http\Controllers\UsersManagementController@edit | web,auth,activated,role:admin,activity,twostep,checkblocked |
| | GET|HEAD | verification/needed | laravel2step::verificationNeeded | jeremykenedy\laravel2step\App\Http\Controllers\TwoStepController@showVerification | web,auth,Closure |
| | POST | verification/resend | laravel2step::resend | jeremykenedy\laravel2step\App\Http\Controllers\TwoStepController@resend | web,auth,Closure |
| | POST | verification/verify | laravel2step::verify | jeremykenedy\laravel2step\App\Http\Controllers\TwoStepController@verify | web,auth,Closure |
+--------+----------------------------------------+---------------------------------------+---------------------------------------------+---------------------------------------------------------------------------------------------------------+--------------------------------------------------------------+
- Google Captcha API
- Facebook API
- Twitter API
- Google + API
- GitHub API
- YouTube API
- Twitch TV API
- Instagram API
- 37 Signals API
- See full list of providers: https://socialiteproviders.github.io
-
Go to https://socialiteproviders.github.io and select the provider to be added.
-
From the projects root folder, in the terminal, run composer to get the needed package.
- Example:
composer require socialiteproviders/twitch -
From the projects root folder run
composer update -
Add the service provider to
/config/services.php- Example:
'twitch' => [ 'client_id' => env('TWITCH_KEY'), 'client_secret' => env('TWITCH_SECRET'), 'redirect' => env('TWITCH_REDIRECT_URI'), ], -
Add the API credentials to
/.env- Example:
TWITCH_KEY=YOURKEYHERE TWITCH_SECRET=YOURSECRETHERE TWITCH_REDIRECT_URI=http://YOURWEBSITEURL.COM/social/handle/twitch -
Add the social media login link:
-
Example: In file
/resources/views/auth/login.blade.phpadd ONE of the following:- Conventional HTML:
<a href="{{ route('social.redirect', ['provider' => 'twitch']) }}" class="btn btn-lg btn-primary btn-block twitch">Twitch</a>- Use Laravel HTML Facade with Laravel Collective:
{!! HTML::link(route('social.redirect', ['provider' => 'twitch']), 'Twitch', array('class' => 'btn btn-lg btn-primary btn-block twitch')) !!}
-
Example .env file:
APP_NAME=Laravel
APP_ENV=local
APP_KEY=
APP_DEBUG=true
APP_URL=http://localhost
APP_PROJECT_VERSION=5
LOG_CHANNEL=stack
DB_CONNECTION=mysql
DB_HOST=127.0.0.1
DB_PORT=3306
DB_DATABASE=laravelAuth
DB_USERNAME=homestead
DB_PASSWORD=secret
BROADCAST_DRIVER=pusher
CACHE_DRIVER=file
SESSION_DRIVER=file
SESSION_LIFETIME=120
QUEUE_DRIVER=sync
REDIS_HOST=127.0.0.1
REDIS_PASSWORD=null
REDIS_PORT=6379
MAIL_DRIVER=smtp
MAIL_HOST=smtp.mailtrap.io
MAIL_PORT=2525
MAIL_USERNAME=null
MAIL_PASSWORD=null
MAIL_ENCRYPTION=null
MAIL_FROM_ADDRESS=
MAIL_FROM_NAME=''
EMAIL_EXCEPTION_ENABLED=false
EMAIL_EXCEPTION_FROM=email@email.com
EMAIL_EXCEPTION_TO='email1@gmail.com, email2@gmail.com'
EMAIL_EXCEPTION_CC=''
EMAIL_EXCEPTION_BCC=''
EMAIL_EXCEPTION_SUBJECT=''
PUSHER_APP_ID=
PUSHER_APP_KEY=
PUSHER_APP_SECRET=
PUSHER_APP_CLUSTER=
MIX_PUSHER_APP_KEY="${PUSHER_APP_KEY}"
MIX_PUSHER_APP_CLUSTER="${PUSHER_APP_CLUSTER}"
ACTIVATION=true
ACTIVATION_LIMIT_TIME_PERIOD=24
ACTIVATION_LIMIT_MAX_ATTEMPTS=3
NULL_IP_ADDRESS=0.0.0.0
DEBUG_BAR_ENVIRONMENT=local
USER_RESTORE_CUTOFF_DAYS=31
USER_RESTORE_ENCRYPTION_KEY=
USER_LIST_PAGINATION_SIZE=50
LARAVEL_2STEP_ENABLED=false
LARAVEL_2STEP_DATABASE_CONNECTION=mysql
LARAVEL_2STEP_DATABASE_TABLE=laravel2step
LARAVEL_2STEP_USER_MODEL=App\User
LARAVEL_2STEP_EMAIL_FROM="jeremykenedy@gmail.com"
LARAVEL_2STEP_EMAIL_FROM_NAME="Laravel 2 Step Verification"
LARAVEL_2STEP_EMAIL_SUBJECT='Laravel 2 Step Verification'
LARAVEL_2STEP_EXCEEDED_COUNT=3
LARAVEL_2STEP_EXCEEDED_COUNTDOWN_MINUTES=1440
LARAVEL_2STEP_VERIFIED_LIFETIME_MINUTES=360
LARAVEL_2STEP_RESET_BUFFER_IN_SECONDS=300
LARAVEL_2STEP_CSS_FILE="css/laravel2step/app.css"
LARAVEL_2STEP_APP_CSS_ENABLED=false
LARAVEL_2STEP_APP_CSS="css/app.css"
LARAVEL_2STEP_BOOTSTRAP_CSS_CDN_ENABLED=true
LARAVEL_2STEP_BOOTSTRAP_CSS_CDN="https://maxcdn.bootstrapcdn.com/bootstrap/4.0.0/css/bootstrap.min.css"
DEFAULT_GRAVATAR_SIZE=80
DEFAULT_GRAVATAR_FALLBACK=http://c1940652.r52.cf0.rackcdn.com/51ce28d0fb4f442061000000/Screen-Shot-2013-06-28-at-5.22.23-PM.png
DEFAULT_GRAVATAR_SECURE=false
DEFAULT_GRAVATAR_MAX_RATING=g
DEFAULT_GRAVATAR_FORCE_DEFAULT=false
DEFAULT_GRAVATAR_FORCE_EXTENSION=jpg
DROPZONE_JS_CDN=https://cdnjs.cloudflare.com/ajax/libs/dropzone/5.4.0/dropzone.js
LARAVEL_LOGGER_DATABASE_CONNECTION=mysql
LARAVEL_LOGGER_DATABASE_TABLE=laravel_logger_activity
LARAVEL_LOGGER_ROLES_ENABLED=true
LARAVEL_LOGGER_ROLES_MIDDLWARE=role:admin
LARAVEL_LOGGER_MIDDLEWARE_ENABLED=true
LARAVEL_LOGGER_USER_MODEL=App\Models\User
LARAVEL_LOGGER_PAGINATION_ENABLED=true
LARAVEL_LOGGER_PAGINATION_PER_PAGE=25
LARAVEL_LOGGER_DATATABLES_ENABLED=false
LARAVEL_LOGGER_DASHBOARD_MENU_ENABLED=true
LARAVEL_LOGGER_DASHBOARD_DRILLABLE=true
LARAVEL_LOGGER_LOG_RECORD_FAILURES_TO_FILE=true
LARAVEL_LOGGER_FLASH_MESSAGE_BLADE_ENABLED=false
LARAVEL_LOGGER_JQUERY_CDN_ENABLED=false
LARAVEL_LOGGER_JQUERY_CDN_URL=https://code.jquery.com/jquery-2.2.4.min.js
LARAVEL_LOGGER_BLADE_CSS_PLACEMENT_ENABLED=true
LARAVEL_LOGGER_BLADE_JS_PLACEMENT_ENABLED=true
LARAVEL_LOGGER_BOOTSTRAP_JS_CDN_ENABLED=false
LARAVEL_LOGGER_BOOTSTRAP_JS_CDN_URL=https://maxcdn.bootstrapcdn.com/bootstrap/4.0.0/js/bootstrap.min.js
LARAVEL_LOGGER_FONT_AWESOME_CDN_ENABLED=false
LARAVEL_LOGGER_FONT_AWESOME_CDN_URL=https://maxcdn.bootstrapcdn.com/font-awesome/4.7.0/css/font-awesome.min.css
LARAVEL_LOGGER_BOOTSTRAP_CSS_CDN_ENABLED=false
LARAVEL_LOGGER_BOOTSTRAP_CSS_CDN_URL=https://maxcdn.bootstrapcdn.com/bootstrap/4.0.0/css/bootstrap.min.css
LARAVEL_BLOCKER_USER_MODEL='App\Models\User'
LARAVEL_BLOCKER_AUTH_ENABLED=true
LARAVEL_BLOCKER_ROLES_ENABLED=true
LARAVEL_BLOCKER_FLASH_MESSAGES_ENABLED=false
LARAVEL_BLOCKER_JQUERY_CDN_ENABLED=false
LARAVEL_BLOCKER_BLADE_PLACEMENT_CSS='template_linked_css'
LARAVEL_BLOCKER_BLADE_PLACEMENT_JS='footer_scripts'
LARAVEL_BLOCKER_USE_TYPES_SEED_PUBLISHED=true
LARAVEL_BLOCKER_USE_ITEMS_SEED_PUBLISHED=true
// NOTE: YOU CAN REMOVE THE KEY CALL IN app.blade.php IF YOU GET A POP UP AND DO NOT WANT TO SETUP A KEY FOR DEV
# Google Maps API v3 Key - https://developers.google.com/maps/documentation/javascript/get-api-key#get-an-api-key
GOOGLEMAPS_API_STATUS=true
GOOGLEMAPS_API_KEY=YOURGOOGLEMAPSkeyHERE
# https://console.developers.google.com/ - NEED OAUTH CREDS
GOOGLE_ID=YOURGOOGLEPLUSidHERE
GOOGLE_SECRET=YOURGOOGLEPLUSsecretHERE
GOOGLE_REDIRECT=http://yourwebsiteURLhere.com/social/handle/google
# https://www.google.com/recaptcha/admin#list
ENABLE_RECAPTCHA=true
RE_CAP_SITE=YOURGOOGLECAPTCHAsitekeyHERE
RE_CAP_SECRET=YOURGOOGLECAPTCHAsecretHERE
# https://developers.facebook.com/
FB_ID=YOURFACEBOOKidHERE
FB_SECRET=YOURFACEBOOKsecretHERE
FB_REDIRECT=http://yourwebsiteURLhere.com/social/handle/facebook
# https://apps.twitter.com/
TW_ID=YOURTWITTERidHERE
TW_SECRET=YOURTWITTERkeyHERE
TW_REDIRECT=http://yourwebsiteURLhere.com/social/handle/twitter
# https://github.com/settings/applications/new
GITHUB_ID=YOURIDHERE
GITHUB_SECRET=YOURSECRETHERE
GITHUB_URL=https://larablog.io/social/handle/github
# https://developers.google.com/youtube/v3/getting-started
YOUTUBE_KEY=YOURKEYHERE
YOUTUBE_SECRET=YOURSECRETHERE
YOUTUBE_REDIRECT_URI=https://larablog.io/social/handle/youtube
# http://www.twitch.tv/kraken/oauth2/clients/new
TWITCH_KEY=YOURKEYHERE
TWITCH_SECRET=YOURSECRETHERE
TWITCH_REDIRECT_URI=http://laravel-authentication.local/social/handle/twitch
# https://instagram.com/developer/register/
INSTAGRAM_KEY=YOURKEYHERE
INSTAGRAM_SECRET=YOURSECRETHERE
INSTAGRAM_REDIRECT_URI=http://laravel-authentication.local/social/handle/instagram
# https://basecamp.com/
# https://github.com/basecamp/basecamp-classic-api
37SIGNALS_KEY=YOURKEYHERE
37SIGNALS_SECRET=YOURSECRETHERE
37SIGNALS_REDIRECT_URI=http://laravel-authentication.local/social/handle/37signals
- https://laravel.com/docs/5.8/authentication
- https://laravel.com/docs/5.8/authorization
- https://laravel.com/docs/5.8/routing
- https://laravel.com/docs/5.8/migrations
- https://laravel.com/docs/5.8/queries
- https://laravel.com/docs/5.8/views
- https://laravel.com/docs/5.8/eloquent
- https://laravel.com/docs/5.8/eloquent-relationships
- https://laravel.com/docs/5.8/requests
- https://laravel.com/docs/5.8/errors
- Update to Laravel 5.8
- Added Laravel Blocker Package
- Added PHP Info Package
- Update to Bootstrap 4
- Update to Laravel 5.7
- Added optional 2-step account login verfication with Laravel 2-Step Verification
- Added activity logging using Laravel-logger
- Added Configurable Email Notification using Laravel-Exception-Notifier
- Update to Laravel 5.5
- Added User Delete with Goodbye email
- Added User Restore Deleted Account from email with secure token
- Added Soft Deletes and Soft Deletes Management panel
- Added User Account Settings to Profile Edit
- Added User Change Password to Profile Edit
- Added User Delete Account to Profile Edit
- Added Password Strength Meter
- Added hideShowPassword
- Added Admin Routing Details
- Admin PHP Information
- Added Robust Laravel Logging with admin UI using MonoLog
- Added Active Nav states using Laravel Requests
- Added Laravel Debugger with Service Provider to manage status in
.envfile. - Updated Capture IP not found IP address
- Added User Avatar Image AJAX Upload with Dropzone.js
- Added User Gravatar using Gravatar API
- Added Themes Management.
- Add user profiles with seeded list and global view
- Major overhaul on Laravel 5.4
- Update from Laravel 5.1 to 5.2
- Added eloquent editable user profile
- Added IP Capture
- Added Google Maps API v3 for User Location lookup
- Added Google Maps API v3 for User Location Input Geocoding
- Added Google Maps API v3 for User Location Map with Options
- Added CRUD(Create, Read, Update, Delete) User Management
laravel-auth
âââ .env.example
âââ .env.travis
âââ .gitattributes
âââ .gitignore
âââ .travis.yml
âââ CODE_OF_CONDUCT.md
âââ LICENSE
âââ README.md
âââ app
â  âââ Console
â  â  âââ Commands
â  â  â  âââ DeleteExpiredActivations.php
â  â  âââ Kernel.php
â  âââ Exceptions
â  â  âââ Handler.php
â  âââ Http
â  â  âââ Controllers
â  â  â  âââ AdminDetailsController.php
â  â  â  âââ Auth
â  â  â  â  âââ ActivateController.php
â  â  â  â  âââ ForgotPasswordController.php
â  â  â  â  âââ LoginController.php
â  â  â  â  âââ RegisterController.php
â  â  â  â  âââ ResetPasswordController.php
â  â  â  â  âââ SocialController.php
â  â  â  âââ Controller.php
â  â  â  âââ ProfilesController.php
â  â  â  âââ RestoreUserController.php
â  â  â  âââ SoftDeletesController.php
â  â  â  âââ ThemesManagementController.php
â  â  â  âââ UserController.php
â  â  â  âââ UsersManagementController.php
â  â  â  âââ WelcomeController.php
â  â  âââ Kernel.php
â  â  âââ Middleware
â  â  â  âââ Authenticate.php
â  â  â  âââ CheckCurrentUser.php
â  â  â  âââ CheckIsUserActivated.php
â  â  â  âââ EncryptCookies.php
â  â  â  âââ RedirectIfAuthenticated.php
â  â  â  âââ TrimStrings.php
â  â  â  âââ TrustProxies.php
â  â  â  âââ VerifyCsrfToken.php
â  â  âââ Requests
â  â  â  âââ DeleteUserAccount.php
â  â  â  âââ UpdateUserPasswordRequest.php
â  â  â  âââ UpdateUserProfile.php
â  â  âââ ViewComposers
â  â  âââ ThemeComposer.php
â  âââ Logic
â  â  âââ Activation
â  â  â  âââ ActivationRepository.php
â  â  âââ Macros
â  â  âââ HtmlMacros.php
â  âââ Mail
â  â  âââ ExceptionOccured.php
â  âââ Models
â  â  âââ Activation.php
â  â  âââ Profile.php
â  â  âââ Social.php
â  â  âââ Theme.php
â  â  âââ User.php
â  âââ Notifications
â  â  âââ SendActivationEmail.php
â  â  âââ SendGoodbyeEmail.php
â  âââ Providers
â  â  âââ AppServiceProvider.php
â  â  âââ AuthServiceProvider.php
â  â  âââ BroadcastServiceProvider.php
â  â  âââ ComposerServiceProvider.php
â  â  âââ EventServiceProvider.php
â  â  âââ LocalEnvironmentServiceProvider.php
â  â  âââ MacroServiceProvider.php
â  â  âââ RouteServiceProvider.php
â  âââ Traits
â  âââ ActivationTrait.php
â  âââ CaptchaTrait.php
â  âââ CaptureIpTrait.php
âââ artisan
âââ bootstrap
â  âââ app.php
â  âââ autoload.php
â  âââ cache
â  âââ .gitignore
â  âââ packages.php
â  âââ services.php
âââ composer.json
âââ config
â  âââ app.php
â  âââ auth.php
â  âââ broadcasting.php
â  âââ cache.php
â  âââ database.php
â  âââ debugbar.php
â  âââ exceptions.php
â  âââ filesystems.php
â  âââ gravatar.php
â  âââ hashing.php
â  âââ laravel2step.php
â  âââ laravelPhpInfo.php
â  âââ laravelblocker.php
â  âââ logging.php
â  âââ mail.php
â  âââ queue.php
â  âââ roles.php
â  âââ services.php
â  âââ session.php
â  âââ settings.php
â  âââ usersmanagement.php
â  âââ view.php
âââ database
â  âââ .gitignore
â  âââ factories
â  â  âââ ModelFactory.php
â  âââ migrations
â  â  âââ 2014_10_12_000000_create_users_table.php
â  â  âââ 2014_10_12_100000_create_password_resets_table.php
â  â  âââ 2016_01_15_105324_create_roles_table.php
â  â  âââ 2016_01_15_114412_create_role_user_table.php
â  â  âââ 2016_01_26_115212_create_permissions_table.php
â  â  âââ 2016_01_26_115523_create_permission_role_table.php
â  â  âââ 2016_02_09_132439_create_permission_user_table.php
â  â  âââ 2017_03_09_082449_create_social_logins_table.php
â  â  âââ 2017_03_09_082526_create_activations_table.php
â  â  âââ 2017_03_20_213554_create_themes_table.php
â  â  âââ 2017_03_21_042918_create_profiles_table.php
â  â  âââ 2017_12_09_070937_create_two_step_auth_table.php
â  â  âââ 2019_02_19_032636_create_laravel_blocker_types_table.php
â  â  âââ 2019_02_19_045158_create_laravel_blocker_table.php
â  âââ seeds
â  âââ BlockedItemsTableSeeder.php
â  âââ BlockedTypeTableSeeder.php
â  âââ ConnectRelationshipsSeeder.php
â  âââ DatabaseSeeder.php
â  âââ PermissionsTableSeeder.php
â  âââ RolesTableSeeder.php
â  âââ ThemesTableSeeder.php
â  âââ UsersTableSeeder.php
âââ license.svg
âââ package.json
âââ phpunit.xml
âââ public
â  âââ .htaccess
â  âââ css
â  â  âââ app.css
â  â  âââ laravel2step
â  â  âââ app.css
â  â  âââ app.min.css
â  âââ favicon.ico
â  âââ fonts
â  â  âââ fontawesome-webfont.eot
â  â  âââ fontawesome-webfont.svg
â  â  âââ fontawesome-webfont.ttf
â  â  âââ fontawesome-webfont.woff
â  â  âââ fontawesome-webfont.woff2
â  â  âââ glyphicons-halflings-regular.eot
â  â  âââ glyphicons-halflings-regular.svg
â  â  âââ glyphicons-halflings-regular.ttf
â  â  âââ glyphicons-halflings-regular.woff
â  â  âââ glyphicons-halflings-regular.woff2
â  âââ images
â  â  âââ wink.png
â  â  âââ wink.svg
â  âââ index.php
â  âââ js
â  â  âââ app.99230f42ad184f498ce6.js
â  â  âââ app.js
â  âââ mix-manifest.json
â  âââ robots.txt
â  âââ web.config
âââ resources
â  âââ assets
â  â  âââ js
â  â  â  âââ app.js
â  â  â  âââ bootstrap.js
â  â  â  âââ components
â  â  â  âââ ExampleComponent.vue
â  â  â  âââ UsersCount.vue
â  â  âââ sass
â  â  âââ _avatar.scss
â  â  âââ _badges.scss
â  â  âââ _bootstrap-social.scss
â  â  âââ _buttons.scss
â  â  âââ _forms.scss
â  â  âââ _helpers.scss
â  â  âââ _hideShowPassword.scss
â  â  âââ _lists.scss
â  â  âââ _logs.scss
â  â  âââ _margins.scss
â  â  âââ _mixins.scss
â  â  âââ _modals.scss
â  â  âââ _panels.scss
â  â  âââ _password.scss
â  â  âââ _socials.scss
â  â  âââ _typography.scss
â  â  âââ _user-profile.scss
â  â  âââ _variables.scss
â  â  âââ _visibility.scss
â  â  âââ _wells.scss
â  â  âââ app.scss
â  âââ lang
â  â  âââ en
â  â  â  âââ auth.php
â  â  â  âââ emails.php
â  â  â  âââ forms.php
â  â  â  âââ modals.php
â  â  â  âââ pagination.php
â  â  â  âââ passwords.php
â  â  â  âââ permsandroles.php
â  â  â  âââ profile.php
â  â  â  âââ socials.php
â  â  â  âââ themes.php
â  â  â  âââ titles.php
â  â  â  âââ usersmanagement.php
â  â  â  âââ validation.php
â  â  âââ fr
â  â  â  âââ auth.php
â  â  â  âââ emails.php
â  â  â  âââ forms.php
â  â  â  âââ modals.php
â  â  â  âââ pagination.php
â  â  â  âââ passwords.php
â  â  â  âââ permsandroles.php
â  â  â  âââ profile.php
â  â  â  âââ socials.php
â  â  â  âââ titles.php
â  â  â  âââ usersmanagement.php
â  â  â  âââ validation.php
â  â  âââ pt-br
â  â  âââ auth.php
â  â  âââ emails.php
â  â  âââ forms.php
â  â  âââ modals.php
â  â  âââ pagination.php
â  â  âââ passwords.php
â  â  âââ permsandroles.php
â  â  âââ profile.php
â  â  âââ socials.php
â  â  âââ themes.php
â  â  âââ titles.php
â  â  âââ usersmanagement.php
â  â  âââ validation.php
â  âââ views
â  âââ auth
â  â  âââ activation.blade.php
â  â  âââ exceeded.blade.php
â  â  âââ login.blade.php
â  â  âââ passwords
â  â  â  âââ email.blade.php
â  â  â  âââ reset.blade.php
â  â  âââ register.blade.php
â  âââ emails
â  â  âââ exception.blade.php
â  âââ errors
â  â  âââ 403.blade.php
â  â  âââ 404.blade.php
â  â  âââ 500.blade.php
â  â  âââ 503.blade.php
â  âââ home.blade.php
â  âââ layouts
â  â  âââ app.blade.php
â  âââ modals
â  â  âââ modal-delete.blade.php
â  â  âââ modal-form.blade.php
â  â  âââ modal-save.blade.php
â  âââ pages
â  â  âââ admin
â  â  â  âââ active-users.blade.php
â  â  â  âââ home.blade.php
â  â  â  âââ route-details.blade.php
â  â  âââ status.blade.php
â  â  âââ user
â  â  âââ home.blade.php
â  âââ panels
â  â  âââ welcome-panel.blade.php
â  âââ partials
â  â  âââ errors.blade.php
â  â  âââ form-status.blade.php
â  â  âââ nav.blade.php
â  â  âââ search-users-form.blade.php
â  â  âââ socials-icons.blade.php
â  â  âââ socials.blade.php
â  â  âââ status-panel.blade.php
â  â  âââ status.blade.php
â  âââ profiles
â  â  âââ edit.blade.php
â  â  âââ show.blade.php
â  âââ scripts
â  â  âââ check-changed.blade.php
â  â  âââ datatables.blade.php
â  â  âââ delete-modal-script.blade.php
â  â  âââ form-modal-script.blade.php
â  â  âââ gmaps-address-lookup-api3.blade.php
â  â  âââ google-maps-geocode-and-map.blade.php
â  â  âââ save-modal-script.blade.php
â  â  âââ search-users.blade.php
â  â  âââ toggleStatus.blade.php
â  â  âââ tooltips.blade.php
â  â  âââ user-avatar-dz.blade.php
â  âââ themesmanagement
â  â  âââ add-theme.blade.php
â  â  âââ edit-theme.blade.php
â  â  âââ show-theme.blade.php
â  â  âââ show-themes.blade.php
â  âââ usersmanagement
â  â  âââ create-user.blade.php
â  â  âââ edit-user.blade.php
â  â  âââ show-deleted-user.blade.php
â  â  âââ show-deleted-users.blade.php
â  â  âââ show-user.blade.php
â  â  âââ show-users.blade.php
â  âââ welcome.blade.php
âââ routes
â  âââ api.php
â  âââ channels.php
â  âââ console.php
â  âââ web.php
âââ server.php
âââ webpack.mix.js
- Tree command can be installed using brew:
brew install tree - File tree generated using command
tree -a -I '.git|node_modules|vendor|storage|tests'
Before opening an issue there are a couple of considerations:
- A star on this project shows support and is way to say thank you to all the contributors. If you open an issue without a star, your issue may be closed without consideration. Thank you for understanding and the support. You are all awesome!
- Read the instructions and make sure all steps were followed correctly.
- Check that the issue is not specific to the development environment setup.
- Provide duplication steps.
- Attempt to look into the issue, and if you have a solution, make a pull request.
- Show that you have made an attempt to look into the issue.
- Check to see if the issue you are reporting is a duplicate of a previous reported issue.
- Following these instructions show me that you have tried.
- If you have a questions send me an email to jeremykenedy@gmail.com
- Need some help, I can do my best on Slack: https://opensourcehelpgroup.slack.com
- Please be considerate that this is an open source project that I provide to the community for FREE when opening an issue.
Laravel-auth is licensed under the MIT license. Enjoy!
Thanks goes to these wonderful people (emoji key):
This project follows the all-contributors specification. Contributions of any kind welcome!













































