@jx_code/rsimzo-client
Yengil JavaScript klienti bo‘lib, RsImzo provayderi bilan o‘zaro aloqa qilish imkonini beradi — foydalanuvchilarni autentifikatsiya qilish, sertifikatlarni olish va EDS kalitlari yordamida hujjatlarni imzolash uchun ishlatiladi.
@jx_code/rsimzo-clientYengil JavaScript klienti bo‘lib, RsImzo provayderi bilan xavfsiz popup yoki iframe orqali foydalanuvchini autentifikatsiya qilish, sertifikatlarni olish va EDS yordamida kontentni imzolash imkonini beradi.
# npm orqali
npm install @jx_code/rsimzo-client
# yoki pnpm orqali
pnpm add @jx_code/rsimzo-client
# yoki yarn orqali
yarn add @jx_code/rsimzo-client
import { RsimzoClient } from "@jx_code/rsimzo-client";
const rsimzo = new RsimzoClient({
publicKey: "YOUR_PUBLIC_KEY",
locale: "uz", // ixtiyoriy, sukut bo‘yicha 'uz'
});
⚠️
publicKeymajburiy parametr hisoblanadi. Agar u berilmasa, konstruktor xato qaytaradi.
new RsimzoClient(options)Parametrlar:
| Parametr | Turi | Majburiy | Sukut bo‘yicha | Tavsif |
|---|---|---|---|---|
publicKey | string | ✅ Ha | — | RsImzo tomonidan berilgan public kalit |
locale | 'uz' | 'ru' | 'en' | ❌ Yo‘q | 'uz' | Popup interfeysi uchun til |
Misol:
const rsimzo = new RsimzoClient({ publicKey: "ABC123", locale: "ru" });
getCertificates(options?)Yashirin iframe orqali RsImzo provayderidan mavjud EDS sertifikatlar ro‘yxatini oladi.
Parametrlar:
| Parametr | Turi | Majburiy | Sukut bo‘yicha | Tavsif |
|---|---|---|---|---|
locale | 'uz' | 'ru' | 'en' | ❌ | joriy instansiya tili | Interfeys tili |
Qaytaradi:
Promise<RsPostMessageResult<{ serialNumber: string; owner: string }[]>>;
Misol:
const result = await rsimzo.getCertificates();
console.log(result);
sign(serialNumber, content, options?)Berilgan kontentni sertifikat yordamida imzolash uchun popup oynasini ochadi.
Parametrlar:
| Nomi | Turi | Majburiy | Sukut bo‘yicha | Tavsif |
|---|---|---|---|---|
serialNumber | string | ✅ Ha | — | Imzolashda ishlatiladigan sertifikat raqami |
content | string | ✅ Ha | — | Imzolanishi kerak bo‘lgan kontent (masalan, base64) |
options.locale | 'uz' | 'ru' | 'en' | ❌ Yo‘q | instansiya tili | Popup oynasining tili |
options.attached | boolean | ❌ Yo‘q | true | Imzo biriktirilgan yoki yo‘qligini belgilaydi |
Qaytaradi:
Promise<RsPostMessageResult<string>>;
Misol:
const signed = await rsimzo.sign("123456789", "Hello world!");
console.log(signed);
auth(options?)RsImzo orqali foydalanuvchini autentifikatsiya qilishni amalga oshiradi va identifikatsiya tokeni yoki foydalanuvchi ma’lumotlarini qaytaradi.
Parametrlar:
| Parametr | Turi | Majburiy | Sukut bo‘yicha | Tavsif |
|---|---|---|---|---|
locale | 'uz' | 'ru' | 'en' | ❌ Yo‘q | instansiya tili | Popup oynasining tili |
Qaytaradi:
Promise<RsPostMessageResult<string>>;
Misol:
const authResult = await rsimzo.auth();
console.log(authResult);
Har bir metod quyidagi tuzilmani qaytaradi:
type RsPostMessageResult<T> = {
data: T | null;
error?: {
errorCode: number;
errorMessage: string;
};
};
| Kod | Xabar | Tavsif |
|---|---|---|
13 | Noto‘g‘ri parol | Imzolash jarayonida noto‘g‘ri parol kiritilgan |
10001 | Oyna yopildi | Foydalanuvchi popup oynasini yopgan |
10002 | Token xatosi | Token olish yoki tekshirishda xato |
10003 | Natija yo‘q | Amal natijasiz yakunlandi |
10004 | Sertifikat topilmadi | Mos EDS sertifikati topilmadi |
10005 | Noto‘g‘ri token | Token tekshiruvidan o‘tmadi |
10006 | Noto‘g‘ri parametr | Kiritilgan parametrlar xato yoki yetishmayapti |
10008 | Taymaut | Amal 60 soniyadan oshdi |
10009 | Popup bloklangan | Brauzer popup oynasini blokladi |
import { RsimzoClient } from "@jx_code/rsimzo-client";
const rsimzo = new RsimzoClient({ publicKey: "ABC123", locale: "uz" });
async function run() {
const auth = await rsimzo.auth();
if (auth.error) return console.error(auth.error);
const certs = await rsimzo.getCertificates();
if (certs.error) return console.error(certs.error);
const signed = await rsimzo.sign(certs.data[0].serialNumber, "text-to-sign");
console.log("Imzolangan ma’lumot:", signed);
}
run();