Skip to main content

Authorization Token Request

Ringkasan

Layanan ini digunakan untuk mengelola semua proses pengambilan token otorisasi. Informasi detail akan dijelaskan pada bagian selanjutnya.

Spesifikasi API Paydia akan mencakup dua titik utama, yaitu:

NoNama APIDeskripsi
1Token Akses B2BAPI ini digunakan untuk mengambil token otorisasi B2B (integrasi antara PJP Penyedia Layanan dan Pengguna Layanan) berdasarkan ID klien dan token akses Signature. Token yang dihasilkan dapat digunakan dalam header HTTP Authorization
2Token Akses B2B2CAPI ini digunakan untuk mengambil token otorisasi B2B2C (integrasi antara PJP Penyedia Layanan, Pengguna Layanan, dan Konsumen) berdasarkan ID klien dan token akses Signature. Token yang dihasilkan dapat digunakan dalam header HTTP Authorization

Pembuatan Signature Dan Validasi

Berikut ini akan menjelaskan tentang pembuatan Signature dan Validasi

Asimetris

Langkah-langkah berikut akan menjelaskan tentang Asimetris.

Pembuatan Kunci Asimetris

Langkah-langkah berikut akan menjelaskan tentang Pembuatan Kunci Asimetris.

  • Buat Kunci Pribadi
  • openssl genrsa -out rsa_private_key.pem 2048
  • Ekspor Kunci Publik
  • openssl rsa -in rsa_private_key.pem -out rsa_public_key.pem -pubout
  • Konversi Kunci Pribadi ke PKCS#8
  • openssl pkcs8 -topk8 -in rsa_private_key.pem -out pkcs8_rsa_private_key.pem -nocrypt

Mitra harus menghasilkan Signature dengan pkcs8_rsa_private_key.pem dan Paydia akan menggunakan rsa_public_key.pem untuk memvalidasi Signature, dan sebaliknya.

Pembuatan Signature Digital

Berikut adalah langkah-langkah membuat signature digital:

  1. Gabungkan string yang akan ditandatangani:
    • Terapkan token:
    • X-CLIENT-KEY + "|" + X-TIMESTAMP
  2. String Signature dihasilkan dari string yang akan ditandatangani di atas dengan menerapkan SHA-256 dengan enkripsi RSA-2048 menggunakan kunci pribadi pkcs8, dan kemudian mengkodekan hasilnya ke base64.
  3. Letakkan string Signature ke dalam header HTTP "X-SIGNATURE".
contoh:
openssl genrsa -out rsa_private_key.pem 2048
Validasi Signature Digital Berikut adalah langkah-langkah validasi signature digital:
  1. Ambil signature dari header HTTP "X-SIGNATURE".
  2. Deskripsi signature menggunakan kunci publik yang sesuai dengan kunci pribadi yang digunakan untuk menghasilkan signature.
  3. Verifikasi kebenaran signature berdasarkan enkripsi signature dengan SHA-256 menggunakan enkripsi RSA-2048 terhadap string yang akan ditandatangani.
  4. Jika verifikasi benar, maka konsumsilah pesan tersebut.

Versi Dokumen

Tabel berikut digunakan untuk menunjukkan versi dokumen ini:

NoTanggalVersiKeteranganHalaman
110 Mei 20231.2.2Menghapus bagian Kode Tanggapan UmumLayanan - Permintaan Token Otorisasi
220 Oktober 20221.0.0Rilis AwalSemua halaman SNAP