Autentikasi Laravel

Views: 55
0 0
Read Time:1 Minute, 24 Second

Seperti yang kita lihat di artikel sebelumnya, autentikasi diperlukan saat login melalui API. Laravel menyediakan dua opsi untuk autentikasi API ini, yaitu Passport dan Sanctum. Passport adalah penyedia autentikasi OAuth2, sedangkan Sanctum menyediakan autentikasi yang lebih simpel. Dalam artikel ini kita lebih membahas Passport yang umum digunakan dalam autentikasi API.

Dengan mengasumsikan Laravel sudah terinstal, berikut ini adalah perintah untuk mengunduh paket Passport pada direktori dimana Laravel tersebut terinstal, dengan menggunakan Composer package manager:

composer require laravel/passport

Karena ada tambahan beberapa kolom pada table users, maka perlu dilakukan migrasi table.

php artisan migrate

Selanjutnya, instal paket Passport untuk membuat token key dengan menjalankan perintah:

php artisan passport:install

Setelah instalasi selesai, sekarang kita harus melakukan beberapa konfigurasi. Pertama, lakukan perubahan pada app\Models\User.php untuk menambahkan class HasApiTokens dari Passport.

<?php

namespace App;

use Illuminate\Database\Eloquent\Factories\HasFactory;
use Illuminate\Contracts\Auth\MustVerifyEmail;
use Illuminate\Foundation\Auth\User as Authenticatable;
use Illuminate\Notifications\Notifiable;
use Laravel\Passport\HasApiTokens;

class User extends Authenticatable
{
    use HasApiTokens, HasFactory, Notifiable;

    /**
     * The attributes that are mass assignable.
     *
     * @var array
     */
    protected $fillable = [
        'name', 'username', 'email', 'password',
    ];

    /**
     * The attributes that should be hidden for arrays.
     *
     * @var array
     */
    protected $hidden = [
        'password', 'remember_token',
    ];

    /**
     * The attributes that should be cast to native types.
     *
     * @var array
     */
    protected $casts = [
        'email_verified_at' => 'datetime',
    ];
}

Dilanjutkan dengan mengubah config\auth.php pada bagian ‘guards’, di array ‘api’, untuk ‘driver’ diganti ‘passport’.

<?php

return [
    ...

    'guards' => [
        'web' => [
            'driver' => 'session',
            'provider' => 'users',
        ],

        'api' => [
            'driver' => 'passport',
            'provider' => 'users',
        ],
    ],
...

Setelah konfigurasi selesai dilakukan maka untuk selanjutnya proses autentikasi API sudah bisa digunakan untuk proses login maupun metode-metode lainnya dalam protokol HTTP.

 

 

 

Penulis

T. Dianne

Happy
Happy
0 %
Sad
Sad
0 %
Excited
Excited
0 %
Sleepy
Sleepy
0 %
Angry
Angry
0 %
Surprise
Surprise
0 %
Let's Coding while Relaxing