โปรเจ็กต์นี้มีค่าใช้จ่าย $22/เดือนในการโฮสต์บน Vultr
โปรดพิจารณาสนับสนุนงานของฉันหากคุณใช้และพบว่ามีประโยชน์
หากคุณชอบสิ่งนี้ คุณจะต้องชอบ Laravel Auth Spa พร้อมผู้ให้บริการที่กำหนดค่าได้จากแผงผู้ดูแลระบบ
Laravel 10 พร้อมการตรวจสอบสิทธิ์ผู้ใช้ การลงทะเบียนด้วยการยืนยันอีเมล การตรวจสอบสิทธิ์โซเชียลมีเดีย การกู้คืนรหัสผ่าน และการป้องกัน captcha ใช้ Bootstrap 4 อย่างเป็นทางการ นอกจากนี้ยังใช้คอนโทรลเลอร์เต็มรูปแบบสำหรับเส้นทาง เทมเพลตสำหรับมุมมอง และใช้มิดเดิลแวร์สำหรับการกำหนดเส้นทาง โครงการสามารถยืนหยัดได้ภายในไม่กี่นาที
คุณสมบัติการตรวจสอบสิทธิ์ Laravel |
---|
สร้างขึ้นบน Laravel 10 |
สร้างขึ้นบน Bootstrap 4 |
ใช้ฐานข้อมูล MySQL (สามารถเปลี่ยนแปลงได้) |
ใช้ Artisan เพื่อจัดการการย้ายฐานข้อมูล การสร้างสคีมา และสร้าง/เผยแพร่เทมเพลตตัวควบคุมเพจ |
การพึ่งพาได้รับการจัดการด้วย COMPOSER |
การตรวจสอบสิทธิ์ ผู้ใช้ และ ผู้ดูแลระบบ Laravel Scaffolding |
การเข้าสู่ระบบโซเชียลของผู้ใช้พร้อมใช้งาน - ดูรายการ API ที่ใช้ด้านล่าง |
Google Maps API v3 สำหรับการค้นหาตำแหน่งของผู้ใช้และ Geocoding |
CRUD (สร้าง อ่าน อัปเดต ลบ) การจัดการธีม |
CRUD (สร้าง อ่าน อัปเดต ลบ) การจัดการผู้ใช้ |
การบันทึก Laravel ที่แข็งแกร่งด้วย UI ผู้ดูแลระบบโดยใช้ MonoLog |
การป้องกัน Google reCaptcha ด้วย Google API |
การลงทะเบียนผู้ใช้พร้อมการยืนยันอีเมล |
ใช้ Laravel Mix เพื่อรวบรวมเนื้อหา |
ใช้ไฟล์แปลภาษา |
สถานะ Nav ที่ใช้งานอยู่โดยใช้คำขอ Laravel |
จำกัดความพยายามในการเปิดใช้งานอีเมลของผู้ใช้ |
จับ IP ไปยังตารางผู้ใช้เมื่อสมัคร |
ใช้ Laravel Debugger เพื่อการพัฒนา |
ใช้เครื่องวัดความแรงของรหัสผ่าน |
ใช้ HideShowPassword |
รูปภาพอวาตาร์ของผู้ใช้ AJAX อัปโหลดด้วย Dropzone.js |
ผู้ใช้ Gravatar โดยใช้ Gravatar API |
รีเซ็ตรหัสผ่านผู้ใช้ผ่านโทเค็นอีเมล |
เข้าสู่ระบบผู้ใช้ด้วยจำรหัสผ่าน |
บทบาทผู้ใช้/การใช้งาน ACL |
GUI บทบาทและสิทธิ์ |
ใช้โครงสร้าง Soft Delete ของ Laravel |
ระบบการจัดการผู้ใช้ที่ถูกลบแบบนุ่มนวล |
ลบผู้ใช้ที่ถูกลบแบบ Soft อย่างถาวร |
ผู้ใช้ลบบัญชีด้วยอีเมลลา |
ผู้ใช้กู้คืนโทเค็นบัญชีที่ถูกลบ |
คืนค่าผู้ใช้ที่ถูกลบแบบนุ่มนวล |
ดูผู้ใช้ที่ถูกลบแบบนุ่มนวล |
บันทึกวันที่ลบแบบนุ่มนวล |
จับ Soft Delete IP |
UI รายละเอียดเส้นทางผู้ดูแลระบบ |
UI ข้อมูล PHP ของผู้ดูแลระบบ |
โปรไฟล์ผู้ใช้ที่มีฝีปาก |
ธีมผู้ใช้ |
404 หน้า |
403 หน้า |
การแจ้งเตือนทางอีเมลที่กำหนดค่าได้ผ่าน Laravel-Exception-Notifier |
การบันทึกกิจกรรมโดยใช้ Laravel-logger |
การยืนยันการเข้าสู่ระบบบัญชีแบบ 2 ขั้นตอนเพิ่มเติมด้วยการยืนยันแบบ 2 ขั้นตอนของ Laravel |
ใช้แพ็คเกจข้อมูล Laravel PHP |
ใช้แพ็คเกจ Laravel Blocker |
git clone https://github.com/jeremykenedy/laravel-auth.git laravel-auth
mysql -u root -p
หากใช้ Vagrant: mysql -u homestead -psecret
create database laravelAuth;
q
cp .env.example .env
.env
ของคุณapt install composer php-mysql php-ext php-dom
)composer update
จากโฟลเดอร์รูทของโปรเจ็กต์ php artisan vendor:publish --tag=laravelroles &&
php artisan vendor:publish --tag=laravel2step &&
php artisan vendor:publish --tag=laravel-email-database-log-migration
sudo chmod -R 755 ../laravel-auth
php artisan key:generate
php artisan migrate
composer dump-autoload
php artisan db:seed
yarn install
yarn run dev
หรือ yarn run production
yarn run watch
npm install
npm run dev
หรือ npm run production
npm run watch
php artisan config:cache
อีเมล | รหัสผ่าน | เข้าถึง |
---|---|---|
[email protected] | รหัสผ่าน | การเข้าถึงของผู้ใช้ |
[email protected] | รหัสผ่าน | การเข้าถึงของผู้ดูแลระบบ |
กระสุน | ชื่อ |
---|---|
อีเมล | อีเมล |
ที่อยู่ IP | ที่อยู่ IP |
โดเมน | ชื่อโดเมน |
ผู้ใช้ | ผู้ใช้ |
เมือง | เมือง |
สถานะ | สถานะ |
ประเทศ | ประเทศ |
รหัสประเทศ | รหัสประเทศ |
ทวีป | ทวีป |
ภูมิภาค | ภูมิภาค |
พิมพ์ | ค่า | บันทึก |
---|---|---|
โดเมน | ทดสอบ.คอม | บล็อกโดเมน/อีเมลทั้งหมด @test.com |
โดเมน | ทดสอบ.แคลิฟอร์เนีย | บล็อกโดเมน/อีเมลทั้งหมด @test.ca |
โดเมน | fake.com | บล็อกโดเมน/อีเมล @fake.com ทั้งหมด |
โดเมน | ตัวอย่าง.com | บล็อกโดเมน/อีเมลทั้งหมด @example.com |
โดเมน | mailinator.com | บล็อกโดเมน/อีเมลทั้งหมด @mailinator.com |
+--------+----------------------------------------+---------------------------------------+-----------------------------------------------+-----------------------------------------------------------------------------------------------------------------+--------------------------------------------------------------+
| Domain | Method | URI | Name | Action | Middleware |
+--------+----------------------------------------+---------------------------------------+-----------------------------------------------+-----------------------------------------------------------------------------------------------------------------+--------------------------------------------------------------+
| | GET | HEAD | / | welcome | App H ttp C ontrollers W elcomeController@welcome | web,checkblocked |
| | GET | HEAD | _debugbar/assets/javascript | debugbar.assets.js | Barryvdh D ebugbar C ontrollers A ssetController@js | Barryvdh D ebugbar M iddleware D ebugbarEnabled,Closure |
| | GET | HEAD | _debugbar/assets/stylesheets | debugbar.assets.css | Barryvdh D ebugbar C ontrollers A ssetController@css | Barryvdh D ebugbar M iddleware D ebugbarEnabled,Closure |
| | DELETE | _debugbar/cache/{key}/{tags ? } | debugbar.cache.delete | Barryvdh D ebugbar C ontrollers C acheController@delete | Barryvdh D ebugbar M iddleware D ebugbarEnabled,Closure |
| | GET | HEAD | _debugbar/clockwork/{id} | debugbar.clockwork | Barryvdh D ebugbar C ontrollers O penHandlerController@clockwork | Barryvdh D ebugbar M iddleware D ebugbarEnabled,Closure |
| | GET | HEAD | _debugbar/open | debugbar.openhandler | Barryvdh D ebugbar C ontrollers O penHandlerController@handle | Barryvdh D ebugbar M iddleware D ebugbarEnabled,Closure |
| | GET | HEAD | _debugbar/telescope/{id} | debugbar.telescope | Barryvdh D ebugbar C ontrollers T elescopeController@show | Barryvdh D ebugbar M iddleware D ebugbarEnabled,Closure |
| | GET | HEAD | activate | activate | App H ttp C ontrollers A uth A ctivateController@initial | web,activity,checkblocked,auth |
| | GET | HEAD | activate/{token} | authenticated.activate | App H ttp C ontrollers A uth A ctivateController@activate | web,activity,checkblocked,auth |
| | GET | HEAD | activation | authenticated.activation-resend | App H ttp C ontrollers A uth A ctivateController@resend | web,activity,checkblocked,auth |
| | GET | HEAD | activation-required | activation-required | App H ttp C ontrollers A uth A ctivateController@activationRequired | web,auth,activated,activity,checkblocked |
| | GET | HEAD | active-users | | App H ttp C ontrollers A dminDetailsController@activeUsers | web,auth,activated,role:admin,activity,twostep,checkblocked |
| | GET | HEAD | activity | activity | jeremykenedy L aravelLogger A pp H ttp C ontrollers L aravelLoggerController@showAccessLog | web,auth,activity,role:admin |
| | DELETE | activity/clear-activity | clear-activity | jeremykenedy L aravelLogger A pp H ttp C ontrollers L aravelLoggerController@clearActivityLog | web,auth,activity,role:admin |
| | GET | HEAD | activity/cleared | cleared | jeremykenedy L aravelLogger A pp H ttp C ontrollers L aravelLoggerController@showClearedActivityLog | web,auth,activity,role:admin |
| | GET | HEAD | activity/cleared/log/{id} | | jeremykenedy L aravelLogger A pp H ttp C ontrollers L aravelLoggerController@showClearedAccessLogEntry | web,auth,activity,role:admin |
| | DELETE | activity/destroy-activity | destroy-activity | jeremykenedy L aravelLogger A pp H ttp C ontrollers L aravelLoggerController@destroyActivityLog | web,auth,activity,role:admin |
| | GET | HEAD | activity/log/{id} | | jeremykenedy L aravelLogger A pp H ttp C ontrollers L aravelLoggerController@showAccessLogEntry | web,auth,activity,role:admin |
| | POST | activity/restore-log | restore-activity | jeremykenedy L aravelLogger A pp H ttp C ontrollers L aravelLoggerController@restoreClearedActivityLog | web,auth,activity,role:admin |
| | POST | avatar/upload | avatar.upload | App H ttp C ontrollers P rofilesController@upload | web,auth,activated,currentUser,activity,twostep,checkblocked |
| | GET | HEAD | blocker | laravelblocker::blocker.index | jeremykenedy L aravelBlocker A pp H ttp C ontrollers L aravelBlockerController@index | web,checkblocked,auth,activated,role:admin,activity,twostep |
| | POST | blocker | laravelblocker::blocker.store | jeremykenedy L aravelBlocker A pp H ttp C ontrollers L aravelBlockerController@store | web,checkblocked,auth,activated,role:admin,activity,twostep |
| | GET | HEAD | blocker-deleted | laravelblocker::blocker-deleted | jeremykenedy L aravelBlocker A pp H ttp C ontrollers L aravelBlockerDeletedController@index | web,checkblocked,auth,activated,role:admin,activity,twostep |
| | DELETE | blocker-deleted-destroy-all | laravelblocker::destroy-all-blocked | jeremykenedy L aravelBlocker A pp H ttp C ontrollers L aravelBlockerDeletedController@destroyAllItems | web,checkblocked,auth,activated,role:admin,activity,twostep |
| | POST | blocker-deleted-restore-all | laravelblocker::blocker-deleted-restore-all | jeremykenedy L aravelBlocker A pp H ttp C ontrollers L aravelBlockerDeletedController@restoreAllBlockedItems | web,checkblocked,auth,activated,role:admin,activity,twostep |
| | DELETE | blocker-deleted/{id} | laravelblocker::blocker-item-destroy | jeremykenedy L aravelBlocker A pp H ttp C ontrollers L aravelBlockerDeletedController@destroy | web,checkblocked,auth,activated,role:admin,activity,twostep |
| | PUT | blocker-deleted/{id} | laravelblocker::blocker-item-restore | jeremykenedy L aravelBlocker A pp H ttp C ontrollers L aravelBlockerDeletedController@restoreBlockedItem | web,checkblocked,auth,activated,role:admin,activity,twostep |
| | GET | HEAD | blocker-deleted/{id} | laravelblocker::blocker-item-show-deleted | jeremykenedy L aravelBlocker A pp H ttp C ontrollers L aravelBlockerDeletedController@show | web,checkblocked,auth,activated,role:admin,activity,twostep |
| | GET | HEAD | blocker/create | laravelblocker::blocker.create | jeremykenedy L aravelBlocker A pp H ttp C ontrollers L aravelBlockerController@create | web,checkblocked,auth,activated,role:admin,activity,twostep |
| | DELETE | blocker/{blocker} | laravelblocker::blocker.destroy | jeremykenedy L aravelBlocker A pp H ttp C ontrollers L aravelBlockerController@destroy | web,checkblocked,auth,activated,role:admin,activity,twostep |
| | PUT | PATCH | blocker/{blocker} | laravelblocker::blocker.update | jeremykenedy L aravelBlocker A pp H ttp C ontrollers L aravelBlockerController@update | web,checkblocked,auth,activated,role:admin,activity,twostep |
| | GET | HEAD | blocker/{blocker} | laravelblocker::blocker.show | jeremykenedy L aravelBlocker A pp H ttp C ontrollers L aravelBlockerController@show | web,checkblocked,auth,activated,role:admin,activity,twostep |
| | GET | HEAD | blocker/{blocker}/edit | laravelblocker::blocker.edit | jeremykenedy L aravelBlocker A pp H ttp C ontrollers L aravelBlockerController@edit | web,checkblocked,auth,activated,role:admin,activity,twostep |
| | GET | HEAD | exceeded | exceeded | App H ttp C ontrollers A uth A ctivateController@exceeded | web,activity,checkblocked,auth |
| | GET | HEAD | home | public.home | App H ttp C ontrollers U serController@index | web,auth,activated,activity,twostep,checkblocked |
| | GET | HEAD | images/profile/{id}/avatar/{image} | | App H ttp C ontrollers P rofilesController@userProfileAvatar | web,auth,activated,currentUser,activity,twostep,checkblocked |
| | POST | login | | App H ttp C ontrollers A uth L oginController@login | web,guest |
| | GET | HEAD | login | login | App H ttp C ontrollers A uth L oginController@showLoginForm | web,guest |
| | POST | logout | logout | App H ttp C ontrollers A uth L oginController@logout | web |
| | GET | HEAD | logout | logout | App H ttp C ontrollers A uth L oginController@logout | web,auth,activated,activity,checkblocked |
| | GET | HEAD | logs | | Rap2hpoutre L aravelLogViewer L ogViewerController@index | web,auth,activated,role:admin,activity,twostep,checkblocked |
| | POST | password/email | password.email | App H ttp C ontrollers A uth F orgotPasswordController@sendResetLinkEmail | web,guest |
| | GET | HEAD | password/reset | password.request | App H ttp C ontrollers A uth F orgotPasswordController@showLinkRequestForm | web,guest |
| | POST | password/reset | password.update | App H ttp C ontrollers A uth R esetPasswordController@reset | web,guest |
| | GET | HEAD | password/reset/{token} | password.reset | App H ttp C ontrollers A uth R esetPasswordController@showResetForm | web,guest |
| | GET | HEAD | permission-deleted/{id} | laravelroles::permission-show-deleted | jeremykenedy L aravelRoles A pp H ttp C ontrollers L aravelpermissionsDeletedController@show | web,auth,role:admin |
| | DELETE | permission-destroy/{id} | laravelroles::permission-item-destroy | jeremykenedy L aravelRoles A pp H ttp C ontrollers L aravelpermissionsDeletedController@destroy | web,auth,role:admin |
| | PUT | permission-restore/{id} | laravelroles::permission-restore | jeremykenedy L aravelRoles A pp H ttp C ontrollers L aravelpermissionsDeletedController@restorePermission | web,auth,role:admin |
| | POST | permissions | laravelroles::permissions.store | jeremykenedy L aravelRoles A pp H ttp C ontrollers L aravelPermissionsController@store | web,auth,role:admin |
| | GET | HEAD | permissions | laravelroles::permissions.index | jeremykenedy L aravelRoles A pp H ttp C ontrollers L aravelPermissionsController@index | web,auth,role:admin |
| | GET | HEAD | permissions-deleted | laravelroles::permissions-deleted | jeremykenedy L aravelRoles A pp H ttp C ontrollers L aravelpermissionsDeletedController@index | web,auth,role:admin |
| | DELETE | permissions-deleted-destroy-all | laravelroles::destroy-all-deleted-permissions | jeremykenedy L aravelRoles A pp H ttp C ontrollers L aravelpermissionsDeletedController@destroyAllDeletedPermissions | web,auth,role:admin |
| | POST | permissions-deleted-restore-all | laravelroles::permissions-deleted-restore-all | jeremykenedy L aravelRoles A pp H ttp C ontrollers L aravelpermissionsDeletedController@restoreAllDeletedPermissions | web,auth,role:admin |
| | GET | HEAD | permissions/create | laravelroles::permissions.create | jeremykenedy L aravelRoles A pp H ttp C ontrollers L aravelPermissionsController@create | web,auth,role:admin |
| | GET | HEAD | permissions/{permission} | laravelroles::permissions.show | jeremykenedy L aravelRoles A pp H ttp C ontrollers L aravelPermissionsController@show | web,auth,role:admin |
| | DELETE | permissions/{permission} | laravelroles::permissions.destroy | jeremykenedy L aravelRoles A pp H ttp C ontrollers L aravelPermissionsController@destroy | web,auth,role:admin |
| | PUT | PATCH | permissions/{permission} | laravelroles::permissions.update | jeremykenedy L aravelRoles A pp H ttp C ontrollers L aravelPermissionsController@update | web,auth,role:admin |
| | GET | HEAD | permissions/{permission}/edit | laravelroles::permissions.edit | jeremykenedy L aravelRoles A pp H ttp C ontrollers L aravelPermissionsController@edit | web,auth,role:admin |
| | GET | HEAD | POST | PUT | PATCH | DELETE | OPTIONS | php | | Illuminate R outing R edirectController | web |
| | GET | HEAD | phpinfo | laravelPhpInfo::phpinfo | jeremykenedy L aravelPhpInfo A pp H ttp C ontrollers L aravelPhpInfoController@phpinfo | web,auth,activated,role:admin,activity,twostep |
| | GET | HEAD | profile/create | profile.create | App H ttp C ontrollers P rofilesController@create | web,auth,activated,currentUser,activity,twostep,checkblocked |
| | PUT | PATCH | profile/{profile} | profile.update | App H ttp C ontrollers P rofilesController@update | web,auth,activated,currentUser,activity,twostep,checkblocked |
| | GET | HEAD | profile/{profile} | profile.show | App H ttp C ontrollers P rofilesController@show | web,auth,activated,currentUser,activity,twostep,checkblocked |
| | GET | HEAD | profile/{profile}/edit | profile.edit | App H ttp C ontrollers P rofilesController@edit | web,auth,activated,currentUser,activity,twostep,checkblocked |
| | GET | HEAD | profile/{username} | {username} | App H ttp C ontrollers P rofilesController@show | web,auth,activated,activity,twostep,checkblocked |
| | DELETE | profile/{username}/deleteUserAccount | {username} | App H ttp C ontrollers P rofilesController@deleteUserAccount | web,auth,activated,currentUser,activity,twostep,checkblocked |
| | PUT | profile/{username}/updateUserAccount | {username} | App H ttp C ontrollers P rofilesController@updateUserAccount | web,auth,activated,currentUser,activity,twostep,checkblocked |
| | PUT | profile/{username}/updateUserPassword | {username} | App H ttp C ontrollers P rofilesController@updateUserPassword | web,auth,activated,currentUser,activity,twostep,checkblocked |
| | GET | HEAD | re-activate/{token} | user.reactivate | App H ttp C ontrollers R estoreUserController@userReActivate | web,activity,checkblocked |
| | POST | register | | App H ttp C ontrollers A uth R egisterController@register | web,guest |
| | GET | HEAD | register | register | App H ttp C ontrollers A uth R egisterController@showRegistrationForm | web,guest |
| | GET | HEAD | role-deleted/{id} | laravelroles::role-show-deleted | jeremykenedy L aravelRoles A pp H ttp C ontrollers L aravelRolesDeletedController@show | web,auth,role:admin |
| | DELETE | role-destroy/{id} | laravelroles::role-item-destroy | jeremykenedy L aravelRoles A pp H ttp C ontrollers L aravelRolesDeletedController@destroy | web,auth,role:admin |
| | PUT | role-restore/{id} | laravelroles::role-restore | jeremykenedy L aravelRoles A pp H ttp C ontrollers L aravelRolesDeletedController@restoreRole | web,auth,role:admin |
| | POST | roles | laravelroles::roles.store | jeremykenedy L aravelRoles A pp H ttp C ontrollers L aravelRolesController@store | web,auth,role:admin |
| | GET | HEAD | roles | laravelroles::roles.index | jeremykenedy L aravelRoles A pp H ttp C ontrollers L aravelRolesController@index | web,auth,role:admin |
| | GET | HEAD | roles-deleted | laravelroles::roles-deleted | jeremykenedy L aravelRoles A pp H ttp C ontrollers L aravelRolesDeletedController@index | web,auth,role:admin |
| | DELETE | roles-deleted-destroy-all | laravelroles::destroy-all-deleted-roles | jeremykenedy L aravelRoles A pp H ttp C ontrollers L aravelRolesDeletedController@destroyAllDeletedRoles | web,auth,role:admin |
| | POST | roles-deleted-restore-all | laravelroles::roles-deleted-restore-all | jeremykenedy L aravelRoles A pp H ttp C ontrollers L aravelRolesDeletedController@restoreAllDeletedRoles | web,auth,role:admin |
| | GET | HEAD | roles/create | laravelroles::roles.create | jeremykenedy L aravelRoles A pp H ttp C ontrollers L aravelRolesController@create | web,auth,role:admin |
| | GET | HEAD | roles/{role} | laravelroles::roles.show | jeremykenedy L aravelRoles A pp H ttp C ontrollers L aravelRolesController@show | web,auth,role:admin |
| | PUT | PATCH | roles/{role} | laravelroles::roles.update | jeremykenedy L aravelRoles A pp H ttp C ontrollers L aravelRolesController@update | web,auth,role:admin |
| | DELETE | roles/{role} | laravelroles::roles.destroy | jeremykenedy L aravelRoles A pp H ttp C ontrollers L aravelRolesController@destroy | web,auth,role:admin |
| | GET | HEAD | roles/{role}/edit | laravelroles::roles.edit | jeremykenedy L aravelRoles A pp H ttp C ontrollers L aravelRolesController@edit | web,auth,role:admin |
| | GET | HEAD | routes | | App H ttp C ontrollers A dminDetailsController@listRoutes | web,auth,activated,role:admin,activity,twostep,checkblocked |
| | POST | search-blocked | laravelblocker::search-blocked | jeremykenedy L aravelBlocker A pp H ttp C ontrollers L aravelBlockerController@search | web,checkblocked,auth,activated,role:admin,activity,twostep |
| | POST | search-blocked-deleted | laravelblocker::search-blocked-deleted | jeremykenedy L aravelBlocker A pp H ttp C ontrollers L aravelBlockerDeletedController@search | web,checkblocked,auth,activated,role:admin,activity,twostep |
| | POST | search-users | search-users | App H ttp C ontrollers U sersManagementController@search | web,auth,activated,role:admin,activity,twostep,checkblocked |
| | GET | HEAD | social/handle/{provider} | social.handle | App H ttp C ontrollers A uth S ocialController@getSocialHandle | web,activity,checkblocked |
| | GET | HEAD | social/redirect/{provider} | social.redirect | App H ttp C ontrollers A uth S ocialController@getSocialRedirect | web,activity,checkblocked |
| | GET | HEAD | terms | terms | App H ttp C ontrollers T ermsController@terms | web,checkblocked |
| | GET | HEAD | themes | themes | App H ttp C ontrollers T hemesManagementController@index | web,auth,activated,role:admin,activity,twostep,checkblocked |
| | POST | themes | themes.store | App H ttp C ontrollers T hemesManagementController@store | web,auth,activated,role:admin,activity,twostep,checkblocked |
| | GET | HEAD | themes/create | themes.create | App H ttp C ontrollers T hemesManagementController@create | web,auth,activated,role:admin,activity,twostep,checkblocked |
| | DELETE | themes/{theme} | themes.destroy | App H ttp C ontrollers T hemesManagementController@destroy | web,auth,activated,role:admin,activity,twostep,checkblocked |
| | PUT | PATCH | themes/{theme} | themes.update | App H ttp C ontrollers T hemesManagementController@update | web,auth,activated,role:admin,activity,twostep,checkblocked |
| | GET | HEAD | themes/{theme} | themes.show | App H ttp C ontrollers T hemesManagementController@show | web,auth,activated,role:admin,activity,twostep,checkblocked |
| | GET | HEAD | themes/{theme}/edit | themes.edit | App H ttp C ontrollers T hemesManagementController@edit | web,auth,activated,role:admin,activity,twostep,checkblocked |
| | GET | HEAD | users | users | App H ttp C ontrollers U sersManagementController@index | web,auth,activated,role:admin,activity,twostep,checkblocked |
| | POST | users | users.store | App H ttp C ontrollers U sersManagementController@store | web,auth,activated,role:admin,activity,twostep,checkblocked |
| | GET | HEAD | users/create | users.create | App H ttp C ontrollers U sersManagementController@create | web,auth,activated,role:admin,activity,twostep,checkblocked |
| | GET | HEAD | users/deleted | deleted.index | App H ttp C ontrollers S oftDeletesController@index | web,auth,activated,role:admin,activity,twostep,checkblocked |
| | GET | HEAD | users/deleted/{deleted} | deleted.show | App H ttp C ontrollers S oftDeletesController@show | web,auth,activated,role:admin,activity,twostep,checkblocked |
| | DELETE | users/deleted/{deleted} | deleted.destroy | App H ttp C ontrollers S oftDeletesController@destroy | web,auth,activated,role:admin,activity,twostep,checkblocked |
| | PUT | PATCH | users/deleted/{deleted} | deleted.update | App H ttp C ontrollers S oftDeletesController@update | web,auth,activated,role:admin,activity,twostep,checkblocked |
| | DELETE | users/{user} | user.destroy | App H ttp C ontrollers U sersManagementController@destroy | web,auth,activated,role:admin,activity,twostep,checkblocked |
| | PUT | PATCH | users/{user} | users.update | App H ttp C ontrollers U sersManagementController@update | web,auth,activated,role:admin,activity,twostep,checkblocked |
| | GET | HEAD | users/{user} | users.show | App H ttp C ontrollers U sersManagementController@show | web,auth,activated,role:admin,activity,twostep,checkblocked |
| | GET | HEAD | users/{user}/edit | users.edit | App H ttp C ontrollers U sersManagementController@edit | web,auth,activated,role:admin,activity,twostep,checkblocked |
| | GET | HEAD | verification/needed | laravel2step::verificationNeeded | jeremykenedy l aravel2step A pp H ttp C ontrollers T woStepController@showVerification | web,auth,Closure |
| | POST | verification/resend | laravel2step::resend | jeremykenedy l aravel2step A pp H ttp C ontrollers T woStepController@resend | web,auth,Closure |
| | POST | verification/verify | laravel2step::verify | jeremykenedy l aravel2step A pp H ttp C ontrollers T woStepController@verify | web,auth,Closure |
+--------+----------------------------------------+---------------------------------------+-----------------------------------------------+-----------------------------------------------------------------------------------------------------------------+--------------------------------------------------------------+
ไปที่ https://socialiteproviders.github.io และเลือกผู้ให้บริการที่จะเพิ่ม
จากโฟลเดอร์รูทของโปรเจ็กต์ ในเทอร์มินัล ให้รัน composer เพื่อรับแพ็คเกจที่ต้องการ
composer require socialiteproviders/twitch
จากโฟลเดอร์รูทของโปรเจ็กต์ ให้รัน composer update
เพิ่มผู้ให้บริการใน /config/services.php
'twitch' => [
'client_id' => env('TWITCH_KEY'),
'client_secret' => env('TWITCH_SECRET'),
'redirect' => env('TWITCH_REDIRECT_URI'),
],
เพิ่มข้อมูลประจำตัว API ไปที่ /.env
TWITCH_KEY=YOURKEYHERE
TWITCH_SECRET=YOURSECRETHERE
TWITCH_REDIRECT_URI=http://YOURWEBSITEURL.COM/social/handle/twitch
เพิ่มลิงค์เข้าสู่ระบบโซเชียลมีเดีย:
ตัวอย่าง: ในไฟล์ /resources/views/auth/login.blade.php
ให้เพิ่มรายการใดรายการหนึ่งต่อไปนี้:
<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')) !!}
ตัวอย่างไฟล์ . .env
:
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 M odels U ser
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 M odels U ser
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 M odels U ser
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
.env
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
brew install tree
tree -a -I '.git|node_modules|vendor|storage|tests'
ก่อนที่จะเปิดประเด็น มีข้อควรพิจารณาสองสามประการ:
ได้รับอนุญาตภายใต้ใบอนุญาต MIT สนุก!