Project ini dibangun dengan laravel 9 dan beberapa package tambahan seperti:
- Database: MySQL
- Laravel Sanctum
- JWT-Auth Custom
Dimana sanctum digunakan untuk autentikasi dan JWT-Auth digunakan untuk mengakses api public.
- Clone project ini dengan
git clone https://github.com/lutfiihsan/jwt-and-sanctum.git
- Jalankan
composer install
- Copy file
.env.example
menjadi.env
dan tambahkan ini :
JWT_DOMAIN=abc.com
API_KEY=123
- Jalankan
database:create nama_database
untuk membuat database - Jalankan
php artisan migrate
- Jalankan
php artisan serve
- Register user baru dengan mengakses
http://localhost:8000/api/register
dengan method POST dan body sebagai berikut:
{
"name": "demo",
"email": "[email protected]",
"password": "demo123",
}
- Lalu pilih authorization type
api_key
, masukkankey => client-secret
danvalue => xxxxx
- Login dengan mengakses
http://localhost:8000/api/login
- Untuk melihat profile, silahkan akses
http://localhost:8000/api/user
dan masukkan token yang didapatkan saat login/register - Untuk mendapatkan
client-secret
, akseshttp://localhost:8000/api/token
dengan method POST dan body sebagai berikut :
{
'api_key' => dari env
'domain' => domain.com
}