Giter VIP home page Giter VIP logo

jeremykenedy / laravel-auth Goto Github PK

View Code? Open in Web Editor NEW
3.0K 191.0 988.0 11.57 MB

Laravel 10 with user authentication, registration with email confirmation, social media authentication, password recovery, and captcha protection. Uses offical [Bootstrap 4](http://getbootstrap.com). This also makes full use of Controllers for the routes, templates for the views, and makes use of middleware for routing. 5 Minutes Stand-up time.

Home Page: https://laravel-auth.com/

License: MIT License

PHP 14.94% Vue 0.09% Shell 0.06% Blade 11.45% JavaScript 55.93% CSS 14.12% SCSS 3.43%
laravel socialite socialite-logins social-authentication registration laravel-framework user-profile authentication two-step-authentication gravatar-api

laravel-auth's Introduction

Laravel Auth

Laravel Auth is a Complete Build of Laravel 10 with Email Registration Verification, Social Authentication, User Roles and Permissions, User Profiles, and Admin restricted user management system. Built on Bootstrap 4.

StyleCI Scrutinizer Code Quality Code Intelligence Status All Contributors MadeWithLaravel.com shield License: MIT

Sponsor me on GitHub Sponsor me on Patreon Buy me a Coffee Vultr GitHub Stars Follow on GitHub Follow on Twitter

This project costs me $22/month to be hosted on Vultr.
Please consider supporting my work if you use & find it useful. ❤️

Note

If you like this, you will love Laravel Auth Spa with configurable providers from an admin panel.

Table of contents

About

Laravel 10 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.

Features

A Laravel 10 with Bootstrap 4.x project.

Laravel Auth Features
Built on Laravel 10
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
Roles and Permissions GUI
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

Installation Instructions

  1. Run git clone https://github.com/jeremykenedy/laravel-auth.git laravel-auth
  2. Create a MySQL database for the project
    • mysql -u root -p, if using Vagrant: mysql -u homestead -psecret
    • create database laravelAuth;
    • \q
  3. From the projects root run cp .env.example .env
  4. Configure your .env file
  5. Install composer, php-mysql, php-ext and php-dom (dependent on your distrubtion, For Debian run apt install composer php-mysql php-ext php-dom)
  6. Run composer update from the projects root folder
  7. From the projects root folder run:
php artisan vendor:publish --tag=laravelroles &&
php artisan vendor:publish --tag=laravel2step &&
php artisan vendor:publish --tag=laravel-email-database-log-migration
  1. From the projects root folder run sudo chmod -R 755 ../laravel-auth
  2. From the projects root folder run php artisan key:generate
  3. From the projects root folder run php artisan migrate
  4. From the projects root folder run composer dump-autoload
  5. From the projects root folder run php artisan db:seed
  6. Compile the front end assets with npm steps or yarn steps.

Build the Front End Assets with Mix

Using Yarn:
  1. Install yarn (dependent on your distribution)
  2. From the projects root folder run yarn install
  3. From the projects root folder run yarn run dev or yarn run production
  • You can watch assets with yarn run watch
Using NPM:
  1. From the projects root folder run npm install
  2. From the projects root folder run npm run dev or npm run production
  • You can watch assets with npm run watch

Optionally Build Cache

  1. 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

Seeds

Seeded Roles
  • Unverified - Level 0
  • User - Level 1
  • Administrator - Level 5
Seeded Permissions
  • view.users
  • create.users
  • edit.users
  • delete.users
Seeded Users
Email Password Access
[email protected] password User Access
[email protected] password Admin Access
Themes Seed List
  • 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.
Blocked Types Seed List
Slug Name
email E-mail
ipAddress IP Address
domain Domain Name
user User
city City
state State
country Country
countryCode Country Code
continent Continent
region Region
Blocked Items Seed List
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

Routes

+--------+----------------------------------------+---------------------------------------+-----------------------------------------------+-----------------------------------------------------------------------------------------------------------------+--------------------------------------------------------------+
| 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  |
|        | DELETE                                 | blocker-deleted/{id}                  | laravelblocker::blocker-item-destroy          | jeremykenedy\LaravelBlocker\App\Http\Controllers\LaravelBlockerDeletedController@destroy                        | 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  |
|        | GET|HEAD                               | blocker/create                        | laravelblocker::blocker.create                | jeremykenedy\LaravelBlocker\App\Http\Controllers\LaravelBlockerController@create                                | 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  |
|        | PUT|PATCH                              | blocker/{blocker}                     | laravelblocker::blocker.update                | jeremykenedy\LaravelBlocker\App\Http\Controllers\LaravelBlockerController@update                                | 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|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 |
|        | POST                                   | login                                 |                                               | App\Http\Controllers\Auth\LoginController@login                                                                 | web,guest                                                    |
|        | GET|HEAD                               | login                                 | login                                         | App\Http\Controllers\Auth\LoginController@showLoginForm                                                         | web,guest                                                    |
|        | POST                                   | logout                                | logout                                        | App\Http\Controllers\Auth\LoginController@logout                                                                | web                                                          |
|        | GET|HEAD                               | logout                                | logout                                        | App\Http\Controllers\Auth\LoginController@logout                                                                | web,auth,activated,activity,checkblocked                     |
|        | 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                                                    |
|        | GET|HEAD                               | password/reset                        | password.request                              | App\Http\Controllers\Auth\ForgotPasswordController@showLinkRequestForm                                          | web,guest                                                    |
|        | POST                                   | password/reset                        | password.update                               | App\Http\Controllers\Auth\ResetPasswordController@reset                                                         | web,guest                                                    |
|        | GET|HEAD                               | password/reset/{token}                | password.reset                                | App\Http\Controllers\Auth\ResetPasswordController@showResetForm                                                 | web,guest                                                    |
|        | GET|HEAD                               | permission-deleted/{id}               | laravelroles::permission-show-deleted         | jeremykenedy\LaravelRoles\App\Http\Controllers\LaravelpermissionsDeletedController@show                         | web,auth,role:admin                                          |
|        | DELETE                                 | permission-destroy/{id}               | laravelroles::permission-item-destroy         | jeremykenedy\LaravelRoles\App\Http\Controllers\LaravelpermissionsDeletedController@destroy                      | web,auth,role:admin                                          |
|        | PUT                                    | permission-restore/{id}               | laravelroles::permission-restore              | jeremykenedy\LaravelRoles\App\Http\Controllers\LaravelpermissionsDeletedController@restorePermission            | web,auth,role:admin                                          |
|        | POST                                   | permissions                           | laravelroles::permissions.store               | jeremykenedy\LaravelRoles\App\Http\Controllers\LaravelPermissionsController@store                               | web,auth,role:admin                                          |
|        | GET|HEAD                               | permissions                           | laravelroles::permissions.index               | jeremykenedy\LaravelRoles\App\Http\Controllers\LaravelPermissionsController@index                               | web,auth,role:admin                                          |
|        | GET|HEAD                               | permissions-deleted                   | laravelroles::permissions-deleted             | jeremykenedy\LaravelRoles\App\Http\Controllers\LaravelpermissionsDeletedController@index                        | web,auth,role:admin                                          |
|        | DELETE                                 | permissions-deleted-destroy-all       | laravelroles::destroy-all-deleted-permissions | jeremykenedy\LaravelRoles\App\Http\Controllers\LaravelpermissionsDeletedController@destroyAllDeletedPermissions | web,auth,role:admin                                          |
|        | POST                                   | permissions-deleted-restore-all       | laravelroles::permissions-deleted-restore-all | jeremykenedy\LaravelRoles\App\Http\Controllers\LaravelpermissionsDeletedController@restoreAllDeletedPermissions | web,auth,role:admin                                          |
|        | GET|HEAD                               | permissions/create                    | laravelroles::permissions.create              | jeremykenedy\LaravelRoles\App\Http\Controllers\LaravelPermissionsController@create                              | web,auth,role:admin                                          |
|        | GET|HEAD                               | permissions/{permission}              | laravelroles::permissions.show                | jeremykenedy\LaravelRoles\App\Http\Controllers\LaravelPermissionsController@show                                | web,auth,role:admin                                          |
|        | DELETE                                 | permissions/{permission}              | laravelroles::permissions.destroy             | jeremykenedy\LaravelRoles\App\Http\Controllers\LaravelPermissionsController@destroy                             | web,auth,role:admin                                          |
|        | PUT|PATCH                              | permissions/{permission}              | laravelroles::permissions.update              | jeremykenedy\LaravelRoles\App\Http\Controllers\LaravelPermissionsController@update                              | web,auth,role:admin                                          |
|        | GET|HEAD                               | permissions/{permission}/edit         | laravelroles::permissions.edit                | jeremykenedy\LaravelRoles\App\Http\Controllers\LaravelPermissionsController@edit                                | web,auth,role:admin                                          |
|        | 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                               | role-deleted/{id}                     | laravelroles::role-show-deleted               | jeremykenedy\LaravelRoles\App\Http\Controllers\LaravelRolesDeletedController@show                               | web,auth,role:admin                                          |
|        | DELETE                                 | role-destroy/{id}                     | laravelroles::role-item-destroy               | jeremykenedy\LaravelRoles\App\Http\Controllers\LaravelRolesDeletedController@destroy                            | web,auth,role:admin                                          |
|        | PUT                                    | role-restore/{id}                     | laravelroles::role-restore                    | jeremykenedy\LaravelRoles\App\Http\Controllers\LaravelRolesDeletedController@restoreRole                        | web,auth,role:admin                                          |
|        | POST                                   | roles                                 | laravelroles::roles.store                     | jeremykenedy\LaravelRoles\App\Http\Controllers\LaravelRolesController@store                                     | web,auth,role:admin                                          |
|        | GET|HEAD                               | roles                                 | laravelroles::roles.index                     | jeremykenedy\LaravelRoles\App\Http\Controllers\LaravelRolesController@index                                     | web,auth,role:admin                                          |
|        | GET|HEAD                               | roles-deleted                         | laravelroles::roles-deleted                   | jeremykenedy\LaravelRoles\App\Http\Controllers\LaravelRolesDeletedController@index                              | web,auth,role:admin                                          |
|        | DELETE                                 | roles-deleted-destroy-all             | laravelroles::destroy-all-deleted-roles       | jeremykenedy\LaravelRoles\App\Http\Controllers\LaravelRolesDeletedController@destroyAllDeletedRoles             | web,auth,role:admin                                          |
|        | POST                                   | roles-deleted-restore-all             | laravelroles::roles-deleted-restore-all       | jeremykenedy\LaravelRoles\App\Http\Controllers\LaravelRolesDeletedController@restoreAllDeletedRoles             | web,auth,role:admin                                          |
|        | GET|HEAD                               | roles/create                          | laravelroles::roles.create                    | jeremykenedy\LaravelRoles\App\Http\Controllers\LaravelRolesController@create                                    | web,auth,role:admin                                          |
|        | GET|HEAD                               | roles/{role}                          | laravelroles::roles.show                      | jeremykenedy\LaravelRoles\App\Http\Controllers\LaravelRolesController@show                                      | web,auth,role:admin                                          |
|        | PUT|PATCH                              | roles/{role}                          | laravelroles::roles.update                    | jeremykenedy\LaravelRoles\App\Http\Controllers\LaravelRolesController@update                                    | web,auth,role:admin                                          |
|        | DELETE                                 | roles/{role}                          | laravelroles::roles.destroy                   | jeremykenedy\LaravelRoles\App\Http\Controllers\LaravelRolesController@destroy                                   | web,auth,role:admin                                          |
|        | GET|HEAD                               | roles/{role}/edit                     | laravelroles::roles.edit                      | jeremykenedy\LaravelRoles\App\Http\Controllers\LaravelRolesController@edit                                      | web,auth,role:admin                                          |
|        | 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                               | terms                                 | terms                                         | App\Http\Controllers\TermsController@terms                                                                      | web,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  |
|        | GET|HEAD                               | users                                 | users                                         | App\Http\Controllers\UsersManagementController@index                                                            | 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/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  |
|        | GET|HEAD                               | users/deleted/{deleted}               | deleted.show                                  | App\Http\Controllers\SoftDeletesController@show                                                                 | 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  |
|        | 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                                             |
+--------+----------------------------------------+---------------------------------------+-----------------------------------------------+-----------------------------------------------------------------------------------------------------------------+--------------------------------------------------------------+

Socialite

Get Socialite Login API Keys:

Add More Socialite Logins

Steps:
  1. Go to https://socialiteproviders.github.io and select the provider to be added.

  2. From the projects root folder, in the terminal, run composer to get the needed package.

    • Example:
       composer require socialiteproviders/twitch
    
  3. From the projects root folder run composer update

  4. 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'),
       ],
    
  5. Add the API credentials to /.env

    • Example:
       TWITCH_KEY=YOURKEYHERE
       TWITCH_SECRET=YOURSECRETHERE
       TWITCH_REDIRECT_URI=http://YOURWEBSITEURL.COM/social/handle/twitch
    
  6. Add the social media login link:

    • Example: In file /resources/views/auth/login.blade.php add ONE of the following:

      • Conventional HTML:
      <a href="{{ route('social.redirect', ['provider' => 'twitch']) }}" class="btn btn-lg btn-primary btn-block twitch">Twitch</a>
      
      {!! HTML::link(route('social.redirect', ['provider' => 'twitch']), 'Twitch', array('class' => 'btn btn-lg btn-primary btn-block twitch')) !!}
      

Other API keys

Environment File

Example .env file:

APP_NAME=Laravel
APP_ENV=local
APP_KEY=
APP_DEBUG=true
APP_URL=http://localhost
APP_PROJECT_VERSION=7

LOG_CHANNEL=stack

DB_CONNECTION=mysql
DB_HOST=127.0.0.1
DB_PORT=3306
DB_DATABASE=laravel
DB_USERNAME=root
DB_PASSWORD=

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_MAILER=smtp
MAIL_HOST=smtp.mailtrap.io
MAIL_PORT=2525
MAIL_USERNAME=null
MAIL_PASSWORD=null
MAIL_ENCRYPTION=null
MAIL_FROM_ADDRESS=null
MAIL_FROM_NAME="${APP_NAME}"

EMAIL_EXCEPTION_ENABLED=false
EMAIL_EXCEPTION_FROM="${MAIL_FROM_ADDRESS}"
EMAIL_EXCEPTION_TO='[email protected], [email protected]'
EMAIL_EXCEPTION_CC=''
EMAIL_EXCEPTION_BCC=''
EMAIL_EXCEPTION_SUBJECT=''

AWS_ACCESS_KEY_ID=
AWS_SECRET_ACCESS_KEY=
AWS_DEFAULT_REGION=us-east-1
AWS_BUCKET=

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\Models\User
LARAVEL_2STEP_EMAIL_FROM=
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

# Roles database information
ROLES_DATABASE_CONNECTION=null

# Roles Misc Settings
ROLES_DEFAULT_SEPARATOR='.'

# Roles GUI Settings
ROLES_GUI_ENABLED=true
ROLES_GUI_AUTH_ENABLED=true
ROLES_GUI_MIDDLEWARE_ENABLED=true
ROLES_GUI_MIDDLEWARE='role:admin'
ROLES_GUI_BLADE_EXTENDED='layouts.app'
ROLES_GUI_TITLE_EXTENDED='template_title'
ROLES_GUI_LARAVEL_ROLES_ENABLED=true
ROLES_GUI_DATATABLES_JS_ENABLED=false
ROLES_GUI_FLASH_MESSAGES_ENABLED=false
ROLES_GUI_BLADE_PLACEMENT_CSS=template_linked_css
ROLES_GUI_BLADE_PLACEMENT_JS=footer_scripts

# Google Analytics - If blank it will not render, default is false
GOOGLE_ANALYTICS_ID=
#GOOGLE_ANALYTICS_ID='UA-XXXXXXXX-X'

# 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://www.google.com/recaptcha/admin#list
ENABLE_RECAPTCHA=true
RE_CAP_SITE=YOURGOOGLECAPTCHAsitekeyHERE
RE_CAP_SECRET=YOURGOOGLECAPTCHAsecretHERE

# https://console.developers.google.com/ - NEED OAUTH CREDS
GOOGLE_ID=YOURGOOGLEPLUSidHERE
GOOGLE_SECRET=YOURGOOGLEPLUSsecretHERE
GOOGLE_REDIRECT=https://YOURWEBURLHERE.COM/social/handle/google

# https://developers.facebook.com/
FB_ID=YOURFACEBOOKidHERE
FB_SECRET=YOURFACEBOOKsecretHERE
FB_REDIRECT=https://YOURWEBURLHERE.COM/social/handle/facebook

# https://apps.twitter.com/
TW_ID=YOURTWITTERidHERE
TW_SECRET=YOURTWITTERkeyHERE
TW_REDIRECT=https://YOURWEBURLHERE.COM/social/handle/twitter

# https://github.com/settings/applications/new
GITHUB_ID=YOURIDHERE
GITHUB_SECRET=YOURSECRETHERE
GITHUB_URL=https://YOURWEBURLHERE.COM/social/handle/github

# https://developers.google.com/youtube/v3/getting-started
YOUTUBE_KEY=YOURKEYHERE
YOUTUBE_SECRET=YOURSECRETHERE
YOUTUBE_REDIRECT_URI=https://YOURWEBURLHERE.COM/social/handle/youtube

# https://dev.twitch.tv/docs/authentication/
TWITCH_KEY=YOURKEYHERE
TWITCH_SECRET=YOURSECRETHERE
TWITCH_REDIRECT_URI=https://YOURWEBURLHERE.COM/social/handle/twitch

# https://instagram.com/developer/register/
INSTAGRAM_KEY=YOURKEYHERE
INSTAGRAM_SECRET=YOURSECRETHERE
INSTAGRAM_REDIRECT_URI=https://YOURWEBURLHERE.COM/social/handle/instagram

# https://basecamp.com/
# https://github.com/basecamp/basecamp-classic-api
37SIGNALS_KEY=YOURKEYHERE
37SIGNALS_SECRET=YOURSECRETHERE
37SIGNALS_REDIRECT_URI=https://YOURWEBURLHERE.COM/social/handle/37signals

Laravel Developement Packages Used References

Updates:
  • Update to Laravel 10 (Major Changes)
  • Update to Laravel 9
  • Update to Laravel 8
  • Update to Laravel 7 See changes in this PR
  • Update to Laravel 6
  • 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 .env file.
  • 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

Screenshots

Login Register Registration Confirmation Registration Email Registration Complete Intial User Profile Edit User Profile Find Location Using Google Maps API v3 Profile Updated Profile Semi-completed

Admin Panel Users List Admin Panel Delete User Admin Panel Flash Error Admin Panel Show User Admin Panel Edit User Admin Panel Save Edits Admin Panel Create User

dashboard drilldown confirm-clear log-cleared-msg cleared-log confirm-restore confirm-destroy success-destroy success-restored cleared-drilldown

Verification Page Resent Email Modal Lock Warning Modal Locked Page Verification Email

Laravel Blocker Dashboard Laravel Blocker Search Laravel Blocker Create Laravel Blocker View Laravel Blocker Edit Laravel Blocker Delete Modal Laravel Blocker Deleted Dashboard Laravel Blocker Destroy Modal Laravel Blocker Flash Message Laravel Blocker Restore Modal Laravel Blocker Restore Flash Message

Laravel Roles GUI Dashboard Laravel Roles GUI Create New Role Laravel Roles GUI Edit Role Laravel Roles GUI Show Role Laravel Roles GUI Delete Role Laravel Roles GUI Success Deleted Laravel Roles GUI Deleted Role Show Laravel Roles GUI Restore Role Laravel Roles GUI Delete Permission Laravel Roles GUI Show Permission Laravel Roles GUI Permissions Dashboard Laravel Roles GUI Create New Permission Laravel Roles GUI Roles Soft Deletes Dashboard Laravel Roles GUI Permissions Soft Deletes Dashboard Laravel Roles GUI Success Restore

File Tree

laravel-auth
├── .editorconfig
├── .env
├── .env.example
├── .env.travis
├── .gitattributes
├── .github
│   ├── FUNDING.yml
│   └── ISSUE_TEMPLATE
│       ├── bug_report.md
│       ├── feature_request.md
│       └── project-questions-and-help.md
├── .gitignore
├── .phpunit.result.cache
├── .styleci.yml
├── .travis.yml
├── CODE_OF_CONDUCT.md
├── LICENSE
├── README.md
├── _config.yml
├── 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
│   │   │   ├── TermsController.php
│   │   │   ├── ThemesManagementController.php
│   │   │   ├── UserController.php
│   │   │   ├── UsersManagementController.php
│   │   │   └── WelcomeController.php
│   │   ├── Kernel.php
│   │   ├── Middleware
│   │   │   ├── Authenticate.php
│   │   │   ├── CheckCurrentUser.php
│   │   │   ├── CheckForMaintenanceMode.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
├── composer.lock
├── config
│   ├── app.php
│   ├── auth.php
│   ├── broadcasting.php
│   ├── cache.php
│   ├── cors.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
│   │   └── 2019_08_19_000000_create_failed_jobs_table.php
│   └── seeds
│       ├── BlockedItemsTableSeeder.php
│       ├── BlockedTypeTableSeeder.php
│       ├── ConnectRelationshipsSeeder.php
│       ├── DatabaseSeeder.php
│       ├── PermissionsTableSeeder.php
│       ├── RolesTableSeeder.php
│       ├── ThemesTableSeeder.php
│       └── UsersTableSeeder.php
├── license.svg
├── package-lock.json
├── 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
│   │   └── app.js.LICENSE.txt
│   ├── 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
│   │   └── scss
│   │       └── laravel2step
│   │           ├── _animations.scss
│   │           ├── _mixins.scss
│   │           ├── _modals.scss
│   │           ├── _variables.scss
│   │           ├── _verification.scss
│   │           └── app.scss
│   ├── lang
│   │   ├── en
│   │   │   ├── auth.php
│   │   │   ├── emails.php
│   │   │   ├── forms.php
│   │   │   ├── modals.php
│   │   │   ├── pagination.php
│   │   │   ├── passwords.php
│   │   │   ├── permsandroles.php
│   │   │   ├── profile.php
│   │   │   ├── socials.php
│   │   │   ├── terms.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
│       │   ├── public
│       │   │   └── terms.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'

Opening an Issue

Before opening an issue there are a couple of considerations:

  • You are all awesome!
  • Please Read the instructions and make sure all steps were followed correctly.
  • Please Check that the issue is not specific to the development environment setup.
  • Please Provide duplication steps.
  • Please Attempt to look into the issue, and if you have a solution, make a pull request.
  • Please Show that you have made an attempt to look into the issue.
  • Please Check to see if the issue you are reporting is a duplicate of a previous reported issue.

Laravel Auth License

Licensed under the MIT license. Enjoy!

Contributors

  • Thanks goes to these wonderful people:
  • Please feel free to contribute and make pull requests!

laravel-auth's People

Contributors

4uforever avatar ajitdas123 avatar allcontributors[bot] avatar andrec10002 avatar blinkofaneye avatar chrispappas avatar col-papaavola avatar cotiga avatar dependabot[bot] avatar dircm avatar evnix avatar hussamel-hwary avatar imgbotapp avatar ivan-cc avatar jeremykenedy avatar kentdahl avatar laravel-shift avatar lorenzosapora avatar matteocostantini avatar maxdestors avatar migueltarga avatar mmonbr avatar rgasch avatar rubicon-international avatar safly avatar sambego avatar scrutinizer-auto-fixer avatar stylecibot avatar terzinnorbert avatar vortixdev avatar

Stargazers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

Watchers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

laravel-auth's Issues

Image Issue

Image not showing after upload: code not modified

PriflesController.php

` /**

  • Upload and Update user avatar.
  • @param $file
  • @return mixed */ public function upload() { if (Input::hasFile('file')) { $currentUser = \Auth::user(); $avatar = Input::file('file'); $filename = 'avatar.'.$avatar->getClientOriginalExtension(); $save_path = storage_path().'/users/id/'.$currentUser->id.'/uploads/images/avatar/'; $path = $save_path.$filename; $public_path = '/images/profile/'.$currentUser->id.'/avatar/'.$filename;

        // Make the user a folder and set permissions
        File::makeDirectory($save_path, $mode = 0755, true, true);
    
    // Save the file to the server
    Image::make($avatar)-&gt;resize(300, 300)-&gt;save($save_path.$filename);
    
    // Save the public image path
    $currentUser-&gt;profile-&gt;avatar = $public_path;
    $currentUser-&gt;profile-&gt;save();
    
    return response()-&gt;json(['path'=&gt; $path], 200);
    

    } else {
    return response()->json(false, 200);
    }

    }

    /**

  • Show user avatar.
  • @param $id
  • @param $image
  • @return string */ public function userProfileAvatar($id, $image) { return Image::make(storage_path().'/users/id/'.$id.'/uploads/images/avatar/'.$image)->response(); }`

web.php (route) `// Registered, activated, and is current user routes. Route::group(['middleware'=> ['auth', 'activated', 'currentUser']], function () {

// User Profile and Account Routes
Route::resource(
    'profile',
    'ProfilesController', [
        'only'  => [
            'show',
            'edit',
            'update',
            'create',
        ],
    ]
);
Route::put('profile/{username}/updateUserAccount', [
    'as'        => '{username}',
    'uses'      => 'ProfilesController@updateUserAccount',
]);
Route::put('profile/{username}/updateUserPassword', [
    'as'        => '{username}',
    'uses'      => 'ProfilesController@updateUserPassword',
]);
Route::delete('profile/{username}/deleteUserAccount', [
    'as'        => '{username}',
    'uses'      => 'ProfilesController@deleteUserAccount',
]);

// Route to show user avatar
Route::get('images/profile/{id}/avatar/{image}', [
'uses' => 'ProfilesController@userProfileAvatar',
]);

// Route to upload user avatar.
Route::post('avatar/upload', ['as' => 'avatar.upload', 'uses' => 'ProfilesController@upload']);

});`

File is present at:

ls -alth total 24K -rwxr-xr-x 1 www www 16K Oct 6 18:14 avatar.jpg drwxr-xr-x 2 www www 512 Oct 2 13:37 . drwxr-xr-x 3 www www 512 Oct 2 13:37 .. <root@test-server :/usr/local/www/test-site.com/test.v210/storage/users/id/1/uploads/images/avatar> #

do i need to symlink or create the image folder in public ?

Error Exception in show-user.blade.php

Also when I go into admin/ show a particular user it shows error below

Did i configure the app all okay .. sorry I am a bit new to laravel so maybe I am missing something

thanks for your assistance
Regards
Sergiu

screen shot 2017-04-21 at 14 39 28

Improving PermissionsTableSeeder.php

Hi @jeremykenedy - Would it be possible for you to review how the databases and in particular permissions are seeded? Right now, we have the following code which seeds the initial database.

        if (Permission::where('name', '=', 'Can View Users')->first() === null) {
            Permission::create([
                'name' => 'Can View Users',
                'slug' => 'view.users',
                'description' => 'Can view users',
                'model' => 'Permission',
            ]);
        }

Am never too keen to seed based on translatable strings, not very future proof and could result in errors.

I think the more appropriate way might be to use the slug as that remains a constant through the code and not an editable entity.

        if (Permission::where('slug', '=', 'view.users')->first() === null) {
            Permission::create([
                'name' => 'Can View Users',
                'slug' => 'view.users',
                'description' => 'Can view users',
                'model' => 'Permission',
            ]);
        }

Thanks for your time and energy in creating this starter. :)

Composer standalone package

Do you have any way to install this awesome package on a different laravel installation without using the laravel you used?

Getting Exception while sending emails from application

Hi , I am getting flowing error while sending emails (i.e) wherever the emails is triggered in application

Error : Swift_TransportException in AbstractSmtpTransport.php line 383: Expected response code 220 but got code "", with message "" in AbstractSmtpTransport.php line 383 at Swift_Transport_AbstractSmtpTransport->_assertResponseCode('', array('220')) in AbstractSmtpTransport.php line 289 at Swift_Transport_AbstractSmtpTransport->_readGreeting() in AbstractSmtpTransport.php line 117 at Swift_Transport_AbstractSmtpTransport->start() in Mailer.php line 79

Connection could not be established with host smtp.mailtrap.io [Connection refused #111]

Email activation issue.

`

    if (isset($this->params['stream_context_options'])) {
        $options = array_merge($options, $this->params['stream_context_options']);
    }
    $streamContext = stream_context_create($options);
    $this->stream = @stream_socket_client($host.':'.$this->params['port'], $errno, $errstr, $timeout, STREAM_CLIENT_CONNECT, $streamContext);
    if (false === $this->stream) {
        throw new Swift_TransportException(
            'Connection could not be established with host '.$this->params['host'].
            ' ['.$errstr.' #'.$errno.']'
            );
    }
    if (!empty($this->params['blocking'])) {
        stream_set_blocking($this->stream, 1);
    } else {
        stream_set_blocking($this->stream, 0);
    }
    stream_set_timeout($this->stream, $timeout);
    $this->in = &$this->stream;
    $this->out = &$this->stream;
}

`

activation by email , query error

i am getting this error when i press on activate account in the email sended to me , !

SQLSTATE[23000]: Integrity constraint violation: 1452 Cannot add or update a child row: a foreign key constraint fails (admin_multiauth.profiles, CONSTRAINT profiles_theme_id_foreign FOREIGN KEY (theme_id) REFERENCES themes (id)) (SQL: insert into profiles (user_id, updated_at, created_at) values (2, 2017-10-07 15:26:00, 2017-10-07 15:26:00))

Class 'Webpatser\Uuid\Uuid' not found

Hi, Whoops! There was an error when delete an user /profile/***/deleteUserAccount

Class 'Webpatser\Uuid\Uuid' not found

app/Http/Controllers/ProfilesController.php350

$level2 = urlencode(Uuid::generate(4).$sepKey.$level1);

Should I install webpatser manually ? Tks

Issue logging in using youtube

First of all great package, My issue is that I tried logging in via youtube. It goes through to google then gets the account but when returning back I get an error that reads

FatalErrorException in Provider.php line 77: Call to undefined method SocialiteProviders\YouTube\Provider::getAccessToken()

Talking to the guys over at draper studio who manage the socialite providers package. I believe this is due to using an older package. See https://github.com/SocialiteProviders/YouTube/issues/5.

Social Login, user doesn't allow email, can't continue.

Currently, if i try and log in or register via Facebook (only one i've tested so far) and decide not to share my email address with the site, Gravatar squawks at me instantly and I cannot view anything because the email address is an incorrect format for Gravatar.

"Please specify a valid email address (View: /Users/noreason/code/laravel-auth/resources/views/profiles/show.blade.php)"

in

/Users/noreason/code/laravel-auth/vendor/creativeorange/gravatar/src/Gravatar.php

The email address generated for this specific login was

missingb2IlmgQkPW

I can solve the issue with workarounds, but I was just wondering if I am missing something somewhere?

Theme index not error

getting Error on localhost/themes

Whoops, looks like something went wrong. 2/2 ErrorException in 0d7da4803c3fadc8dc0a815b1ea3db0e7dbc9c47.php line 75: Trying to get property of non-object (View: /laravel-auth/resources/views/themesmanagement/show-themes.blade.php)

Being Picky typo in settings.php / CaptureIpTrait.php

(Apologies, I still have to figure out how to do pull requests from my environment).

Line 23 of settings.php is:

nullIpAddess

should really be:

nullIpAddress

(missing an "r")

Corresponding change on like 37 of CaptureIpTrait.php

Translating plurals

Laravel has a built-in way to translate plural text. At the moment you have this in a template:

@php
  $levelAmount = trans('usersmanagement.labelUserLevel');
  if ($user->level() >= 2) {
      $levelAmount = trans('usersmanagement.labelUserLevels');
  }
@endphp
{{ trans('usersmanagement.labelAccessLevel')}} {{ $levelAmount }}:

Several problems (if we are being pedantic, which we should be):

  • The phrase is constructed from two parts put next to each other. That may not work in all languages as structure can change when phrases become plural.
  • There is PHP in the view. Yuch!

Instead you can use this for the full phrase:

{{ trans_choice('usersmanagement.labelAccessLevel', $user->level()) }}

Then the English string would look like this:

'labelAccessLevel'  => '[0,1]Access Level|[2,*]Access Levels',

The first [0,1] may not be needed. No additional PHP is needed.

In addition , __() is a shortcut for trans(), which can sometimes look neater (takes some words out of a busy view). In views it can be shorted to @lang() (according to the docs, though never tried it):

@lang('usersmanagement.labelStatus')

Controller don't have permission but can access

Hi, i'm thank about your source. But i try to test it, i create controller with name TestController and have content in below. I add route but user [email protected] can view but it doesn't have permission

Route::group(['middleware' => ['auth', 'activated']], function () { Route::get('/test', [ 'as' => 'test.index', 'uses' => 'TestController@index', ]); }

`<?php

namespace App\Http\Controllers;

use Auth;

class TestController extends Controller { /**

  • Create a new controller instance.
  • @return void */ public function __construct() { $this->middleware('auth'); }

    /**

  • Show the application dashboard.
  • @return \Illuminate\Http\Response */ public function index() { echo 'fdfdf'; } } `

Admin profile return 404

I did a fresh install. login as Admin and select profile I get error 404. The user works fine.
I created a new admin user and can see his profile.
Is there a setting missing when the admin user is created.
Thanks.

Problem

Hi I did a git clone with all the steps followed.

Currently stuck with this problem:

Expected response code 250 but got code "530", with message "530 5.7.1 Authentication required "

registration form error?

when i register say that "Failed to authenticate on SMTP server with username "[email protected]" using 3 possible authenticators"

am used the version before this and work fine for me i'am created the app password and all configuration i think it's goes right MAIL_DRIVER=smtp MAIL_HOST=mailtrap.io MAIL_PORT=465 [email protected] MAIL_PASSWORD=secret MAIL_ENCRYPTION=tls

so why this error occur ?

Undefined variable: getAdminHomeRoute

If you are logged in as an admin and go to the /exceeded route, you get an undefined variable message.

ErrorException in ActivateController.php line 70:
Undefined variable: getAdminHomeRoute
in ActivateController.php line 70
at HandleExceptions->handleError(8, 'Undefined variable: getAdminHomeRoute', '/sites/starter/app/Http/Controllers/Auth/ActivateController.php', 70, array('user' => object(User), 'currentRoute' => 'exceeded')) in ActivateController.php line 70
at ActivateController::activeRedirect(object(User), 'exceeded') in ActivateController.php line 266
at ActivateController->exceeded()
at call_user_func_array(array(object(ActivateController), 'exceeded'), array()) in Controller.php line 55
at Controller->callAction('exceeded', array()) in ControllerDispatcher.php line 44
at ControllerDispatcher->dispatch(object(Route), object(ActivateController), 'exceeded') in Route.php line 203

Replacing line 70 in ActivateController.php with the following line fixes it:

                return redirect()->route(self::getAdminHomeRoute())

(Similar to the route statement on line 75 below it, for a non admin user.)

ErrorException in SendActivationEmail.php line 50:

Hello,

Just tried a new installation and I got this error:

ErrorException in SendActivationEmail.php line 50:
Trying to get property of non-object
in SendActivationEmail.php line 50
at HandleExceptions->handleError(8, 'Trying to get property of non-object', '/var/www/servicebucket/app/Notifications/SendActivationEmail.php', 50, array('notifiable' => object(User), 'message' => object(MailMessage))) in SendActivationEmail.php line 50

Its related to namespacing ..

Shouldnt it work out of the box or I have to adjust something ?

What you think

Thanks
Sergiu

screen shot 2017-04-21 at 14 34 55

Why you deleted the "web" Middleware Group?

I'm trying to include thedevdojo/chatter with this package and I'm getting error about the class web, After looking into the kernel.php I didn't find the $middlewareGroups , What should I do ?

PHP Artisan Migrate issue

[Illuminate\Database\QueryException]
could not find driver (SQL: select * from information_schema.tables where table_sc
hema = laravelAuth and table_name = migrations)

[Doctrine\DBAL\Driver\PDOException]
could not find driver

[PDOException]
could not find driver

Login without using email

Hello, I want to customize login page, I want to use custom attribute instead of email.

I changed something like this in views/auth/login:

<div class="form-group has-feedback">
                            {!! Form::label('ktp', Lang::get('auth.ktp') , array('class' => 'col-sm-4 control-label')); !!}
                            <div class="col-sm-6">
                                {!! Form::text('ktp', null, array('id' => 'ktp', 'class' => 'form-control', 'placeholder' => Lang::get('auth.ph_ktp'), 'required' => 'required',)) !!}
                                <span class="glyphicon glyphicon-envelope form-control-feedback" aria-hidden="true"></span>
                            </div>
                        </div>

And I always got:

Whoops! There were some problems with your input.

The email field is required. Password Troubles?

How to customize it?

Easy way to disable individual social network logins

The social network login icons are all displayed through views, and can be easily removed by editing those views.

However, just removing the account details from .env ought to remove the facility for logging in using those networks too. A github ID of "YOURIDHERE" is fine for demonstration out of the box, and takes the user to a 404 page with that ID, as you would expect. But if I set the Github ID to "", then it makes sense for Gibhub authentication to simply be disabled - no icons, no links, no Guthub registration.

Does that sound a sensible approach?

Token mismatch on registration as well as login

I installed laravel-auth, migrated and seeded (using laravel 5.4.27 and mysql Ver 14.14 Distrib 5.6.21, for Win32 (x86))

when i tried to login, at first login looped back

then i created google+ sign in application and got credentials, changed my session_domain to http://localhost

next i tried to register via google+ but there arrived token mismatch error
after that token mismatch error occurred on registration as well as login

I tried deleting cookies, cleared cache but couldn't make it work

`

                {!! Form::open(['route' => 'register', 'class' => 'form-horizontal', 'role' => 'form', 'method' => 'POST'] ) !!}

                    {{ csrf_field() }}

                    <div class="form-group{{ $errors->has('name') ? ' has-error' : '' }}">`

I var_dumped in middlewares and pipeline files but couldn't make it work....

Thank you in advance!!

localhost_8000_register.pdf

Another Laravel version

Hi Jeremy,

Can I use this with Laravel 5.3/5.4? I already seen your another laraver-user but there's no role and permission management.

Thank you!

"View PHP info" puts a page within a page

The phpinfo() command generates a complete page - all elements needed, including html and body elements. The output of phpinfo() seems to have been just plonked into the middle of the page without regard for this. It needs to have its body content stripped out, and just that content put into the page. Or maybe open in a new window on its own, or perhaps in an auto-resizing iframe.

TOC Generator

There us a great TOC generator script here:

https://github.com/ekalinin/github-markdown-toc

It will scan the README and pull out all the headings and link to them, formatting them in a structured way. As documents get bigger and more complex, it saves tonnes of time. Running it also helps to see the structure of the document and makes it easier to reorganise sections.

Here is a project I use it on (probably my longest github README). That TOC is auto-generated from the content, with no manual tweaks:

https://github.com/academe/omnipay-payone#table-of-contents

Below is what the script gives for this project. Whoops - it's a bit random and even confuses the markdown parser, because that is how the markdown heading markers have been used. In my experience, if you get a decent TOC out of the script, then the README is structured well and heading levels are used appropriately. Remember, header levels define the structure of a document, and are not just there for formatting. The links below don't do anywhere, because they are relative to the page they are on, but ignore that for now.

If you want to try using it, I'd be happy to edit some of the title heading levels.


Table of Contents

        * [Laravel-Auth is a Complete Build of Laravel 5.4 with Email Registration Verification, Social Authentication, User Roles and Permissions, User Profiles, and Admin restricted user managment system.](#laravel-auth-is-a-complete-build-of-laravel-54-with-email-registration-verification-social-authentication-user-roles-and-permissions-user-profiles-and-admin-restricted-user-managment-system)
        * [READY FOR USE!](#ready-for-use)
     * [About](#about)
     * [Features](#features)
        * [A <a href="http://laravel.com/">Laravel</a> 5.4.x with minimal <a href="http://getbootstrap.com">Bootstrap</a> 3.7.x project.](#a-laravel-54x-with-minimal-bootstrap-37x-project)
     * [Installation Instructions](#installation-instructions)
        * [Rebuild Front End Assets with Mix](#rebuild-front-end-assets-with-mix)
              * [Rebuilding the front end of that project is OPTIONAL and can be done using Laravel <a href="https://laravel.com/docs/5.4/mix">Mix</a> which is Elixers replacment.](#rebuilding-the-front-end-of-that-project-is-optional-and-can-be-done-using-laravel-mix-which-is-elixers-replacment)
        * [Optionally Build Cache](#optionally-build-cache)
              * [And thats it with the caveat of setting up and configuring your development environemnt. I recommend <a href="https://laravel.com/docs/5.4/homestead">Laravel Homestead</a>](#and-thats-it-with-the-caveat-of-setting-up-and-configuring-your-development-environemnt-i-recommend-laravel-homestead)
     * [Seeds](#seeds)
     * [Routes](#routes)
        * [Authentication Routes](#authentication-routes)
        * [Profile Routes](#profile-routes)
        * [Admin User Management Routes](#admin-user-management-routes)
        * [Admin Theme Routes](#admin-theme-routes)
        * [Admin Tools Routes](#admin-tools-routes)
        * [Admin Soft Deleted Users Management Routes](#admin-soft-deleted-users-management-routes)
     * [Socialite](#socialite)
        * [Get Socialite Login API Keys:](#get-socialite-login-api-keys)
        * [Add More Socialite Logins](#add-more-socialite-logins)
              * [<strong>Steps</strong>:](#steps)
     * [Other API keys](#other-api-keys)
     * [Environment File](#environment-file)
        * [Laravel Developement Packages Used References](#laravel-developement-packages-used-references)
              * [Updates:](#updates)
     * [Screenshots](#screenshots)
     * [Laravel Auth License](#laravel-auth-license)
  * [About Laravel](#about-laravel)
  * [Learning Laravel](#learning-laravel)
  * [Contributing](#contributing)
  * [Security Vulnerabilities](#security-vulnerabilities)
  * [License](#license)

How can check permission in controller

I'm very sorry but can you give me file controller demo? I'm newbie with Laravel framework, i had read some topic about authoriation and your source and your package(laravel-roles), but i can't find excatly what i need to do in code? Example in my TestController, i add new rows 'test.index' to table 'permissions' and 'permissions_role' but how code will check it in controller?

login and register not found

Hi, I'm newbie laravel and interesting laravel for user manage.

I can't access Login and Register menu when i click are show 404 Not Found

Then i check route on routes/wep.php but haven't /register or /login.

Please help.

Thank you.

Adding new provider

I followed your instructions to a T and I am generating a 500 error when I added steam as a new auth provider. Any idea?

Potential security exploit

I came across your repo a few days ago and noticed a potential security exploit by allowing user's to login using the provided email address from the social network.

See line 189: https://github.com/jeremykenedy/laravel-auth/blob/master/app/Http/Controllers/Auth/AuthController.php#L189

Example: if this code was used on a site that I knew [email protected] was an administrator of but didn't have an account on, let's say Facebook. I could then register an account on Facebook using the email address [email protected], come back to the site where [email protected] is an admin and login using the Facebook option and then gain access to the admin section of the site.

From my experience it's a better idea to just login using the given user's social network ID and the network name itself (facebook, twitter, github, ...). If you with to allow users to add other social network accounts, then there should be somewhere in the settings to do so.

Error in composer update

Hi
i have a problem
after run "composer update" , I see this error :
composer update
Loading composer repositories with package information
Updating dependencies (including require-dev)
Nothing to install or update
Generating autoload files
> Illuminate\Foundation\ComposerScripts::postUpdate
> php artisan optimize
Script php artisan optimize handling the post-update-cmd event returned with error code 255
and when i run artisan command nothing happens

thanks guys
vahid rezazadeh

Twitter Argument 1 passed to League error

I completed all the steps for the install and added my twitter details to the .env but when I try and login using twitter I get an error that reads

FatalThrowableError in Server.php line 146: Type error: Argument 1 passed to League\OAuth1\Client\Server\Server::getTokenCredentials() must be an instance of League\OAuth1\Client\Credentials\TemporaryCredentials, null given, called in $File_path_to_folder/vendor/laravel/socialite/src/One/AbstractProvider.php on line 87

not sure whats going on because when I look at the URL it looks like twitter is sending auth tokens back.

Invalid text representation when IP can not be identified

Under some circumstances the IP can not be found and in this case the IP 'UNKNOWN' is returned. This value causes an exception, see below.

I got this error when running a fresh install using php artisan serve and accessing the site from the same host.

./storage/logs/laravel.log:1480:Next Illuminate\Database\QueryException: SQLSTATE[22P02]: Invalid text representation: 7 ERROR: invalid input syntax for type inet: "UNKNOWN" (SQL: update "users" set "activated" = 1, "signup_confirmation_ip_address" = UNKNOWN, "updated_at" = 2017-03-31 03:04:56 where "id" = 7) in /home/username/code/laravel/laravel-auth/vendor/laravel/framework/src/Illuminate/Database/Connection.php:647

$ipAddress->getClientIp() and $this->ipAddress() returns 'UNKNOWN'.

This problem exists in the DatabaseSessionHandler.php, ActivtionRepository.php, RegisterController.php and ActivateController.php files.

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. 📊📈🎉

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google ❤️ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.