diff --git a/composer.json b/composer.json index f744a19..18dd02d 100644 --- a/composer.json +++ b/composer.json @@ -11,11 +11,18 @@ ], "require": { "php": ">=5.5.0", - "hesto/core": "1.0.*" + "hesto/core": "2.0.*" }, "autoload": { "psr-4": { "Hesto\\MultiAuth\\": "src/" } + }, + "extra": { + "laravel": { + "providers": [ + "Hesto\\MultiAuth\\MultiAuthServiceProvider" + ] + } } } diff --git a/readme.md b/readme.md index 529897a..51a0c95 100644 --- a/readme.md +++ b/readme.md @@ -14,6 +14,7 @@ ## What it does? With one simple command you can setup multi auth for your Laravel project. The package installs: + - Model - Migration - Controllers @@ -39,22 +40,13 @@ With one simple command you can setup multi auth for your Laravel project. The p ### Step 1: Install Through Composer -``` -composer require hesto/multi-auth +```shell +composer require hesto/multi-auth --dev ``` ### Step 2: Add the Service Provider (only for laravel lower than 5.5) -You'll only want to use these package for local development, so you don't want to update the production `providers` array in `config/app.php`. Instead, add the provider in `app/Providers/AppServiceProvider.php`, like so: - -```php -public function register() -{ - if ($this->app->environment() == 'local') { - $this->app->register('Hesto\MultiAuth\MultiAuthServiceProvider'); - } -} -``` +Laravel 5.5 uses Package Auto-Discovery, so doesn't require you to manually add the ServiceProvider. You'll only want to use these package for local development, so this package will be included in require-dev section. When your site is deployed to production you will remove dev packages. ### Step 3: Install Multi-Auth files in your project @@ -165,63 +157,8 @@ public function logoutToPath() { - Routes file for given guard - resources/views/{guard}/ - - Views for given guard - -## Changelog - -### Note: Never install configurations with same guard again after installed new version of package. So if you already installed your `admin` guard, don't install it again after you update package to latest version. - -### v1.0.7 -- changed {guard}/logout route method from `get` to `post` -- added `{guard}.guest` middleware to redirect from login page if user is already logged in -- added home view after login - -### v1.0.6 -- added `auth:{guard}` middleware to `app\Providers\RouteServiceProvider.php`. If you have installed multi-auth guard with old version add middleware manually: -```php -Route::group([ - 'middleware' => ['web', 'admin', 'auth:admin'], //you need to add the last middleware to array to fix it (version < v.1.0.6) - 'prefix' => 'admin', - 'as' => 'admin.', - 'namespace' => $this->namespace, -], function ($router) { - require base_path('routes/admin.php'); -}); -``` - -### v1.0.5 -- composer.json fix - -### v1.0.4 -- added name and prefix to route group configuration in `RouteServiceProvider` - -```php -Route::group([ - 'prefix' => 'admin', //if you have older version of package ( < v1.0.4) add this line manually, - 'as' => 'admin.', //if you have older version of package ( < v1.0.4) add this line manually (the DOT at the end is important), - 'middleware' => ['web', 'admin'], - 'namespace' => $this->namespace, -], function ($router) { - require base_path('routes/admin.php'); -}); -``` - -- Now you will be able to name your routes without adding guard's name to route name in your `routes/{guard}.php` and your routes will be named (its important) - -```php -//New way -Route::get('/home', function () { // <- no {guard} prefix and it has proper name (admin.home) - //content -})->name('home'); // http://your-project/admin/home - -//Old way -Route::get('/admin/home', function () { // <- with {guard} prefix - //content -})->name('admin.home'); // http://your-project/admin/home -``` -### v1.0.3 -- changed deafult auth's layout name from `app.blade.php` to `auth.blade.php` +- Views for given guard ## Support on Beerpay Hey dude! Help me out for a couple of :beers:! diff --git a/src/Commands/AuthViewsInstallCommand.php b/src/Commands/AuthViewsInstallCommand.php index 0991061..7b893c2 100644 --- a/src/Commands/AuthViewsInstallCommand.php +++ b/src/Commands/AuthViewsInstallCommand.php @@ -33,7 +33,7 @@ class AuthViewsInstallCommand extends InstallAndReplaceCommand * * @return bool|null */ - public function fire() + public function handle() { $this->installViews(); } diff --git a/src/Commands/MultiAuthInstallCommand.php b/src/Commands/MultiAuthInstallCommand.php index 4dde5c3..ab35bd8 100644 --- a/src/Commands/MultiAuthInstallCommand.php +++ b/src/Commands/MultiAuthInstallCommand.php @@ -34,7 +34,7 @@ class MultiAuthInstallCommand extends InstallAndReplaceCommand * * @return bool|null */ - public function fire() + public function handle() { if ($this->option('lucid') && ! $this->getParsedServiceInput()) { $this->error('You must pass a Service name with the `--lucid` option.'); diff --git a/src/stubs/routes/map-method.stub b/src/stubs/routes/map-method.stub index 5aba008..a600984 100644 --- a/src/stubs/routes/map-method.stub +++ b/src/stubs/routes/map-method.stub @@ -7,13 +7,10 @@ */ protected function map{{singularClass}}Routes() { - Route::group([ - 'middleware' => ['web', '{{singularSnake}}', 'auth:{{singularSnake}}'], - 'prefix' => '{{singularSlug}}', - 'as' => '{{singularSlug}}.', - 'namespace' => $this->namespace, - ], function ($router) { - require base_path('routes/{{singularSlug}}.php'); - }); + Route::prefix('{{singularSlug}}') + ->middleware(['web', '{{singularSnake}}', 'auth:{{singularSnake}}']) + ->namespace($this->namespace) + ->name('{{singularSlug}}.') + ->group(base_path('routes/{{singularSlug}}.php')); } diff --git a/src/stubs/routes/web.stub b/src/stubs/routes/web.stub index 2a840d2..269685c 100644 --- a/src/stubs/routes/web.stub +++ b/src/stubs/routes/web.stub @@ -1,14 +1,14 @@ Route::group(['prefix' => '{{singularSlug}}'], function () { - Route::get('/login', '{{singularClass}}Auth\LoginController@showLoginForm')->name('login'); - Route::post('/login', '{{singularClass}}Auth\LoginController@login'); - Route::post('/logout', '{{singularClass}}Auth\LoginController@logout')->name('logout'); + Route::get('/login', '{{singularClass}}Auth\LoginController@showLoginForm')->name('login'); + Route::post('/login', '{{singularClass}}Auth\LoginController@login'); + Route::post('/logout', '{{singularClass}}Auth\LoginController@logout')->name('logout'); - Route::get('/register', '{{singularClass}}Auth\RegisterController@showRegistrationForm')->name('register'); - Route::post('/register', '{{singularClass}}Auth\RegisterController@register'); + Route::get('/register', '{{singularClass}}Auth\RegisterController@showRegistrationForm')->name('register'); + Route::post('/register', '{{singularClass}}Auth\RegisterController@register'); - Route::post('/password/email', '{{singularClass}}Auth\ForgotPasswordController@sendResetLinkEmail')->name('password.request'); - Route::post('/password/reset', '{{singularClass}}Auth\ResetPasswordController@reset')->name('password.email'); - Route::get('/password/reset', '{{singularClass}}Auth\ForgotPasswordController@showLinkRequestForm')->name('password.reset'); - Route::get('/password/reset/{token}', '{{singularClass}}Auth\ResetPasswordController@showResetForm'); + Route::post('/password/email', '{{singularClass}}Auth\ForgotPasswordController@sendResetLinkEmail')->name('password.request'); + Route::post('/password/reset', '{{singularClass}}Auth\ResetPasswordController@reset')->name('password.email'); + Route::get('/password/reset', '{{singularClass}}Auth\ForgotPasswordController@showLinkRequestForm')->name('password.reset'); + Route::get('/password/reset/{token}', '{{singularClass}}Auth\ResetPasswordController@showResetForm'); }); diff --git a/src/stubs/views/auth/login.blade.stub b/src/stubs/views/auth/login.blade.stub index 5197a56..c97b981 100644 --- a/src/stubs/views/auth/login.blade.stub +++ b/src/stubs/views/auth/login.blade.stub @@ -1,4 +1,4 @@ -@extends('{{singularSlug}}.layout.auth') +@extends('{{singularSlug}}.layouts.auth') @section('content')
diff --git a/src/stubs/views/auth/passwords/email.blade.stub b/src/stubs/views/auth/passwords/email.blade.stub index 56e2140..82aa205 100644 --- a/src/stubs/views/auth/passwords/email.blade.stub +++ b/src/stubs/views/auth/passwords/email.blade.stub @@ -1,4 +1,4 @@ -@extends('{{singularSlug}}.layout.auth') +@extends('{{singularSlug}}.layouts.auth') @section('content') diff --git a/src/stubs/views/auth/passwords/reset.blade.stub b/src/stubs/views/auth/passwords/reset.blade.stub index 39758e5..5909e89 100644 --- a/src/stubs/views/auth/passwords/reset.blade.stub +++ b/src/stubs/views/auth/passwords/reset.blade.stub @@ -1,4 +1,4 @@ -@extends('{{singularSlug}}.layout.auth') +@extends('{{singularSlug}}.layouts.auth') @section('content')
diff --git a/src/stubs/views/auth/register.blade.stub b/src/stubs/views/auth/register.blade.stub index 59d9276..03f6107 100644 --- a/src/stubs/views/auth/register.blade.stub +++ b/src/stubs/views/auth/register.blade.stub @@ -1,4 +1,4 @@ -@extends('{{singularSlug}}.layout.auth') +@extends('{{singularSlug}}.layouts.auth') @section('content')
diff --git a/src/stubs/views/home.blade.stub b/src/stubs/views/home.blade.stub index 2b25e47..caab91a 100644 --- a/src/stubs/views/home.blade.stub +++ b/src/stubs/views/home.blade.stub @@ -1,4 +1,4 @@ -@extends('{{singularSlug}}.layout.auth') +@extends('{{singularSlug}}.layouts.auth') @section('content')
diff --git a/src/stubs/views/layout/auth.blade.stub b/src/stubs/views/layouts/auth.blade.stub similarity index 100% rename from src/stubs/views/layout/auth.blade.stub rename to src/stubs/views/layouts/auth.blade.stub