Laravel Tips: Cara Login dengan Mudah Saat Pengembangan

    Terkadang kita perlu meloginkan beberapa kredensial untuk melihat hasil yang kita telah kembangkan untuk melihat hasil yang berbeda-beda. Maka di dalam artikel ini kita akan membahas bagaimana cara setup nya.

    Irsyad A. Panjaitan

    3 min readยท09 Jul 2022

    Laravel Tips: Cara Login dengan Mudah Saat Pengembangan

    Terkadang kita perlu meloginkan beberapa kredensial untuk melihat hasil yang kita telah kembangkan untuk melihat hasil yang berbeda-beda. Dan sudah pasti kita membutuhkan cara yang cepat selain kita harus login kemudian logout untuk memasukkan user baru. Cara lain mungkin Anda akan menggunakan yang nama nya versi incognito, tapi jika Anda cara lebih cepat, mengapa tidak?

    Untuk memulai nya, pastikan Anda sudah mempunyai beberapa user di dalam database, sehingga Anda bisa mengganti user mana saja yang ingin loginkan. Jika Anda tidak punya, Anda bisa buka terminal, dan jalankan tinker untuk menggenerasi user lewat factory seperti berikut:

    php artisan tinker
    

    Kemudian jalankan buat 10 user dengan factory dengan menjalankan perintah berikut:

    >>> User::factory(10)->create();
    

    Jika sudah, sekarang Anda bisa file app/Providers/RouteServiceProvider.php, dan harusnya yang Anda lihat untuk saat ini pada metode boot kurang lebih seperti berikut:

    app/Providers/RouteServiceProvider.php
    public function boot()
    {
        $this->configureRateLimiting();
    
        $this->routes(function () {
            Route::middleware('api')->prefix('api')->group(base_path('routes/api.php'));
            Route::middleware('web')->group(base_path('routes/web.php'));
        });
    }
    

    Anda bisa menambahkan 1 route group tepat di bawah web tersebut untuk development mode seperti:

    app/Providers/RouteServiceProvider.php
    public function boot()
    {
        $this->configureRateLimiting();
    
        $this->routes(function () {
            Route::middleware('api')->prefix('api')->group(base_path('routes/api.php'));
            Route::middleware('web')->group(base_path('routes/web.php'));
    
            if (!app()->isProduction()) {
                Route::middleware('web')->prefix('dev')->group(base_path('routes/dev.php'));
            }
        });
    }
    

    Perhatikan baik-baik, disini kita buat !app()->isProduction() untuk memastikan bahwa route ini akan jalan apabila kita sedang dalam local environment (APP_ENV=local). Dan karena disini kita menggunakan prefix dev, itu artinya kita akan mengunjungi setiap route yang kita buat nanti dalam file dev.php harus dimulai dengan /dev/*. Setelah itu, Anda bisa buat 1 file dengan nama dev.php di dalam folder routes. Buka file nya dan masukkan route seperti berikut ini.

    routes/dev.php
    use App\Models\User;
    use Illuminate\Support\Facades\Auth;
    use Illuminate\Support\Facades\Route;
    use App\Providers\RouteServiceProvider;
    
    Route::get('/login/{id}', function ($id = null) {
        Auth::login(User::find($id));
        return redirect(RouteServiceProvider::HOME);
    });
    

    Setelah itu, maka sekarang Anda bisa buka browser untuk meloginkan para pengguna dari id nya yang ada di dalam database dengan mengunjungi uri seperti /dev/login/4.

    Semoga bermanfaat, dan mudah-mudahan kerja kita jauh lebih cepat dari pada sebelumnya. Thank you for reading, until next time. ๐Ÿ‘‹๐Ÿป

    Karteil
    Destinasi Utama Belajar Online dengan Format Tulisan yang Elegan
    Kunjungi Sekarang

    Irsyad A. Panjaitan

    Let's start living like no one can help us in any event, so that when we are helped in certain times, it becomes a plus in itself.

    Follow me on
    Support me
    SaweriaGithub

    Newsletter

    Bergabunglah dengan 23.000+ lainnya dan jangan pernah ketinggalan screencast, tips, tutorial, dan lainnya.