Getting Started

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.

POST /auth/login

Request Body

JSON
{
  "email": "user@smkn7palangkaraya.sch.id",
  "password": "your-password"
}

Response

JSON
{
  "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.

HTTP HEADER
Authorization: Bearer YOUR_ACCESS_TOKEN
cURL
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.

POST /auth/refresh

Request Body

JSON
{
  "refresh_token": "eyJhbGciOiJIUzI1NiIs..."
}

Response

JSON
{
  "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.

POST /auth/logout
JSON
{
  "success": true,
  "message": "Logout successful",
  "data": null
}

Error Responses

Berikut beberapa error yang umum terjadi terkait autentikasi.

401 Access token tidak disertakan, tidak valid, atau sudah kedaluwarsa.
401 Refresh token tidak valid, sudah digunakan, atau sudah dicabut.
403 Token valid, tetapi pengguna tidak memiliki permission yang diperlukan untuk mengakses resource.
JSON
{
  "success": false,
  "message": "Access token is invalid or expired",
  "error": {
    "code": "UNAUTHORIZED"
  }
}
Next Step

Siap mengakses data?

Setelah memahami cara autentikasi, lanjutkan untuk mempelajari endpoint yang tersedia pada SMKN 7 Palangka Raya API.

Lihat Endpoints →