0% menganggap dokumen ini bermanfaat (0 suara)
15 tayangan6 halaman

Auth 1

Diunggah oleh

muftihashfinaufal78
Hak Cipta
© © All Rights Reserved
Kami menangani hak cipta konten dengan serius. Jika Anda merasa konten ini milik Anda, ajukan klaim di sini.
Format Tersedia
Unduh sebagai DOCX, PDF, TXT atau baca online di Scribd
0% menganggap dokumen ini bermanfaat (0 suara)
15 tayangan6 halaman

Auth 1

Diunggah oleh

muftihashfinaufal78
Hak Cipta
© © All Rights Reserved
Kami menangani hak cipta konten dengan serius. Jika Anda merasa konten ini milik Anda, ajukan klaim di sini.
Format Tersedia
Unduh sebagai DOCX, PDF, TXT atau baca online di Scribd
Anda di halaman 1/ 6

Authentication: Preparation

1. Proses authentication dapat dilakukan dengan menggunakan library atau dependency


pihak ke 3, salah satunya adalah Sanctum
2. Secara default pada penggunaan Laravel Sanctum, class atau model yang digunakan adalah
Users. Berdasarkan dokumentasi dari Laravel, proses authentikasi melibatkan beberapa field
yang wajib ada seperti email / username, password, dan remember_token.
3. Berdasarkan case kita saat ini, model yang digunakan adalah Pengguna. Jadi kita perlu
melakukan beberapa penyesuaian pada Model yang sudah dibuat, serta beberapa
konfigurasi agar dapat dilakukan Authentikasi.
4. Hal yang perlu dilakukan adalah menambahkan field remember_token. Hal ini dapat
dilakukan dengan memasukkan perintah php artisan
make:migration add_remember_token_to_penggunas_table --table=penggunas

5. Buka file yang baru saja dibuat, dan tambahkan code berikut.

6. Lakukan perintah php artisan migrate

Authentication: Configuration Model


1. Langkah selanjutnya adalah mengkonfigurasi Model agar dapat dilakukan Authentikasi.
Caranya adalah dengan melakukan implementasi dari interface Authenticatable.
2. Buka file Model Pengguna pada folder Model.
3. Tambahkan perintah berikut pada bagian atas sebelum deklarasi class.

4. Lakukan modifikasi pada class Model Pengguna, menjadi code berikut.

5. Dengan demikian, model Pengguna dapat dilakukan proses Authentikasi seperti halnya
Model User (yang disediakan secara default oleh Laravel), serta memiliki token yang
digunakan untuk proses transaksi pada API.

Authentication: Config/Auth.php
1. Selanjutnya kita perlu melakukan konfigurasi pada Auth.php yang terletak di folder Config.
2. File ini berisikan konfigurasi Authentikasi yang akan digunakan pada project / rest-api yang
sedang berjalan.
3. Buka file Auth.php, ubah nilai default yang ada menjadi berikut.
4. Tambahkan guard pengguna dan provider penggunas.

5.

Authentication: BaseController
1. Kita dapat membuat Controller sebagai template dari response fungsi controller yang lain.
Hal ini merupakan contoh jika kita hendak membuat template atau style response.
2. Buat Base Controler dengan perintah php artisan make:controller API/V1/BaseController

3. Selanjutnya Buka File tersebut, dan tambahkan format function yang kita kehendaki. Sebagai
contoh kita akan membuat fungsi SendResponse dan SendError. Perlu diingat bahwa Base
Controller ini basisnya berasal dari Controller, hanya saja kita lakukan modifikasi dalam
bentuk turunannya. Sehingga perlu dipastikan sudah menginclude kan Controller.

4. Selanjutnya kita buat fungsi SendResponse. Fungsi ini digunakan untuk membuat response
Json yang bersifat sukses dengan format success, data, dan message. Data nantinya akan
dalam berbentuk json atau collection, sesuai dengan kebutuhan dari masing-masing
controller, dan message merupakan tambahan informasi yang dapat diimbukan dalam paket
response.
5. Kita buat fungsi SendError. Fungsi ini digunakan untuk mengirimkan response jika terjadi
kegagalan. Adapun bentuk format yang diberikan tidak jauh berbeda dengan sendResponse,
namun hanya http code yang disesuaikan dengan nilai defaultnya adalah 404.

Authentication: AuthController
1. Buat AuthController dengan perintah php artisan make:controller API/V1/AuthController

2. Tambahkan dependency atau library yang dibutuhkan pada file ini sebagai berikut.
use App\Http\Controllers\API\V1\BaseController as
BaseController; use App\Models\Pengguna;
use Validator;
use Illuminate\Http\Request;
use Illuminate\Support\Facades\
Auth; use Illuminate\Validation\
Rule;
3. Lakukan modifikasi bahwa class AuthController merupakan turunan dari BaseController
yang sudah dibuat pada tahapan sebelumnya.

4. File ini digunakan untuk menghandle aktivitas register dan login oleh user.
5. Buka file AuthController dan kita tambahkan fungsi Register dan Login.
6. Fungsi Register dapat dituliskan sebagaimana code berikut. Dapat diperhatikan bahwa pada
input password, dilakukan enkripsi. Hal ini perlu diakukan karena algoritma Auth di laravel
menggunakan metode bcrypt sehingga password yang diinputkan atau yang disimpan ke
dalam database juga perlu dilakukan enkripsi.
7. Selanjutnya kita buat fungsi Login. Fungsi ini digunakan ketika user melakukan login melalu
API yang kita kembangkan. Adapun field yang dicek adalah email dan password. Setelah
berhasil, maka kita akan dibuatkan token pada bagian createToken. Hasil Token yang
degenerate akan disimpan pada database sebagai token aktif.

8. Kita juga bisa menambahkan fungsi Logout. Fungsi ini digunakan untuk menghapus token
yang sedang aktif dan mengakhir sesi. Jika kita cek kembali pada data di Tabel, maka token
yang sedang aktif akan hilang.

9. Anda dapat mempelajari lebih lanjut terkait token abilities pada dokumentasi laravel
https://laravel.com/docs/11.x/sanctum#token-ability-middleware .

Authentication: Routes/api.php
1. Langkah selanjutnya adalah mengkonfigurasi api.php pada routes.
2. Tambahkan Routes Controller untuk login dan Register.

3. Dan lakukan modifikasi untuk endpoint penggunas dengan melingkupkan dalam authentikasi
sanctum. Hal ini menunjukkan bahwa endpoint tersebut hanya bisa diakses apabila kita
memasukkan authentikasi header berupa token dari login.

4. Tambahkan Routes untuk logout, routes ini dapat dipanggil menggunakan auth:sanctum.

5. Lakukan Register dan Login menggunakan Postman


6. Token aktif yang disimpan pada database dapat dilihat pada Tabel Personal_Access_Token
melalui phpmyadmin. (note: tahapan ini hanya bisa dilakukan ketika Routes/api.php sudah
disetting atau ditambahkan)

Authentication: Header Authentication


1. Penggunaan token ketika Anda berhasil login dapat dilakukan dengan menambahkan
parameter pada header yaitu authorization.
2. Sebagai contoh, ketika berhasil maka kita akan mendapatkan token akses
3. Token tersebut dapat kita gunakan pada header, dengan code tambahan bearer. Berikut
adalah contohnya.

Authentication: Pengujian
Anda bisa melakukan pengujian menggunakan postman dengan scenario.

1. Lakukan pengujian pada langkah 2, Routes/api.php. Pada tahap ini anda bisa mengakses
semua endpoint yang ada.
2. Lakukan pengujian pada langkah 3, Routes/api.php. Pada tahap ini anda hanya bisa
mengakses endpoint register dan login. Sedangkan endpoint lainnya Anda harus
menambahkan header authorization.

Anda mungkin juga menyukai