Sabtu, 09 July 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. Maka di dalam artikel ini kita akan membahas bagaimana cara setup nya.

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.

Go to Irsyad A. Panjaitan profile
Support me
SaweriaGithub