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:
No | Nama API | Deskripsi |
---|---|---|
1 | Token Akses B2B | API 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 |
2 | Token Akses B2B2C | API 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
- Ekspor Kunci Publik
- Konversi Kunci Pribadi ke PKCS#8
openssl genrsa -out rsa_private_key.pem 2048 |
openssl rsa -in rsa_private_key.pem -out rsa_public_key.pem -pubout |
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:
- Gabungkan string yang akan ditandatangani:
- Terapkan token:
- 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.
- Letakkan string Signature ke dalam header HTTP "X-SIGNATURE".
X-CLIENT-KEY + "|" + X-TIMESTAMP |
openssl genrsa -out rsa_private_key.pem 2048 |
- Ambil signature dari header HTTP "X-SIGNATURE".
- Deskripsi signature menggunakan kunci publik yang sesuai dengan kunci pribadi yang digunakan untuk menghasilkan signature.
- Verifikasi kebenaran signature berdasarkan enkripsi signature dengan SHA-256 menggunakan enkripsi RSA-2048 terhadap string yang akan ditandatangani.
- Jika verifikasi benar, maka konsumsilah pesan tersebut.
Versi Dokumen
Tabel berikut digunakan untuk menunjukkan versi dokumen ini:
No | Tanggal | Versi | Keterangan | Halaman |
---|---|---|---|---|
1 | 10 Mei 2023 | 1.2.2 | Menghapus bagian Kode Tanggapan Umum | Layanan - Permintaan Token Otorisasi |
2 | 20 Oktober 2022 | 1.0.0 | Rilis Awal | Semua halaman SNAP |