@starvale-sdk/authqris
v1.0.4
Published
Node.js SDK for OrderKuota authentication and session management
Readme
@starvale-sdk/authqris
Node.js SDK untuk OrderKuota authentication dan session management.
Dibuat oleh AltharDev untuk StarVale.
Fitur
- Login ke OrderKuota dengan username dan password
- OTP verification flow
- Penyimpanan sesi yang fleksibel:
MemorySessionStoreuntuk penyimpanan in-memorySessionManageruntuk penyimpanan file JSON- dukungan custom session store melalui
options.sessionManager
- Konfigurasi
OrderKuotaClientdapat di-overwrite - Ringan dan dapat digunakan di bot, web, atau aplikasi console
Instalasi
npm install @starvale-sdk/authqrisPenggunaan
Import SDK
Untuk CommonJS:
const { OrderKuotaSdk, MemorySessionStore } = require('@starvale-sdk/authqris');Untuk ESM / Next.js / Turbopack:
import pkg from '@starvale-sdk/authqris';
const { OrderKuotaSdk, MemorySessionStore } = pkg;Jika setup bundler kamu masih mengeluarkan error OrderKuotaSdk is not a constructor, gunakan default import seperti ini:
import pkg from '@starvale-sdk/authqris';
const { OrderKuotaSdk, MemorySessionStore } = pkg;
OrderKuotaSdkmendukung interoperabilitas CommonJS/ESM denganmodule.exports.__esModule = truedandefaultexport pada paket.
Login dan OTP (in-memory session)
const sdk = new OrderKuotaSdk({
sessionManager: new MemorySessionStore(),
});
async function main() {
const loginResult = await sdk.login('default', 'username', 'password');
if (!loginResult.success) {
console.error('Login failed:', loginResult);
return;
}
if (loginResult.results?.otp === 'email') {
console.log('OTP dikirim, lanjutkan dengan:', loginResult.results.otp_value);
const otpResult = await sdk.verifyOtp('default', '123456');
console.log('OTP result:', otpResult);
}
console.log('Token:', sdk.getToken('default'));
}
main();Menggunakan custom session store
class DatabaseSessionStore {
async load() { ... }
async save(sessions) { ... }
async get(sessionId) { ... }
async set(sessionId, data) { ... }
async delete(sessionId) { ... }
}
const sdk = new OrderKuotaSdk({
sessionManager: new DatabaseSessionStore(),
});Catatan: kelas
OrderKuotaSdkmendukungsessionManagercustom, jadi kamu bisa menggunakan database apapun sebagai storage.
API
new OrderKuotaSdk(options)
options.orderKuotaClientOptions- override API base URL, path, user agent, atau device configoptions.sessionsFile- path file JSON untukSessionManageroptions.sessionManager- custom session manager objectoptions.errorLogger- fungsi logging error
sdk.login(sessionId, username, password)
Melakukan login dan menyimpan status sesi.
sdk.verifyOtp(sessionId, otpCode)
Memverifikasi OTP dan menyimpan token setelah sukses.
sdk.getSession(sessionId)
Mengambil data sesi.
sdk.getToken(sessionId)
Mengambil token bila sesi sudah logged_in.
sdk.resetSession(sessionId)
Menghapus sesi.
Lisensi
MIT
