Bootstrap Auth Dan Token
Tujuan: mendapatkan token Bearer berbasis akun sebelum memanggil rute jsonlog yang terautentikasi.
Catatan batasan:
- Alur ini memanggil endpoint
auth.jsonlog.com. - Rute tersebut bukan bagian dari OpenAPI jsonlog.
Prasyarat
- Layanan JsonLog dapat diakses (untuk lokal, default
http://localhost:3002). - Environment auth sudah dikonfigurasi untuk origin dan client Anda.
node,curl, danjqtersedia jika menggunakan script bootstrap.
Alur UI
- Pengguna sign in melalui auth client yang dikonfigurasi untuk jsonlog.
- Client menerima access token dengan claim akun (
acc). - Client mengirim
Authorization: Bearer <token>untuk rute jsonlog yang terlindungi.
Alur API/Script
Gunakan helper bootstrap untuk menyiapkan identitas uji dan menghasilkan manifest token akun.
cd jsonlog
set -a && source .env && set +a
TEST_EMAIL_DOMAIN="example.com" npm run auth:bootstrap
Ambil account_access_token yang dihasilkan dari output manifest untuk panggilan /query.
Alur HTTP/curl
AUTH_BASE_URL="https://auth.jsonlog.com"
JSONLOG_BASE_URL="http://localhost:3002"
ACCESS_TOKEN="<account_scoped_token>"
curl -sS "${AUTH_BASE_URL}/.well-known/jwks.json?client_id=cid_jsonlog"
curl -sS -X POST "${JSONLOG_BASE_URL}/query" \
-H "authorization: Bearer ${ACCESS_TOKEN}" \
-H "content-type: application/json" \
--data '{"start_ts": 1700000000000, "end_ts": 1700000600000}'
Validasi
- Token hilang/tidak valid pada
/querymengembalikan401. - Token valid dengan claim akun mengembalikan
200dan envelope respons query.