JL
ID
Beranda dokumentasi
Menu
Panduan

Channel Privat Dan Akses

Terapkan aturan akses berbasis akun untuk baca dan tulis channel privat.

guide jsonlog

Channel Privat Dan Akses

Tujuan: mendefinisikan kepemilikan channel privat dan perilaku otorisasi.

Prasyarat

  • Miliki minimal satu token Bearer akun yang valid.
  • Gunakan ID channel yang konsisten di client penulis/pembaca.

Alur API/Script

  1. Klaim kepemilikan channel:
    • Tulis autentikasi pertama ke POST /log?cid=<id> pada channel yang belum dimiliki akan menetapkan akun pemilik.
  2. Baca sebagai pemilik:
    • GET /log?cid=<id> dengan token pemilik mengembalikan log channel.
  3. Tegakkan akses non-pemilik:
    • Baca/tulis dari akun lain mengembalikan 404.
  4. Tegakkan akses tanpa autentikasi:
    • Tulis privat tanpa token mengembalikan 401.
    • Baca privat tanpa token mengembalikan 404.
  5. Akses privat WebSocket:
    • Upgrade ke /ws?cid=<id> memerlukan token pemilik yang valid.

Alur HTTP/curl

JSONLOG_BASE_URL="http://localhost:3002"
OWNER_TOKEN="<owner_account_token>"
OTHER_TOKEN="<other_account_token>"
CID="team-private"

# Pemilik mengklaim/menggunakan channel
curl -sS -X POST "${JSONLOG_BASE_URL}/log?cid=${CID}" \
  -H "authorization: Bearer ${OWNER_TOKEN}" \
  -H "content-type: application/json" \
  --data '{"message":"owner log"}'

# Non-pemilik tidak dapat membaca channel privat
curl -sS "${JSONLOG_BASE_URL}/log?cid=${CID}" \
  -H "authorization: Bearer ${OTHER_TOKEN}"

# Penulisan tanpa autentikasi diblokir
curl -sS -X POST "${JSONLOG_BASE_URL}/log?cid=${CID}" \
  -H "content-type: application/json" \
  --data '{"message":"blocked"}'

Validasi

  • Baca/tulis pemilik berhasil dengan 200.
  • Operasi channel privat non-pemilik mengembalikan 404.
  • Token hilang saat tulis channel privat mengembalikan 401.

Dokumen Terkait