Authentication
Halaman ini menjelaskan cara melakukan autentikasi ke SMKN 7 Palangka Raya API, mulai dari login, penggunaan access token, hingga refresh token.
Bagaimana Cara Kerja Authentication?
SMKN 7 Palangka Raya API menggunakan JWT (JSON Web Token)
untuk autentikasi. Setelah login berhasil, server akan memberikan
access_token dan refresh_token.
access_token digunakan untuk mengakses endpoint yang
dilindungi, sedangkan refresh_token digunakan untuk
mendapatkan access_token baru ketika sudah kedaluwarsa,
tanpa perlu login ulang.
Catatan
access_token memiliki masa berlaku yang singkat.
Simpan refresh_token dengan aman dan jangan pernah
mengeksposnya ke client-side yang tidak tepercaya.
Login
Untuk mendapatkan access token, kirimkan request login dengan kredensial pengguna.
/auth/login
Request Body
{
"email": "user@smkn7palangkaraya.sch.id",
"password": "your-password"
}
Response
{
"success": true,
"message": "Login successful",
"data": {
"access_token": "eyJhbGciOiJIUzI1NiIs...",
"refresh_token": "eyJhbGciOiJIUzI1NiIs...",
"token_type": "Bearer",
"expires_in": 900
}
}
Menggunakan Access Token
Sertakan access_token pada header Authorization
di setiap request ke endpoint yang membutuhkan autentikasi.
Authorization: Bearer YOUR_ACCESS_TOKEN
curl -X GET \
"https://api.smkn7palangkaraya.sch.id/api/v1/students" \
-H "Accept: application/json" \
-H "Authorization: Bearer YOUR_ACCESS_TOKEN"
Refresh Token
Ketika access_token sudah kedaluwarsa, gunakan
refresh_token untuk mendapatkan access_token
baru tanpa perlu login ulang.
/auth/refresh
Request Body
{
"refresh_token": "eyJhbGciOiJIUzI1NiIs..."
}
Response
{
"success": true,
"message": "Token refreshed successfully",
"data": {
"access_token": "eyJhbGciOiJIUzI1NiIs...",
"refresh_token": "eyJhbGciOiJIUzI1NiIs...",
"token_type": "Bearer",
"expires_in": 900
}
}
Rotasi Refresh Token
Setiap kali refresh_token digunakan, server akan
menerbitkan refresh_token baru dan menonaktifkan
yang lama. Jika refresh_token yang sudah tidak
berlaku digunakan kembali, seluruh sesi pada akun tersebut akan
dicabut sebagai langkah keamanan.
Logout
Mencabut refresh_token yang sedang aktif sehingga tidak
dapat digunakan lagi untuk mendapatkan access token baru.
/auth/logout
{
"success": true,
"message": "Logout successful",
"data": null
}
Error Responses
Berikut beberapa error yang umum terjadi terkait autentikasi.
{
"success": false,
"message": "Access token is invalid or expired",
"error": {
"code": "UNAUTHORIZED"
}
}
Siap mengakses data?
Setelah memahami cara autentikasi, lanjutkan untuk mempelajari endpoint yang tersedia pada SMKN 7 Palangka Raya API.