sunuid-sdk 1.0.0 → 1.0.1
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/dist/sunuid-sdk.esm.js +46 -20
- package/dist/sunuid-sdk.esm.js.map +1 -1
- package/dist/sunuid-sdk.js +46 -20
- package/dist/sunuid-sdk.js.map +1 -1
- package/dist/sunuid-sdk.min.js +3 -3
- package/dist/sunuid-sdk.min.js.map +1 -1
- package/package.json +2 -2
package/dist/sunuid-sdk.esm.js
CHANGED
|
@@ -287,15 +287,18 @@ function _toPropertyKey(t) {
|
|
|
287
287
|
case 5:
|
|
288
288
|
_context.p = 5;
|
|
289
289
|
_t = _context.v;
|
|
290
|
-
console.warn('Erreur API, génération d\'un QR code de test:', _t.message);
|
|
290
|
+
console.warn('Erreur API détectée, génération d\'un QR code de test:', _t.message);
|
|
291
|
+
console.log('Type d\'erreur:', _t.name, 'Message:', _t.message);
|
|
291
292
|
|
|
292
|
-
// En cas d'échec de l'API, générer un QR code de test
|
|
293
|
+
// En cas d'échec de l'API (CORS, 500, ou autre), générer un QR code de test
|
|
293
294
|
testData = _objectSpread2({
|
|
294
295
|
type: 'auth',
|
|
295
296
|
clientId: this.config.clientId,
|
|
296
297
|
timestamp: Date.now(),
|
|
297
298
|
sessionId: 'test_' + Math.random().toString(36).substr(2, 9),
|
|
298
|
-
apiUrl: this.config.apiUrl
|
|
299
|
+
apiUrl: this.config.apiUrl,
|
|
300
|
+
error: _t.message,
|
|
301
|
+
errorType: _t.name
|
|
299
302
|
}, options);
|
|
300
303
|
qrData = JSON.stringify(testData);
|
|
301
304
|
qrUrl = "https://api.qrserver.com/v1/create-qr-code/?size=200x200&data=".concat(encodeURIComponent(qrData));
|
|
@@ -366,9 +369,10 @@ function _toPropertyKey(t) {
|
|
|
366
369
|
case 5:
|
|
367
370
|
_context2.p = 5;
|
|
368
371
|
_t2 = _context2.v;
|
|
369
|
-
console.warn('Erreur API, génération d\'un QR code de test:', _t2.message);
|
|
372
|
+
console.warn('Erreur API détectée, génération d\'un QR code de test:', _t2.message);
|
|
373
|
+
console.log('Type d\'erreur:', _t2.name, 'Message:', _t2.message);
|
|
370
374
|
|
|
371
|
-
// En cas d'échec de l'API, générer un QR code de test
|
|
375
|
+
// En cas d'échec de l'API (CORS, 500, ou autre), générer un QR code de test
|
|
372
376
|
testData = _objectSpread2({
|
|
373
377
|
type: 'kyc',
|
|
374
378
|
clientId: this.config.clientId,
|
|
@@ -376,7 +380,9 @@ function _toPropertyKey(t) {
|
|
|
376
380
|
sessionId: 'test_' + Math.random().toString(36).substr(2, 9),
|
|
377
381
|
kycType: options.kycType || 'full',
|
|
378
382
|
requiredFields: options.requiredFields || ['identity', 'address', 'phone'],
|
|
379
|
-
apiUrl: this.config.apiUrl
|
|
383
|
+
apiUrl: this.config.apiUrl,
|
|
384
|
+
error: _t2.message,
|
|
385
|
+
errorType: _t2.name
|
|
380
386
|
}, options);
|
|
381
387
|
qrData = JSON.stringify(testData);
|
|
382
388
|
qrUrl = "https://api.qrserver.com/v1/create-qr-code/?size=200x200&data=".concat(encodeURIComponent(qrData));
|
|
@@ -564,35 +570,55 @@ function _toPropertyKey(t) {
|
|
|
564
570
|
key: "makeRequest",
|
|
565
571
|
value: (function () {
|
|
566
572
|
var _makeRequest = _asyncToGenerator(/*#__PURE__*/_regenerator().m(function _callee6(endpoint, data) {
|
|
567
|
-
var url, response;
|
|
573
|
+
var url, requestData, response, _t6;
|
|
568
574
|
return _regenerator().w(function (_context6) {
|
|
569
|
-
while (1) switch (_context6.n) {
|
|
575
|
+
while (1) switch (_context6.p = _context6.n) {
|
|
570
576
|
case 0:
|
|
571
|
-
url = "".concat(this.config.apiUrl).concat(endpoint);
|
|
572
|
-
|
|
577
|
+
url = "".concat(this.config.apiUrl).concat(endpoint); // Préparer les données avec les identifiants
|
|
578
|
+
requestData = _objectSpread2(_objectSpread2({}, data), {}, {
|
|
579
|
+
client_id: this.config.clientId,
|
|
580
|
+
secret_id: this.config.secretId
|
|
581
|
+
});
|
|
582
|
+
_context6.p = 1;
|
|
583
|
+
_context6.n = 2;
|
|
573
584
|
return fetch(url, {
|
|
574
585
|
method: 'POST',
|
|
575
586
|
headers: {
|
|
576
587
|
'Content-Type': 'application/json',
|
|
577
|
-
'
|
|
578
|
-
'X-SunuID-Secret-ID': this.config.secretId
|
|
588
|
+
'Accept': 'application/json'
|
|
579
589
|
},
|
|
580
|
-
body: JSON.stringify(
|
|
590
|
+
body: JSON.stringify(requestData)
|
|
581
591
|
});
|
|
582
|
-
case
|
|
592
|
+
case 2:
|
|
583
593
|
response = _context6.v;
|
|
584
594
|
if (response.ok) {
|
|
585
|
-
_context6.n =
|
|
595
|
+
_context6.n = 3;
|
|
586
596
|
break;
|
|
587
597
|
}
|
|
588
|
-
|
|
589
|
-
|
|
590
|
-
_context6.n = 3;
|
|
591
|
-
return response.json();
|
|
598
|
+
console.warn("Erreur HTTP ".concat(response.status, ": ").concat(response.statusText));
|
|
599
|
+
throw new Error("Erreur HTTP: ".concat(response.status, " - ").concat(response.statusText));
|
|
592
600
|
case 3:
|
|
601
|
+
_context6.n = 4;
|
|
602
|
+
return response.json();
|
|
603
|
+
case 4:
|
|
593
604
|
return _context6.a(2, _context6.v);
|
|
605
|
+
case 5:
|
|
606
|
+
_context6.p = 5;
|
|
607
|
+
_t6 = _context6.v;
|
|
608
|
+
if (!(_t6.name === 'TypeError' && _t6.message.includes('CORS'))) {
|
|
609
|
+
_context6.n = 6;
|
|
610
|
+
break;
|
|
611
|
+
}
|
|
612
|
+
console.warn('Erreur CORS détectée, utilisation de QR codes de test');
|
|
613
|
+
throw new Error('CORS_ERROR');
|
|
614
|
+
case 6:
|
|
615
|
+
// Pour toutes les autres erreurs (500, 404, etc.)
|
|
616
|
+
console.warn('Erreur API détectée:', _t6.message);
|
|
617
|
+
throw _t6;
|
|
618
|
+
case 7:
|
|
619
|
+
return _context6.a(2);
|
|
594
620
|
}
|
|
595
|
-
}, _callee6, this);
|
|
621
|
+
}, _callee6, this, [[1, 5]]);
|
|
596
622
|
}));
|
|
597
623
|
function makeRequest(_x6, _x7) {
|
|
598
624
|
return _makeRequest.apply(this, arguments);
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"sunuid-sdk.esm.js","sources":["../src/sunuid-sdk.js"],"sourcesContent":["/**\n * SunuID SDK - Package d'intégration pour partenaires\n * \n * @version 1.0.0\n * @author SunuID Team\n * @license MIT\n */\n\n(function(window) {\n 'use strict';\n\n // Configuration par défaut\n const DEFAULT_CONFIG = {\n apiUrl: 'https://sunuid.fayma.sn/api',\n clientId: null,\n secretId: null,\n theme: 'light',\n language: 'fr',\n autoRefresh: true,\n refreshInterval: 30000, // 30 secondes\n onSuccess: null,\n onError: null,\n onExpired: null\n };\n\n /**\n * Classe principale SunuID\n */\n class SunuID {\n constructor(config = {}) {\n this.config = { ...DEFAULT_CONFIG, ...config };\n this.qrCode = null;\n this.refreshTimer = null;\n this.isInitialized = false;\n \n this.init();\n }\n\n /**\n * Initialisation du SDK\n */\n init() {\n if (!this.config.clientId || !this.config.secretId) {\n throw new Error('SunuID: clientId et secretId sont requis');\n }\n\n this.isInitialized = true;\n console.log('SunuID SDK initialisé avec succès');\n }\n\n /**\n * Générer un QR code d'authentification\n */\n async generateAuthQR(containerId, options = {}) {\n if (!this.isInitialized) {\n throw new Error('SunuID: SDK non initialisé');\n }\n\n try {\n // Essayer d'abord l'API réelle\n const response = await this.makeRequest('/auth/qr-generate', {\n type: 'auth',\n ...options\n });\n\n if (response.success) {\n this.displayQRCode(containerId, response.data.qr_code_url, 'auth', options);\n this.startAutoRefresh(containerId, 'auth', options);\n return response.data;\n } else {\n throw new Error(response.message);\n }\n } catch (error) {\n console.warn('Erreur API, génération d\\'un QR code de test:', error.message);\n \n // En cas d'échec de l'API, générer un QR code de test\n const testData = {\n type: 'auth',\n clientId: this.config.clientId,\n timestamp: Date.now(),\n sessionId: 'test_' + Math.random().toString(36).substr(2, 9),\n apiUrl: this.config.apiUrl,\n ...options\n };\n \n const qrData = JSON.stringify(testData);\n const qrUrl = `https://api.qrserver.com/v1/create-qr-code/?size=200x200&data=${encodeURIComponent(qrData)}`;\n \n this.displayQRCode(containerId, qrUrl, 'auth', options);\n this.startAutoRefresh(containerId, 'auth', options);\n \n return {\n success: true,\n data: {\n qr_code_url: qrUrl,\n qr_id: testData.sessionId,\n expires_at: Date.now() + 30000\n }\n };\n }\n }\n\n /**\n * Générer un QR code KYC\n */\n async generateKYCQR(containerId, options = {}) {\n if (!this.isInitialized) {\n throw new Error('SunuID: SDK non initialisé');\n }\n\n try {\n // Essayer d'abord l'API réelle\n const response = await this.makeRequest('/auth/qr-generate', {\n type: 'kyc',\n ...options\n });\n\n if (response.success) {\n this.displayQRCode(containerId, response.data.qr_code_url, 'kyc', options);\n this.startAutoRefresh(containerId, 'kyc', options);\n return response.data;\n } else {\n throw new Error(response.message);\n }\n } catch (error) {\n console.warn('Erreur API, génération d\\'un QR code de test:', error.message);\n \n // En cas d'échec de l'API, générer un QR code de test\n const testData = {\n type: 'kyc',\n clientId: this.config.clientId,\n timestamp: Date.now(),\n sessionId: 'test_' + Math.random().toString(36).substr(2, 9),\n kycType: options.kycType || 'full',\n requiredFields: options.requiredFields || ['identity', 'address', 'phone'],\n apiUrl: this.config.apiUrl,\n ...options\n };\n \n const qrData = JSON.stringify(testData);\n const qrUrl = `https://api.qrserver.com/v1/create-qr-code/?size=200x200&data=${encodeURIComponent(qrData)}`;\n \n this.displayQRCode(containerId, qrUrl, 'kyc', options);\n this.startAutoRefresh(containerId, 'kyc', options);\n \n return {\n success: true,\n data: {\n qr_code_url: qrUrl,\n qr_id: testData.sessionId,\n expires_at: Date.now() + 30000\n }\n };\n }\n }\n\n /**\n * Vérifier le statut d'un QR code\n */\n async checkQRStatus(qrId) {\n try {\n const response = await this.makeRequest('/auth/qr-status', {\n qr_id: qrId\n });\n\n return response.data;\n } catch (error) {\n this.handleError(error);\n throw error;\n }\n }\n\n /**\n * Afficher le QR code dans le conteneur\n */\n displayQRCode(containerId, qrUrl, type, options = {}) {\n const container = document.getElementById(containerId);\n if (!container) {\n throw new Error(`Conteneur avec l'ID \"${containerId}\" non trouvé`);\n }\n\n const theme = options.theme || this.config.theme;\n const language = options.language || this.config.language;\n\n container.innerHTML = `\n <div class=\"sunuid-qr-container sunuid-theme-${theme}\">\n <div class=\"sunuid-qr-header\">\n <h3 class=\"sunuid-qr-title\">\n ${type === 'auth' ? '🔐 Authentification' : '📋 Vérification KYC'}\n </h3>\n <p class=\"sunuid-qr-subtitle\">\n ${type === 'auth' ? \n 'Scannez ce QR code avec l\\'application SunuID pour vous connecter' :\n 'Scannez ce QR code avec l\\'application SunuID pour compléter votre profil'\n }\n </p>\n </div>\n <div class=\"sunuid-qr-code\">\n <img src=\"${qrUrl}\" alt=\"QR Code SunuID\" class=\"sunuid-qr-image\">\n <div class=\"sunuid-qr-overlay\">\n <div class=\"sunuid-qr-spinner\"></div>\n </div>\n </div>\n <div class=\"sunuid-qr-footer\">\n <p class=\"sunuid-qr-timer\">\n <i class=\"fa-solid fa-clock\"></i>\n <span id=\"sunuid-timer\">30</span> secondes\n </p>\n <button class=\"sunuid-qr-refresh\" onclick=\"sunuidInstance.refreshQR('${containerId}', '${type}', ${JSON.stringify(options)})\">\n <i class=\"fa-solid fa-sync-alt\"></i>\n Actualiser\n </button>\n </div>\n </div>\n `;\n\n this.qrCode = {\n containerId,\n type,\n options,\n qrUrl\n };\n\n this.startTimer();\n }\n\n /**\n * Actualiser le QR code\n */\n async refreshQR(containerId, type, options = {}) {\n try {\n if (type === 'auth') {\n await this.generateAuthQR(containerId, options);\n } else {\n await this.generateKYCQR(containerId, options);\n }\n } catch (error) {\n this.handleError(error);\n }\n }\n\n /**\n * Démarrer le timer de rafraîchissement automatique\n */\n startAutoRefresh(containerId, type, options) {\n if (!this.config.autoRefresh) return;\n\n this.refreshTimer = setInterval(async () => {\n try {\n await this.refreshQR(containerId, type, options);\n } catch (error) {\n console.warn('Erreur lors du rafraîchissement automatique:', error);\n }\n }, this.config.refreshInterval);\n }\n\n /**\n * Démarrer le timer de compte à rebours\n */\n startTimer() {\n let timeLeft = 30;\n const timerElement = document.getElementById('sunuid-timer');\n \n const timer = setInterval(() => {\n timeLeft--;\n if (timerElement) {\n timerElement.textContent = timeLeft;\n }\n \n if (timeLeft <= 0) {\n clearInterval(timer);\n if (this.config.onExpired) {\n this.config.onExpired();\n }\n }\n }, 1000);\n }\n\n /**\n * Effectuer une requête API\n */\n async makeRequest(endpoint, data) {\n const url = `${this.config.apiUrl}${endpoint}`;\n \n const response = await fetch(url, {\n method: 'POST',\n headers: {\n 'Content-Type': 'application/json',\n 'X-SunuID-Client-ID': this.config.clientId,\n 'X-SunuID-Secret-ID': this.config.secretId\n },\n body: JSON.stringify(data)\n });\n\n if (!response.ok) {\n throw new Error(`Erreur HTTP: ${response.status}`);\n }\n\n return await response.json();\n }\n\n /**\n * Gérer les erreurs\n */\n handleError(error) {\n console.error('SunuID SDK Error:', error);\n \n if (this.config.onError) {\n this.config.onError(error);\n }\n }\n\n /**\n * Nettoyer les ressources\n */\n destroy() {\n if (this.refreshTimer) {\n clearInterval(this.refreshTimer);\n }\n \n this.isInitialized = false;\n console.log('SunuID SDK détruit');\n }\n }\n\n // Exposer la classe globalement\n window.SunuID = SunuID;\n window.sunuidInstance = null;\n\n // Fonction d'initialisation globale\n window.initSunuID = function(config) {\n try {\n window.sunuidInstance = new SunuID(config);\n return window.sunuidInstance;\n } catch (error) {\n console.error('Erreur lors de l\\'initialisation de SunuID:', error);\n throw error;\n }\n };\n\n})(window); "],"names":["window","DEFAULT_CONFIG","apiUrl","clientId","secretId","theme","language","autoRefresh","refreshInterval","onSuccess","onError","onExpired","SunuID","config","arguments","length","undefined","_classCallCheck","_objectSpread","qrCode","refreshTimer","isInitialized","init","_createClass","key","value","Error","console","log","_generateAuthQR","_asyncToGenerator","_regenerator","m","_callee","containerId","options","response","testData","qrData","qrUrl","_args","_t","w","_context","p","n","makeRequest","type","v","success","displayQRCode","data","qr_code_url","startAutoRefresh","a","message","warn","timestamp","Date","now","sessionId","Math","random","toString","substr","JSON","stringify","concat","encodeURIComponent","qr_id","expires_at","generateAuthQR","_x","apply","_generateKYCQR","_callee2","_args2","_t2","_context2","kycType","requiredFields","generateKYCQR","_x2","_checkQRStatus","_callee3","qrId","_t3","_context3","handleError","checkQRStatus","_x3","container","document","getElementById","innerHTML","startTimer","_refreshQR","_callee4","_args4","_t4","_context4","refreshQR","_x4","_x5","_this","setInterval","_callee5","_t5","_context5","_this2","timeLeft","timerElement","timer","textContent","clearInterval","_makeRequest","_callee6","endpoint","url","_context6","fetch","method","headers","body","ok","status","json","_x6","_x7","error","destroy","sunuidInstance","initSunuID"],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"sunuid-sdk.esm.js","sources":["../src/sunuid-sdk.js"],"sourcesContent":["/**\n * SunuID SDK - Package d'intégration pour partenaires\n * \n * @version 1.0.0\n * @author SunuID Team\n * @license MIT\n */\n\n(function(window) {\n 'use strict';\n\n // Configuration par défaut\n const DEFAULT_CONFIG = {\n apiUrl: 'https://sunuid.fayma.sn/api',\n clientId: null,\n secretId: null,\n theme: 'light',\n language: 'fr',\n autoRefresh: true,\n refreshInterval: 30000, // 30 secondes\n onSuccess: null,\n onError: null,\n onExpired: null\n };\n\n /**\n * Classe principale SunuID\n */\n class SunuID {\n constructor(config = {}) {\n this.config = { ...DEFAULT_CONFIG, ...config };\n this.qrCode = null;\n this.refreshTimer = null;\n this.isInitialized = false;\n \n this.init();\n }\n\n /**\n * Initialisation du SDK\n */\n init() {\n if (!this.config.clientId || !this.config.secretId) {\n throw new Error('SunuID: clientId et secretId sont requis');\n }\n\n this.isInitialized = true;\n console.log('SunuID SDK initialisé avec succès');\n }\n\n /**\n * Générer un QR code d'authentification\n */\n async generateAuthQR(containerId, options = {}) {\n if (!this.isInitialized) {\n throw new Error('SunuID: SDK non initialisé');\n }\n\n try {\n // Essayer d'abord l'API réelle\n const response = await this.makeRequest('/auth/qr-generate', {\n type: 'auth',\n ...options\n });\n\n if (response.success) {\n this.displayQRCode(containerId, response.data.qr_code_url, 'auth', options);\n this.startAutoRefresh(containerId, 'auth', options);\n return response.data;\n } else {\n throw new Error(response.message);\n }\n } catch (error) {\n console.warn('Erreur API détectée, génération d\\'un QR code de test:', error.message);\n console.log('Type d\\'erreur:', error.name, 'Message:', error.message);\n \n // En cas d'échec de l'API (CORS, 500, ou autre), générer un QR code de test\n const testData = {\n type: 'auth',\n clientId: this.config.clientId,\n timestamp: Date.now(),\n sessionId: 'test_' + Math.random().toString(36).substr(2, 9),\n apiUrl: this.config.apiUrl,\n error: error.message,\n errorType: error.name,\n ...options\n };\n \n const qrData = JSON.stringify(testData);\n const qrUrl = `https://api.qrserver.com/v1/create-qr-code/?size=200x200&data=${encodeURIComponent(qrData)}`;\n \n this.displayQRCode(containerId, qrUrl, 'auth', options);\n this.startAutoRefresh(containerId, 'auth', options);\n \n return {\n success: true,\n data: {\n qr_code_url: qrUrl,\n qr_id: testData.sessionId,\n expires_at: Date.now() + 30000\n }\n };\n }\n }\n\n /**\n * Générer un QR code KYC\n */\n async generateKYCQR(containerId, options = {}) {\n if (!this.isInitialized) {\n throw new Error('SunuID: SDK non initialisé');\n }\n\n try {\n // Essayer d'abord l'API réelle\n const response = await this.makeRequest('/auth/qr-generate', {\n type: 'kyc',\n ...options\n });\n\n if (response.success) {\n this.displayQRCode(containerId, response.data.qr_code_url, 'kyc', options);\n this.startAutoRefresh(containerId, 'kyc', options);\n return response.data;\n } else {\n throw new Error(response.message);\n }\n } catch (error) {\n console.warn('Erreur API détectée, génération d\\'un QR code de test:', error.message);\n console.log('Type d\\'erreur:', error.name, 'Message:', error.message);\n \n // En cas d'échec de l'API (CORS, 500, ou autre), générer un QR code de test\n const testData = {\n type: 'kyc',\n clientId: this.config.clientId,\n timestamp: Date.now(),\n sessionId: 'test_' + Math.random().toString(36).substr(2, 9),\n kycType: options.kycType || 'full',\n requiredFields: options.requiredFields || ['identity', 'address', 'phone'],\n apiUrl: this.config.apiUrl,\n error: error.message,\n errorType: error.name,\n ...options\n };\n \n const qrData = JSON.stringify(testData);\n const qrUrl = `https://api.qrserver.com/v1/create-qr-code/?size=200x200&data=${encodeURIComponent(qrData)}`;\n \n this.displayQRCode(containerId, qrUrl, 'kyc', options);\n this.startAutoRefresh(containerId, 'kyc', options);\n \n return {\n success: true,\n data: {\n qr_code_url: qrUrl,\n qr_id: testData.sessionId,\n expires_at: Date.now() + 30000\n }\n };\n }\n }\n\n /**\n * Vérifier le statut d'un QR code\n */\n async checkQRStatus(qrId) {\n try {\n const response = await this.makeRequest('/auth/qr-status', {\n qr_id: qrId\n });\n\n return response.data;\n } catch (error) {\n this.handleError(error);\n throw error;\n }\n }\n\n /**\n * Afficher le QR code dans le conteneur\n */\n displayQRCode(containerId, qrUrl, type, options = {}) {\n const container = document.getElementById(containerId);\n if (!container) {\n throw new Error(`Conteneur avec l'ID \"${containerId}\" non trouvé`);\n }\n\n const theme = options.theme || this.config.theme;\n const language = options.language || this.config.language;\n\n container.innerHTML = `\n <div class=\"sunuid-qr-container sunuid-theme-${theme}\">\n <div class=\"sunuid-qr-header\">\n <h3 class=\"sunuid-qr-title\">\n ${type === 'auth' ? '🔐 Authentification' : '📋 Vérification KYC'}\n </h3>\n <p class=\"sunuid-qr-subtitle\">\n ${type === 'auth' ? \n 'Scannez ce QR code avec l\\'application SunuID pour vous connecter' :\n 'Scannez ce QR code avec l\\'application SunuID pour compléter votre profil'\n }\n </p>\n </div>\n <div class=\"sunuid-qr-code\">\n <img src=\"${qrUrl}\" alt=\"QR Code SunuID\" class=\"sunuid-qr-image\">\n <div class=\"sunuid-qr-overlay\">\n <div class=\"sunuid-qr-spinner\"></div>\n </div>\n </div>\n <div class=\"sunuid-qr-footer\">\n <p class=\"sunuid-qr-timer\">\n <i class=\"fa-solid fa-clock\"></i>\n <span id=\"sunuid-timer\">30</span> secondes\n </p>\n <button class=\"sunuid-qr-refresh\" onclick=\"sunuidInstance.refreshQR('${containerId}', '${type}', ${JSON.stringify(options)})\">\n <i class=\"fa-solid fa-sync-alt\"></i>\n Actualiser\n </button>\n </div>\n </div>\n `;\n\n this.qrCode = {\n containerId,\n type,\n options,\n qrUrl\n };\n\n this.startTimer();\n }\n\n /**\n * Actualiser le QR code\n */\n async refreshQR(containerId, type, options = {}) {\n try {\n if (type === 'auth') {\n await this.generateAuthQR(containerId, options);\n } else {\n await this.generateKYCQR(containerId, options);\n }\n } catch (error) {\n this.handleError(error);\n }\n }\n\n /**\n * Démarrer le timer de rafraîchissement automatique\n */\n startAutoRefresh(containerId, type, options) {\n if (!this.config.autoRefresh) return;\n\n this.refreshTimer = setInterval(async () => {\n try {\n await this.refreshQR(containerId, type, options);\n } catch (error) {\n console.warn('Erreur lors du rafraîchissement automatique:', error);\n }\n }, this.config.refreshInterval);\n }\n\n /**\n * Démarrer le timer de compte à rebours\n */\n startTimer() {\n let timeLeft = 30;\n const timerElement = document.getElementById('sunuid-timer');\n \n const timer = setInterval(() => {\n timeLeft--;\n if (timerElement) {\n timerElement.textContent = timeLeft;\n }\n \n if (timeLeft <= 0) {\n clearInterval(timer);\n if (this.config.onExpired) {\n this.config.onExpired();\n }\n }\n }, 1000);\n }\n\n /**\n * Effectuer une requête API\n */\n async makeRequest(endpoint, data) {\n const url = `${this.config.apiUrl}${endpoint}`;\n \n // Préparer les données avec les identifiants\n const requestData = {\n ...data,\n client_id: this.config.clientId,\n secret_id: this.config.secretId\n };\n \n try {\n const response = await fetch(url, {\n method: 'POST',\n headers: {\n 'Content-Type': 'application/json',\n 'Accept': 'application/json'\n },\n body: JSON.stringify(requestData)\n });\n\n if (!response.ok) {\n console.warn(`Erreur HTTP ${response.status}: ${response.statusText}`);\n throw new Error(`Erreur HTTP: ${response.status} - ${response.statusText}`);\n }\n\n return await response.json();\n } catch (error) {\n // Si c'est une erreur CORS, on la gère spécifiquement\n if (error.name === 'TypeError' && error.message.includes('CORS')) {\n console.warn('Erreur CORS détectée, utilisation de QR codes de test');\n throw new Error('CORS_ERROR');\n }\n // Pour toutes les autres erreurs (500, 404, etc.)\n console.warn('Erreur API détectée:', error.message);\n throw error;\n }\n }\n\n /**\n * Gérer les erreurs\n */\n handleError(error) {\n console.error('SunuID SDK Error:', error);\n \n if (this.config.onError) {\n this.config.onError(error);\n }\n }\n\n /**\n * Nettoyer les ressources\n */\n destroy() {\n if (this.refreshTimer) {\n clearInterval(this.refreshTimer);\n }\n \n this.isInitialized = false;\n console.log('SunuID SDK détruit');\n }\n }\n\n // Exposer la classe globalement\n window.SunuID = SunuID;\n window.sunuidInstance = null;\n\n // Fonction d'initialisation globale\n window.initSunuID = function(config) {\n try {\n window.sunuidInstance = new SunuID(config);\n return window.sunuidInstance;\n } catch (error) {\n console.error('Erreur lors de l\\'initialisation de SunuID:', error);\n throw error;\n }\n };\n\n})(window); "],"names":["window","DEFAULT_CONFIG","apiUrl","clientId","secretId","theme","language","autoRefresh","refreshInterval","onSuccess","onError","onExpired","SunuID","config","arguments","length","undefined","_classCallCheck","_objectSpread","qrCode","refreshTimer","isInitialized","init","_createClass","key","value","Error","console","log","_generateAuthQR","_asyncToGenerator","_regenerator","m","_callee","containerId","options","response","testData","qrData","qrUrl","_args","_t","w","_context","p","n","makeRequest","type","v","success","displayQRCode","data","qr_code_url","startAutoRefresh","a","message","warn","name","timestamp","Date","now","sessionId","Math","random","toString","substr","error","errorType","JSON","stringify","concat","encodeURIComponent","qr_id","expires_at","generateAuthQR","_x","apply","_generateKYCQR","_callee2","_args2","_t2","_context2","kycType","requiredFields","generateKYCQR","_x2","_checkQRStatus","_callee3","qrId","_t3","_context3","handleError","checkQRStatus","_x3","container","document","getElementById","innerHTML","startTimer","_refreshQR","_callee4","_args4","_t4","_context4","refreshQR","_x4","_x5","_this","setInterval","_callee5","_t5","_context5","_this2","timeLeft","timerElement","timer","textContent","clearInterval","_makeRequest","_callee6","endpoint","url","requestData","_t6","_context6","client_id","secret_id","fetch","method","headers","body","ok","status","statusText","json","includes","_x6","_x7","destroy","sunuidInstance","initSunuID"],"mappings":"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"}
|
package/dist/sunuid-sdk.js
CHANGED
|
@@ -290,15 +290,18 @@
|
|
|
290
290
|
case 5:
|
|
291
291
|
_context.p = 5;
|
|
292
292
|
_t = _context.v;
|
|
293
|
-
console.warn('Erreur API, génération d\'un QR code de test:', _t.message);
|
|
293
|
+
console.warn('Erreur API détectée, génération d\'un QR code de test:', _t.message);
|
|
294
|
+
console.log('Type d\'erreur:', _t.name, 'Message:', _t.message);
|
|
294
295
|
|
|
295
|
-
// En cas d'échec de l'API, générer un QR code de test
|
|
296
|
+
// En cas d'échec de l'API (CORS, 500, ou autre), générer un QR code de test
|
|
296
297
|
testData = _objectSpread2({
|
|
297
298
|
type: 'auth',
|
|
298
299
|
clientId: this.config.clientId,
|
|
299
300
|
timestamp: Date.now(),
|
|
300
301
|
sessionId: 'test_' + Math.random().toString(36).substr(2, 9),
|
|
301
|
-
apiUrl: this.config.apiUrl
|
|
302
|
+
apiUrl: this.config.apiUrl,
|
|
303
|
+
error: _t.message,
|
|
304
|
+
errorType: _t.name
|
|
302
305
|
}, options);
|
|
303
306
|
qrData = JSON.stringify(testData);
|
|
304
307
|
qrUrl = "https://api.qrserver.com/v1/create-qr-code/?size=200x200&data=".concat(encodeURIComponent(qrData));
|
|
@@ -369,9 +372,10 @@
|
|
|
369
372
|
case 5:
|
|
370
373
|
_context2.p = 5;
|
|
371
374
|
_t2 = _context2.v;
|
|
372
|
-
console.warn('Erreur API, génération d\'un QR code de test:', _t2.message);
|
|
375
|
+
console.warn('Erreur API détectée, génération d\'un QR code de test:', _t2.message);
|
|
376
|
+
console.log('Type d\'erreur:', _t2.name, 'Message:', _t2.message);
|
|
373
377
|
|
|
374
|
-
// En cas d'échec de l'API, générer un QR code de test
|
|
378
|
+
// En cas d'échec de l'API (CORS, 500, ou autre), générer un QR code de test
|
|
375
379
|
testData = _objectSpread2({
|
|
376
380
|
type: 'kyc',
|
|
377
381
|
clientId: this.config.clientId,
|
|
@@ -379,7 +383,9 @@
|
|
|
379
383
|
sessionId: 'test_' + Math.random().toString(36).substr(2, 9),
|
|
380
384
|
kycType: options.kycType || 'full',
|
|
381
385
|
requiredFields: options.requiredFields || ['identity', 'address', 'phone'],
|
|
382
|
-
apiUrl: this.config.apiUrl
|
|
386
|
+
apiUrl: this.config.apiUrl,
|
|
387
|
+
error: _t2.message,
|
|
388
|
+
errorType: _t2.name
|
|
383
389
|
}, options);
|
|
384
390
|
qrData = JSON.stringify(testData);
|
|
385
391
|
qrUrl = "https://api.qrserver.com/v1/create-qr-code/?size=200x200&data=".concat(encodeURIComponent(qrData));
|
|
@@ -567,35 +573,55 @@
|
|
|
567
573
|
key: "makeRequest",
|
|
568
574
|
value: (function () {
|
|
569
575
|
var _makeRequest = _asyncToGenerator(/*#__PURE__*/_regenerator().m(function _callee6(endpoint, data) {
|
|
570
|
-
var url, response;
|
|
576
|
+
var url, requestData, response, _t6;
|
|
571
577
|
return _regenerator().w(function (_context6) {
|
|
572
|
-
while (1) switch (_context6.n) {
|
|
578
|
+
while (1) switch (_context6.p = _context6.n) {
|
|
573
579
|
case 0:
|
|
574
|
-
url = "".concat(this.config.apiUrl).concat(endpoint);
|
|
575
|
-
|
|
580
|
+
url = "".concat(this.config.apiUrl).concat(endpoint); // Préparer les données avec les identifiants
|
|
581
|
+
requestData = _objectSpread2(_objectSpread2({}, data), {}, {
|
|
582
|
+
client_id: this.config.clientId,
|
|
583
|
+
secret_id: this.config.secretId
|
|
584
|
+
});
|
|
585
|
+
_context6.p = 1;
|
|
586
|
+
_context6.n = 2;
|
|
576
587
|
return fetch(url, {
|
|
577
588
|
method: 'POST',
|
|
578
589
|
headers: {
|
|
579
590
|
'Content-Type': 'application/json',
|
|
580
|
-
'
|
|
581
|
-
'X-SunuID-Secret-ID': this.config.secretId
|
|
591
|
+
'Accept': 'application/json'
|
|
582
592
|
},
|
|
583
|
-
body: JSON.stringify(
|
|
593
|
+
body: JSON.stringify(requestData)
|
|
584
594
|
});
|
|
585
|
-
case
|
|
595
|
+
case 2:
|
|
586
596
|
response = _context6.v;
|
|
587
597
|
if (response.ok) {
|
|
588
|
-
_context6.n =
|
|
598
|
+
_context6.n = 3;
|
|
589
599
|
break;
|
|
590
600
|
}
|
|
591
|
-
|
|
592
|
-
|
|
593
|
-
_context6.n = 3;
|
|
594
|
-
return response.json();
|
|
601
|
+
console.warn("Erreur HTTP ".concat(response.status, ": ").concat(response.statusText));
|
|
602
|
+
throw new Error("Erreur HTTP: ".concat(response.status, " - ").concat(response.statusText));
|
|
595
603
|
case 3:
|
|
604
|
+
_context6.n = 4;
|
|
605
|
+
return response.json();
|
|
606
|
+
case 4:
|
|
596
607
|
return _context6.a(2, _context6.v);
|
|
608
|
+
case 5:
|
|
609
|
+
_context6.p = 5;
|
|
610
|
+
_t6 = _context6.v;
|
|
611
|
+
if (!(_t6.name === 'TypeError' && _t6.message.includes('CORS'))) {
|
|
612
|
+
_context6.n = 6;
|
|
613
|
+
break;
|
|
614
|
+
}
|
|
615
|
+
console.warn('Erreur CORS détectée, utilisation de QR codes de test');
|
|
616
|
+
throw new Error('CORS_ERROR');
|
|
617
|
+
case 6:
|
|
618
|
+
// Pour toutes les autres erreurs (500, 404, etc.)
|
|
619
|
+
console.warn('Erreur API détectée:', _t6.message);
|
|
620
|
+
throw _t6;
|
|
621
|
+
case 7:
|
|
622
|
+
return _context6.a(2);
|
|
597
623
|
}
|
|
598
|
-
}, _callee6, this);
|
|
624
|
+
}, _callee6, this, [[1, 5]]);
|
|
599
625
|
}));
|
|
600
626
|
function makeRequest(_x6, _x7) {
|
|
601
627
|
return _makeRequest.apply(this, arguments);
|
package/dist/sunuid-sdk.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"sunuid-sdk.js","sources":["../src/sunuid-sdk.js"],"sourcesContent":["/**\n * SunuID SDK - Package d'intégration pour partenaires\n * \n * @version 1.0.0\n * @author SunuID Team\n * @license MIT\n */\n\n(function(window) {\n 'use strict';\n\n // Configuration par défaut\n const DEFAULT_CONFIG = {\n apiUrl: 'https://sunuid.fayma.sn/api',\n clientId: null,\n secretId: null,\n theme: 'light',\n language: 'fr',\n autoRefresh: true,\n refreshInterval: 30000, // 30 secondes\n onSuccess: null,\n onError: null,\n onExpired: null\n };\n\n /**\n * Classe principale SunuID\n */\n class SunuID {\n constructor(config = {}) {\n this.config = { ...DEFAULT_CONFIG, ...config };\n this.qrCode = null;\n this.refreshTimer = null;\n this.isInitialized = false;\n \n this.init();\n }\n\n /**\n * Initialisation du SDK\n */\n init() {\n if (!this.config.clientId || !this.config.secretId) {\n throw new Error('SunuID: clientId et secretId sont requis');\n }\n\n this.isInitialized = true;\n console.log('SunuID SDK initialisé avec succès');\n }\n\n /**\n * Générer un QR code d'authentification\n */\n async generateAuthQR(containerId, options = {}) {\n if (!this.isInitialized) {\n throw new Error('SunuID: SDK non initialisé');\n }\n\n try {\n // Essayer d'abord l'API réelle\n const response = await this.makeRequest('/auth/qr-generate', {\n type: 'auth',\n ...options\n });\n\n if (response.success) {\n this.displayQRCode(containerId, response.data.qr_code_url, 'auth', options);\n this.startAutoRefresh(containerId, 'auth', options);\n return response.data;\n } else {\n throw new Error(response.message);\n }\n } catch (error) {\n console.warn('Erreur API, génération d\\'un QR code de test:', error.message);\n \n // En cas d'échec de l'API, générer un QR code de test\n const testData = {\n type: 'auth',\n clientId: this.config.clientId,\n timestamp: Date.now(),\n sessionId: 'test_' + Math.random().toString(36).substr(2, 9),\n apiUrl: this.config.apiUrl,\n ...options\n };\n \n const qrData = JSON.stringify(testData);\n const qrUrl = `https://api.qrserver.com/v1/create-qr-code/?size=200x200&data=${encodeURIComponent(qrData)}`;\n \n this.displayQRCode(containerId, qrUrl, 'auth', options);\n this.startAutoRefresh(containerId, 'auth', options);\n \n return {\n success: true,\n data: {\n qr_code_url: qrUrl,\n qr_id: testData.sessionId,\n expires_at: Date.now() + 30000\n }\n };\n }\n }\n\n /**\n * Générer un QR code KYC\n */\n async generateKYCQR(containerId, options = {}) {\n if (!this.isInitialized) {\n throw new Error('SunuID: SDK non initialisé');\n }\n\n try {\n // Essayer d'abord l'API réelle\n const response = await this.makeRequest('/auth/qr-generate', {\n type: 'kyc',\n ...options\n });\n\n if (response.success) {\n this.displayQRCode(containerId, response.data.qr_code_url, 'kyc', options);\n this.startAutoRefresh(containerId, 'kyc', options);\n return response.data;\n } else {\n throw new Error(response.message);\n }\n } catch (error) {\n console.warn('Erreur API, génération d\\'un QR code de test:', error.message);\n \n // En cas d'échec de l'API, générer un QR code de test\n const testData = {\n type: 'kyc',\n clientId: this.config.clientId,\n timestamp: Date.now(),\n sessionId: 'test_' + Math.random().toString(36).substr(2, 9),\n kycType: options.kycType || 'full',\n requiredFields: options.requiredFields || ['identity', 'address', 'phone'],\n apiUrl: this.config.apiUrl,\n ...options\n };\n \n const qrData = JSON.stringify(testData);\n const qrUrl = `https://api.qrserver.com/v1/create-qr-code/?size=200x200&data=${encodeURIComponent(qrData)}`;\n \n this.displayQRCode(containerId, qrUrl, 'kyc', options);\n this.startAutoRefresh(containerId, 'kyc', options);\n \n return {\n success: true,\n data: {\n qr_code_url: qrUrl,\n qr_id: testData.sessionId,\n expires_at: Date.now() + 30000\n }\n };\n }\n }\n\n /**\n * Vérifier le statut d'un QR code\n */\n async checkQRStatus(qrId) {\n try {\n const response = await this.makeRequest('/auth/qr-status', {\n qr_id: qrId\n });\n\n return response.data;\n } catch (error) {\n this.handleError(error);\n throw error;\n }\n }\n\n /**\n * Afficher le QR code dans le conteneur\n */\n displayQRCode(containerId, qrUrl, type, options = {}) {\n const container = document.getElementById(containerId);\n if (!container) {\n throw new Error(`Conteneur avec l'ID \"${containerId}\" non trouvé`);\n }\n\n const theme = options.theme || this.config.theme;\n const language = options.language || this.config.language;\n\n container.innerHTML = `\n <div class=\"sunuid-qr-container sunuid-theme-${theme}\">\n <div class=\"sunuid-qr-header\">\n <h3 class=\"sunuid-qr-title\">\n ${type === 'auth' ? '🔐 Authentification' : '📋 Vérification KYC'}\n </h3>\n <p class=\"sunuid-qr-subtitle\">\n ${type === 'auth' ? \n 'Scannez ce QR code avec l\\'application SunuID pour vous connecter' :\n 'Scannez ce QR code avec l\\'application SunuID pour compléter votre profil'\n }\n </p>\n </div>\n <div class=\"sunuid-qr-code\">\n <img src=\"${qrUrl}\" alt=\"QR Code SunuID\" class=\"sunuid-qr-image\">\n <div class=\"sunuid-qr-overlay\">\n <div class=\"sunuid-qr-spinner\"></div>\n </div>\n </div>\n <div class=\"sunuid-qr-footer\">\n <p class=\"sunuid-qr-timer\">\n <i class=\"fa-solid fa-clock\"></i>\n <span id=\"sunuid-timer\">30</span> secondes\n </p>\n <button class=\"sunuid-qr-refresh\" onclick=\"sunuidInstance.refreshQR('${containerId}', '${type}', ${JSON.stringify(options)})\">\n <i class=\"fa-solid fa-sync-alt\"></i>\n Actualiser\n </button>\n </div>\n </div>\n `;\n\n this.qrCode = {\n containerId,\n type,\n options,\n qrUrl\n };\n\n this.startTimer();\n }\n\n /**\n * Actualiser le QR code\n */\n async refreshQR(containerId, type, options = {}) {\n try {\n if (type === 'auth') {\n await this.generateAuthQR(containerId, options);\n } else {\n await this.generateKYCQR(containerId, options);\n }\n } catch (error) {\n this.handleError(error);\n }\n }\n\n /**\n * Démarrer le timer de rafraîchissement automatique\n */\n startAutoRefresh(containerId, type, options) {\n if (!this.config.autoRefresh) return;\n\n this.refreshTimer = setInterval(async () => {\n try {\n await this.refreshQR(containerId, type, options);\n } catch (error) {\n console.warn('Erreur lors du rafraîchissement automatique:', error);\n }\n }, this.config.refreshInterval);\n }\n\n /**\n * Démarrer le timer de compte à rebours\n */\n startTimer() {\n let timeLeft = 30;\n const timerElement = document.getElementById('sunuid-timer');\n \n const timer = setInterval(() => {\n timeLeft--;\n if (timerElement) {\n timerElement.textContent = timeLeft;\n }\n \n if (timeLeft <= 0) {\n clearInterval(timer);\n if (this.config.onExpired) {\n this.config.onExpired();\n }\n }\n }, 1000);\n }\n\n /**\n * Effectuer une requête API\n */\n async makeRequest(endpoint, data) {\n const url = `${this.config.apiUrl}${endpoint}`;\n \n const response = await fetch(url, {\n method: 'POST',\n headers: {\n 'Content-Type': 'application/json',\n 'X-SunuID-Client-ID': this.config.clientId,\n 'X-SunuID-Secret-ID': this.config.secretId\n },\n body: JSON.stringify(data)\n });\n\n if (!response.ok) {\n throw new Error(`Erreur HTTP: ${response.status}`);\n }\n\n return await response.json();\n }\n\n /**\n * Gérer les erreurs\n */\n handleError(error) {\n console.error('SunuID SDK Error:', error);\n \n if (this.config.onError) {\n this.config.onError(error);\n }\n }\n\n /**\n * Nettoyer les ressources\n */\n destroy() {\n if (this.refreshTimer) {\n clearInterval(this.refreshTimer);\n }\n \n this.isInitialized = false;\n console.log('SunuID SDK détruit');\n }\n }\n\n // Exposer la classe globalement\n window.SunuID = SunuID;\n window.sunuidInstance = null;\n\n // Fonction d'initialisation globale\n window.initSunuID = function(config) {\n try {\n window.sunuidInstance = new SunuID(config);\n return window.sunuidInstance;\n } catch (error) {\n console.error('Erreur lors de l\\'initialisation de SunuID:', error);\n throw error;\n }\n };\n\n})(window); "],"names":["window","DEFAULT_CONFIG","apiUrl","clientId","secretId","theme","language","autoRefresh","refreshInterval","onSuccess","onError","onExpired","SunuID","config","arguments","length","undefined","_classCallCheck","_objectSpread","qrCode","refreshTimer","isInitialized","init","_createClass","key","value","Error","console","log","_generateAuthQR","_asyncToGenerator","_regenerator","m","_callee","containerId","options","response","testData","qrData","qrUrl","_args","_t","w","_context","p","n","makeRequest","type","v","success","displayQRCode","data","qr_code_url","startAutoRefresh","a","message","warn","timestamp","Date","now","sessionId","Math","random","toString","substr","JSON","stringify","concat","encodeURIComponent","qr_id","expires_at","generateAuthQR","_x","apply","_generateKYCQR","_callee2","_args2","_t2","_context2","kycType","requiredFields","generateKYCQR","_x2","_checkQRStatus","_callee3","qrId","_t3","_context3","handleError","checkQRStatus","_x3","container","document","getElementById","innerHTML","startTimer","_refreshQR","_callee4","_args4","_t4","_context4","refreshQR","_x4","_x5","_this","setInterval","_callee5","_t5","_context5","_this2","timeLeft","timerElement","timer","textContent","clearInterval","_makeRequest","_callee6","endpoint","url","_context6","fetch","method","headers","body","ok","status","json","_x6","_x7","error","destroy","sunuidInstance","initSunuID"],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"sunuid-sdk.js","sources":["../src/sunuid-sdk.js"],"sourcesContent":["/**\n * SunuID SDK - Package d'intégration pour partenaires\n * \n * @version 1.0.0\n * @author SunuID Team\n * @license MIT\n */\n\n(function(window) {\n 'use strict';\n\n // Configuration par défaut\n const DEFAULT_CONFIG = {\n apiUrl: 'https://sunuid.fayma.sn/api',\n clientId: null,\n secretId: null,\n theme: 'light',\n language: 'fr',\n autoRefresh: true,\n refreshInterval: 30000, // 30 secondes\n onSuccess: null,\n onError: null,\n onExpired: null\n };\n\n /**\n * Classe principale SunuID\n */\n class SunuID {\n constructor(config = {}) {\n this.config = { ...DEFAULT_CONFIG, ...config };\n this.qrCode = null;\n this.refreshTimer = null;\n this.isInitialized = false;\n \n this.init();\n }\n\n /**\n * Initialisation du SDK\n */\n init() {\n if (!this.config.clientId || !this.config.secretId) {\n throw new Error('SunuID: clientId et secretId sont requis');\n }\n\n this.isInitialized = true;\n console.log('SunuID SDK initialisé avec succès');\n }\n\n /**\n * Générer un QR code d'authentification\n */\n async generateAuthQR(containerId, options = {}) {\n if (!this.isInitialized) {\n throw new Error('SunuID: SDK non initialisé');\n }\n\n try {\n // Essayer d'abord l'API réelle\n const response = await this.makeRequest('/auth/qr-generate', {\n type: 'auth',\n ...options\n });\n\n if (response.success) {\n this.displayQRCode(containerId, response.data.qr_code_url, 'auth', options);\n this.startAutoRefresh(containerId, 'auth', options);\n return response.data;\n } else {\n throw new Error(response.message);\n }\n } catch (error) {\n console.warn('Erreur API détectée, génération d\\'un QR code de test:', error.message);\n console.log('Type d\\'erreur:', error.name, 'Message:', error.message);\n \n // En cas d'échec de l'API (CORS, 500, ou autre), générer un QR code de test\n const testData = {\n type: 'auth',\n clientId: this.config.clientId,\n timestamp: Date.now(),\n sessionId: 'test_' + Math.random().toString(36).substr(2, 9),\n apiUrl: this.config.apiUrl,\n error: error.message,\n errorType: error.name,\n ...options\n };\n \n const qrData = JSON.stringify(testData);\n const qrUrl = `https://api.qrserver.com/v1/create-qr-code/?size=200x200&data=${encodeURIComponent(qrData)}`;\n \n this.displayQRCode(containerId, qrUrl, 'auth', options);\n this.startAutoRefresh(containerId, 'auth', options);\n \n return {\n success: true,\n data: {\n qr_code_url: qrUrl,\n qr_id: testData.sessionId,\n expires_at: Date.now() + 30000\n }\n };\n }\n }\n\n /**\n * Générer un QR code KYC\n */\n async generateKYCQR(containerId, options = {}) {\n if (!this.isInitialized) {\n throw new Error('SunuID: SDK non initialisé');\n }\n\n try {\n // Essayer d'abord l'API réelle\n const response = await this.makeRequest('/auth/qr-generate', {\n type: 'kyc',\n ...options\n });\n\n if (response.success) {\n this.displayQRCode(containerId, response.data.qr_code_url, 'kyc', options);\n this.startAutoRefresh(containerId, 'kyc', options);\n return response.data;\n } else {\n throw new Error(response.message);\n }\n } catch (error) {\n console.warn('Erreur API détectée, génération d\\'un QR code de test:', error.message);\n console.log('Type d\\'erreur:', error.name, 'Message:', error.message);\n \n // En cas d'échec de l'API (CORS, 500, ou autre), générer un QR code de test\n const testData = {\n type: 'kyc',\n clientId: this.config.clientId,\n timestamp: Date.now(),\n sessionId: 'test_' + Math.random().toString(36).substr(2, 9),\n kycType: options.kycType || 'full',\n requiredFields: options.requiredFields || ['identity', 'address', 'phone'],\n apiUrl: this.config.apiUrl,\n error: error.message,\n errorType: error.name,\n ...options\n };\n \n const qrData = JSON.stringify(testData);\n const qrUrl = `https://api.qrserver.com/v1/create-qr-code/?size=200x200&data=${encodeURIComponent(qrData)}`;\n \n this.displayQRCode(containerId, qrUrl, 'kyc', options);\n this.startAutoRefresh(containerId, 'kyc', options);\n \n return {\n success: true,\n data: {\n qr_code_url: qrUrl,\n qr_id: testData.sessionId,\n expires_at: Date.now() + 30000\n }\n };\n }\n }\n\n /**\n * Vérifier le statut d'un QR code\n */\n async checkQRStatus(qrId) {\n try {\n const response = await this.makeRequest('/auth/qr-status', {\n qr_id: qrId\n });\n\n return response.data;\n } catch (error) {\n this.handleError(error);\n throw error;\n }\n }\n\n /**\n * Afficher le QR code dans le conteneur\n */\n displayQRCode(containerId, qrUrl, type, options = {}) {\n const container = document.getElementById(containerId);\n if (!container) {\n throw new Error(`Conteneur avec l'ID \"${containerId}\" non trouvé`);\n }\n\n const theme = options.theme || this.config.theme;\n const language = options.language || this.config.language;\n\n container.innerHTML = `\n <div class=\"sunuid-qr-container sunuid-theme-${theme}\">\n <div class=\"sunuid-qr-header\">\n <h3 class=\"sunuid-qr-title\">\n ${type === 'auth' ? '🔐 Authentification' : '📋 Vérification KYC'}\n </h3>\n <p class=\"sunuid-qr-subtitle\">\n ${type === 'auth' ? \n 'Scannez ce QR code avec l\\'application SunuID pour vous connecter' :\n 'Scannez ce QR code avec l\\'application SunuID pour compléter votre profil'\n }\n </p>\n </div>\n <div class=\"sunuid-qr-code\">\n <img src=\"${qrUrl}\" alt=\"QR Code SunuID\" class=\"sunuid-qr-image\">\n <div class=\"sunuid-qr-overlay\">\n <div class=\"sunuid-qr-spinner\"></div>\n </div>\n </div>\n <div class=\"sunuid-qr-footer\">\n <p class=\"sunuid-qr-timer\">\n <i class=\"fa-solid fa-clock\"></i>\n <span id=\"sunuid-timer\">30</span> secondes\n </p>\n <button class=\"sunuid-qr-refresh\" onclick=\"sunuidInstance.refreshQR('${containerId}', '${type}', ${JSON.stringify(options)})\">\n <i class=\"fa-solid fa-sync-alt\"></i>\n Actualiser\n </button>\n </div>\n </div>\n `;\n\n this.qrCode = {\n containerId,\n type,\n options,\n qrUrl\n };\n\n this.startTimer();\n }\n\n /**\n * Actualiser le QR code\n */\n async refreshQR(containerId, type, options = {}) {\n try {\n if (type === 'auth') {\n await this.generateAuthQR(containerId, options);\n } else {\n await this.generateKYCQR(containerId, options);\n }\n } catch (error) {\n this.handleError(error);\n }\n }\n\n /**\n * Démarrer le timer de rafraîchissement automatique\n */\n startAutoRefresh(containerId, type, options) {\n if (!this.config.autoRefresh) return;\n\n this.refreshTimer = setInterval(async () => {\n try {\n await this.refreshQR(containerId, type, options);\n } catch (error) {\n console.warn('Erreur lors du rafraîchissement automatique:', error);\n }\n }, this.config.refreshInterval);\n }\n\n /**\n * Démarrer le timer de compte à rebours\n */\n startTimer() {\n let timeLeft = 30;\n const timerElement = document.getElementById('sunuid-timer');\n \n const timer = setInterval(() => {\n timeLeft--;\n if (timerElement) {\n timerElement.textContent = timeLeft;\n }\n \n if (timeLeft <= 0) {\n clearInterval(timer);\n if (this.config.onExpired) {\n this.config.onExpired();\n }\n }\n }, 1000);\n }\n\n /**\n * Effectuer une requête API\n */\n async makeRequest(endpoint, data) {\n const url = `${this.config.apiUrl}${endpoint}`;\n \n // Préparer les données avec les identifiants\n const requestData = {\n ...data,\n client_id: this.config.clientId,\n secret_id: this.config.secretId\n };\n \n try {\n const response = await fetch(url, {\n method: 'POST',\n headers: {\n 'Content-Type': 'application/json',\n 'Accept': 'application/json'\n },\n body: JSON.stringify(requestData)\n });\n\n if (!response.ok) {\n console.warn(`Erreur HTTP ${response.status}: ${response.statusText}`);\n throw new Error(`Erreur HTTP: ${response.status} - ${response.statusText}`);\n }\n\n return await response.json();\n } catch (error) {\n // Si c'est une erreur CORS, on la gère spécifiquement\n if (error.name === 'TypeError' && error.message.includes('CORS')) {\n console.warn('Erreur CORS détectée, utilisation de QR codes de test');\n throw new Error('CORS_ERROR');\n }\n // Pour toutes les autres erreurs (500, 404, etc.)\n console.warn('Erreur API détectée:', error.message);\n throw error;\n }\n }\n\n /**\n * Gérer les erreurs\n */\n handleError(error) {\n console.error('SunuID SDK Error:', error);\n \n if (this.config.onError) {\n this.config.onError(error);\n }\n }\n\n /**\n * Nettoyer les ressources\n */\n destroy() {\n if (this.refreshTimer) {\n clearInterval(this.refreshTimer);\n }\n \n this.isInitialized = false;\n console.log('SunuID SDK détruit');\n }\n }\n\n // Exposer la classe globalement\n window.SunuID = SunuID;\n window.sunuidInstance = null;\n\n // Fonction d'initialisation globale\n window.initSunuID = function(config) {\n try {\n window.sunuidInstance = new SunuID(config);\n return window.sunuidInstance;\n } catch (error) {\n console.error('Erreur lors de l\\'initialisation de SunuID:', error);\n throw error;\n }\n };\n\n})(window); "],"names":["window","DEFAULT_CONFIG","apiUrl","clientId","secretId","theme","language","autoRefresh","refreshInterval","onSuccess","onError","onExpired","SunuID","config","arguments","length","undefined","_classCallCheck","_objectSpread","qrCode","refreshTimer","isInitialized","init","_createClass","key","value","Error","console","log","_generateAuthQR","_asyncToGenerator","_regenerator","m","_callee","containerId","options","response","testData","qrData","qrUrl","_args","_t","w","_context","p","n","makeRequest","type","v","success","displayQRCode","data","qr_code_url","startAutoRefresh","a","message","warn","name","timestamp","Date","now","sessionId","Math","random","toString","substr","error","errorType","JSON","stringify","concat","encodeURIComponent","qr_id","expires_at","generateAuthQR","_x","apply","_generateKYCQR","_callee2","_args2","_t2","_context2","kycType","requiredFields","generateKYCQR","_x2","_checkQRStatus","_callee3","qrId","_t3","_context3","handleError","checkQRStatus","_x3","container","document","getElementById","innerHTML","startTimer","_refreshQR","_callee4","_args4","_t4","_context4","refreshQR","_x4","_x5","_this","setInterval","_callee5","_t5","_context5","_this2","timeLeft","timerElement","timer","textContent","clearInterval","_makeRequest","_callee6","endpoint","url","requestData","_t6","_context6","client_id","secret_id","fetch","method","headers","body","ok","status","statusText","json","includes","_x6","_x7","destroy","sunuidInstance","initSunuID"],"mappings":"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"}
|
package/dist/sunuid-sdk.min.js
CHANGED
|
@@ -1,11 +1,11 @@
|
|
|
1
|
-
!function(){"use strict";function e(e,t,n,
|
|
1
|
+
!function(){"use strict";function e(e,t,r,n,i,o,a){try{var s=e[o](a),c=s.value}catch(e){return void r(e)}s.done?t(c):Promise.resolve(c).then(n,i)}function t(t){return function(){var r=this,n=arguments;return new Promise(function(i,o){var a=t.apply(r,n);function s(t){e(a,i,o,s,c,"next",t)}function c(t){e(a,i,o,s,c,"throw",t)}s(void 0)})}}function r(e,t){for(var r=0;r<t.length;r++){var n=t[r];n.enumerable=n.enumerable||!1,n.configurable=!0,"value"in n&&(n.writable=!0),Object.defineProperty(e,c(n.key),n)}}function n(e,t,r){return(t=c(t))in e?Object.defineProperty(e,t,{value:r,enumerable:!0,configurable:!0,writable:!0}):e[t]=r,e}function i(e,t){var r=Object.keys(e);if(Object.getOwnPropertySymbols){var n=Object.getOwnPropertySymbols(e);t&&(n=n.filter(function(t){return Object.getOwnPropertyDescriptor(e,t).enumerable})),r.push.apply(r,n)}return r}function o(e){for(var t=1;t<arguments.length;t++){var r=null!=arguments[t]?arguments[t]:{};t%2?i(Object(r),!0).forEach(function(t){n(e,t,r[t])}):Object.getOwnPropertyDescriptors?Object.defineProperties(e,Object.getOwnPropertyDescriptors(r)):i(Object(r)).forEach(function(t){Object.defineProperty(e,t,Object.getOwnPropertyDescriptor(r,t))})}return e}function a(){
|
|
2
2
|
/*! regenerator-runtime -- Copyright (c) 2014-present, Facebook, Inc. -- license (MIT): https://github.com/babel/babel/blob/main/packages/babel-helpers/LICENSE */
|
|
3
|
-
var e,t,
|
|
3
|
+
var e,t,r="function"==typeof Symbol?Symbol:{},n=r.iterator||"@@iterator",i=r.toStringTag||"@@toStringTag";function o(r,n,i,o){var a=n&&n.prototype instanceof u?n:u,l=Object.create(a.prototype);return s(l,"_invoke",function(r,n,i){var o,a,s,u=0,l=i||[],f=!1,d={p:0,n:0,v:e,a:h,f:h.bind(e,4),d:function(t,r){return o=t,a=0,s=e,d.n=r,c}};function h(r,n){for(a=r,s=n,t=0;!f&&u&&!i&&t<l.length;t++){var i,o=l[t],h=d.p,p=o[2];r>3?(i=p===n)&&(s=o[(a=o[4])?5:(a=3,3)],o[4]=o[5]=e):o[0]<=h&&((i=r<2&&h<o[1])?(a=0,d.v=n,d.n=o[1]):h<p&&(i=r<3||o[0]>n||n>p)&&(o[4]=r,o[5]=n,d.n=p,a=0))}if(i||r>1)return c;throw f=!0,n}return function(i,l,p){if(u>1)throw TypeError("Generator is already running");for(f&&1===l&&h(l,p),a=l,s=p;(t=a<2?e:s)||!f;){o||(a?a<3?(a>1&&(d.n=-1),h(a,s)):d.n=s:d.v=s);try{if(u=2,o){if(a||(i="next"),t=o[i]){if(!(t=t.call(o,s)))throw TypeError("iterator result is not an object");if(!t.done)return t;s=t.value,a<2&&(a=0)}else 1===a&&(t=o.return)&&t.call(o),a<2&&(s=TypeError("The iterator does not provide a '"+i+"' method"),a=1);o=e}else if((t=(f=d.n<0)?s:r.call(n,d))!==c)break}catch(t){o=e,a=1,s=t}finally{u=1}}return{value:t,done:f}}}(r,i,o),!0),l}var c={};function u(){}function l(){}function f(){}t=Object.getPrototypeOf;var d=[][n]?t(t([][n]())):(s(t={},n,function(){return this}),t),h=f.prototype=u.prototype=Object.create(d);function p(e){return Object.setPrototypeOf?Object.setPrototypeOf(e,f):(e.__proto__=f,s(e,i,"GeneratorFunction")),e.prototype=Object.create(h),e}return l.prototype=f,s(h,"constructor",f),s(f,"constructor",l),l.displayName="GeneratorFunction",s(f,i,"GeneratorFunction"),s(h),s(h,i,"Generator"),s(h,n,function(){return this}),s(h,"toString",function(){return"[object Generator]"}),(a=function(){return{w:o,m:p}})()}function s(e,t,r,n){var i=Object.defineProperty;try{i({},"",{})}catch(e){i=0}s=function(e,t,r,n){function o(t,r){s(e,t,function(e){return this._invoke(t,r,e)})}t?i?i(e,t,{value:r,enumerable:!n,configurable:!n,writable:!n}):e[t]=r:(o("next",0),o("throw",1),o("return",2))},s(e,t,r,n)}function c(e){var t=function(e,t){if("object"!=typeof e||!e)return e;var r=e[Symbol.toPrimitive];if(void 0!==r){var n=r.call(e,t||"default");if("object"!=typeof n)return n;throw new TypeError("@@toPrimitive must return a primitive value.")}return("string"===t?String:Number)(e)}(e,"string");return"symbol"==typeof t?t:t+""}
|
|
4
4
|
/**
|
|
5
5
|
* SunuID SDK - Package d'intégration pour partenaires
|
|
6
6
|
*
|
|
7
7
|
* @version 1.0.0
|
|
8
8
|
* @author SunuID Team
|
|
9
9
|
* @license MIT
|
|
10
|
-
*/!function(e){var
|
|
10
|
+
*/!function(e){var n={apiUrl:"https://sunuid.fayma.sn/api",clientId:null,secretId:null,theme:"light",language:"fr",autoRefresh:!0,refreshInterval:3e4,onSuccess:null,onError:null,onExpired:null},i=function(){return e=function e(){var t=arguments.length>0&&void 0!==arguments[0]?arguments[0]:{};!function(e,t){if(!(e instanceof t))throw new TypeError("Cannot call a class as a function")}(this,e),this.config=o(o({},n),t),this.qrCode=null,this.refreshTimer=null,this.isInitialized=!1,this.init()},i=[{key:"init",value:function(){if(!this.config.clientId||!this.config.secretId)throw new Error("SunuID: clientId et secretId sont requis");this.isInitialized=!0,console.log("SunuID SDK initialisé avec succès")}},{key:"generateAuthQR",value:(d=t(a().m(function e(t){var r,n,i,s,c,u,l=arguments;return a().w(function(e){for(;;)switch(e.p=e.n){case 0:if(r=l.length>1&&void 0!==l[1]?l[1]:{},this.isInitialized){e.n=1;break}throw new Error("SunuID: SDK non initialisé");case 1:return e.p=1,e.n=2,this.makeRequest("/auth/qr-generate",o({type:"auth"},r));case 2:if(!(n=e.v).success){e.n=3;break}return this.displayQRCode(t,n.data.qr_code_url,"auth",r),this.startAutoRefresh(t,"auth",r),e.a(2,n.data);case 3:throw new Error(n.message);case 4:e.n=6;break;case 5:return e.p=5,u=e.v,console.warn("Erreur API détectée, génération d'un QR code de test:",u.message),console.log("Type d'erreur:",u.name,"Message:",u.message),i=o({type:"auth",clientId:this.config.clientId,timestamp:Date.now(),sessionId:"test_"+Math.random().toString(36).substr(2,9),apiUrl:this.config.apiUrl,error:u.message,errorType:u.name},r),s=JSON.stringify(i),c="https://api.qrserver.com/v1/create-qr-code/?size=200x200&data=".concat(encodeURIComponent(s)),this.displayQRCode(t,c,"auth",r),this.startAutoRefresh(t,"auth",r),e.a(2,{success:!0,data:{qr_code_url:c,qr_id:i.sessionId,expires_at:Date.now()+3e4}});case 6:return e.a(2)}},e,this,[[1,5]])})),function(e){return d.apply(this,arguments)})},{key:"generateKYCQR",value:(f=t(a().m(function e(t){var r,n,i,s,c,u,l=arguments;return a().w(function(e){for(;;)switch(e.p=e.n){case 0:if(r=l.length>1&&void 0!==l[1]?l[1]:{},this.isInitialized){e.n=1;break}throw new Error("SunuID: SDK non initialisé");case 1:return e.p=1,e.n=2,this.makeRequest("/auth/qr-generate",o({type:"kyc"},r));case 2:if(!(n=e.v).success){e.n=3;break}return this.displayQRCode(t,n.data.qr_code_url,"kyc",r),this.startAutoRefresh(t,"kyc",r),e.a(2,n.data);case 3:throw new Error(n.message);case 4:e.n=6;break;case 5:return e.p=5,u=e.v,console.warn("Erreur API détectée, génération d'un QR code de test:",u.message),console.log("Type d'erreur:",u.name,"Message:",u.message),i=o({type:"kyc",clientId:this.config.clientId,timestamp:Date.now(),sessionId:"test_"+Math.random().toString(36).substr(2,9),kycType:r.kycType||"full",requiredFields:r.requiredFields||["identity","address","phone"],apiUrl:this.config.apiUrl,error:u.message,errorType:u.name},r),s=JSON.stringify(i),c="https://api.qrserver.com/v1/create-qr-code/?size=200x200&data=".concat(encodeURIComponent(s)),this.displayQRCode(t,c,"kyc",r),this.startAutoRefresh(t,"kyc",r),e.a(2,{success:!0,data:{qr_code_url:c,qr_id:i.sessionId,expires_at:Date.now()+3e4}});case 6:return e.a(2)}},e,this,[[1,5]])})),function(e){return f.apply(this,arguments)})},{key:"checkQRStatus",value:(l=t(a().m(function e(t){var r,n;return a().w(function(e){for(;;)switch(e.p=e.n){case 0:return e.p=0,e.n=1,this.makeRequest("/auth/qr-status",{qr_id:t});case 1:return r=e.v,e.a(2,r.data);case 2:throw e.p=2,n=e.v,this.handleError(n),n;case 3:return e.a(2)}},e,this,[[0,2]])})),function(e){return l.apply(this,arguments)})},{key:"displayQRCode",value:function(e,t,r){var n=arguments.length>3&&void 0!==arguments[3]?arguments[3]:{},i=document.getElementById(e);if(!i)throw new Error("Conteneur avec l'ID \"".concat(e,'" non trouvé'));var o=n.theme||this.config.theme;n.language||this.config.language,i.innerHTML='\n <div class="sunuid-qr-container sunuid-theme-'.concat(o,'">\n <div class="sunuid-qr-header">\n <h3 class="sunuid-qr-title">\n ').concat("auth"===r?"🔐 Authentification":"📋 Vérification KYC",'\n </h3>\n <p class="sunuid-qr-subtitle">\n ').concat("auth"===r?"Scannez ce QR code avec l'application SunuID pour vous connecter":"Scannez ce QR code avec l'application SunuID pour compléter votre profil",'\n </p>\n </div>\n <div class="sunuid-qr-code">\n <img src="').concat(t,'" alt="QR Code SunuID" class="sunuid-qr-image">\n <div class="sunuid-qr-overlay">\n <div class="sunuid-qr-spinner"></div>\n </div>\n </div>\n <div class="sunuid-qr-footer">\n <p class="sunuid-qr-timer">\n <i class="fa-solid fa-clock"></i>\n <span id="sunuid-timer">30</span> secondes\n </p>\n <button class="sunuid-qr-refresh" onclick="sunuidInstance.refreshQR(\'').concat(e,"', '").concat(r,"', ").concat(JSON.stringify(n),')">\n <i class="fa-solid fa-sync-alt"></i>\n Actualiser\n </button>\n </div>\n </div>\n '),this.qrCode={containerId:e,type:r,options:n,qrUrl:t},this.startTimer()}},{key:"refreshQR",value:(u=t(a().m(function e(t,r){var n,i,o=arguments;return a().w(function(e){for(;;)switch(e.p=e.n){case 0:if(n=o.length>2&&void 0!==o[2]?o[2]:{},e.p=1,"auth"!==r){e.n=3;break}return e.n=2,this.generateAuthQR(t,n);case 2:e.n=4;break;case 3:return e.n=4,this.generateKYCQR(t,n);case 4:e.n=6;break;case 5:e.p=5,i=e.v,this.handleError(i);case 6:return e.a(2)}},e,this,[[1,5]])})),function(e,t){return u.apply(this,arguments)})},{key:"startAutoRefresh",value:function(e,r,n){var i=this;this.config.autoRefresh&&(this.refreshTimer=setInterval(t(a().m(function t(){var o;return a().w(function(t){for(;;)switch(t.p=t.n){case 0:return t.p=0,t.n=1,i.refreshQR(e,r,n);case 1:t.n=3;break;case 2:t.p=2,o=t.v,console.warn("Erreur lors du rafraîchissement automatique:",o);case 3:return t.a(2)}},t,null,[[0,2]])})),this.config.refreshInterval))}},{key:"startTimer",value:function(){var e=this,t=30,r=document.getElementById("sunuid-timer"),n=setInterval(function(){t--,r&&(r.textContent=t),t<=0&&(clearInterval(n),e.config.onExpired&&e.config.onExpired())},1e3)}},{key:"makeRequest",value:(c=t(a().m(function e(t,r){var n,i,s,c;return a().w(function(e){for(;;)switch(e.p=e.n){case 0:return n="".concat(this.config.apiUrl).concat(t),i=o(o({},r),{},{client_id:this.config.clientId,secret_id:this.config.secretId}),e.p=1,e.n=2,fetch(n,{method:"POST",headers:{"Content-Type":"application/json",Accept:"application/json"},body:JSON.stringify(i)});case 2:if((s=e.v).ok){e.n=3;break}throw console.warn("Erreur HTTP ".concat(s.status,": ").concat(s.statusText)),new Error("Erreur HTTP: ".concat(s.status," - ").concat(s.statusText));case 3:return e.n=4,s.json();case 4:return e.a(2,e.v);case 5:if(e.p=5,"TypeError"!==(c=e.v).name||!c.message.includes("CORS")){e.n=6;break}throw console.warn("Erreur CORS détectée, utilisation de QR codes de test"),new Error("CORS_ERROR");case 6:throw console.warn("Erreur API détectée:",c.message),c;case 7:return e.a(2)}},e,this,[[1,5]])})),function(e,t){return c.apply(this,arguments)})},{key:"handleError",value:function(e){console.error("SunuID SDK Error:",e),this.config.onError&&this.config.onError(e)}},{key:"destroy",value:function(){this.refreshTimer&&clearInterval(this.refreshTimer),this.isInitialized=!1,console.log("SunuID SDK détruit")}}],i&&r(e.prototype,i),s&&r(e,s),Object.defineProperty(e,"prototype",{writable:!1}),e;var e,i,s,c,u,l,f,d}();e.SunuID=i,e.sunuidInstance=null,e.initSunuID=function(t){try{return e.sunuidInstance=new i(t),e.sunuidInstance}catch(e){throw console.error("Erreur lors de l'initialisation de SunuID:",e),e}}}(window)}();
|
|
11
11
|
//# sourceMappingURL=sunuid-sdk.min.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"sunuid-sdk.min.js","sources":["../src/sunuid-sdk.js"],"sourcesContent":["/**\n * SunuID SDK - Package d'intégration pour partenaires\n * \n * @version 1.0.0\n * @author SunuID Team\n * @license MIT\n */\n\n(function(window) {\n 'use strict';\n\n // Configuration par défaut\n const DEFAULT_CONFIG = {\n apiUrl: 'https://sunuid.fayma.sn/api',\n clientId: null,\n secretId: null,\n theme: 'light',\n language: 'fr',\n autoRefresh: true,\n refreshInterval: 30000, // 30 secondes\n onSuccess: null,\n onError: null,\n onExpired: null\n };\n\n /**\n * Classe principale SunuID\n */\n class SunuID {\n constructor(config = {}) {\n this.config = { ...DEFAULT_CONFIG, ...config };\n this.qrCode = null;\n this.refreshTimer = null;\n this.isInitialized = false;\n \n this.init();\n }\n\n /**\n * Initialisation du SDK\n */\n init() {\n if (!this.config.clientId || !this.config.secretId) {\n throw new Error('SunuID: clientId et secretId sont requis');\n }\n\n this.isInitialized = true;\n console.log('SunuID SDK initialisé avec succès');\n }\n\n /**\n * Générer un QR code d'authentification\n */\n async generateAuthQR(containerId, options = {}) {\n if (!this.isInitialized) {\n throw new Error('SunuID: SDK non initialisé');\n }\n\n try {\n // Essayer d'abord l'API réelle\n const response = await this.makeRequest('/auth/qr-generate', {\n type: 'auth',\n ...options\n });\n\n if (response.success) {\n this.displayQRCode(containerId, response.data.qr_code_url, 'auth', options);\n this.startAutoRefresh(containerId, 'auth', options);\n return response.data;\n } else {\n throw new Error(response.message);\n }\n } catch (error) {\n console.warn('Erreur API, génération d\\'un QR code de test:', error.message);\n \n // En cas d'échec de l'API, générer un QR code de test\n const testData = {\n type: 'auth',\n clientId: this.config.clientId,\n timestamp: Date.now(),\n sessionId: 'test_' + Math.random().toString(36).substr(2, 9),\n apiUrl: this.config.apiUrl,\n ...options\n };\n \n const qrData = JSON.stringify(testData);\n const qrUrl = `https://api.qrserver.com/v1/create-qr-code/?size=200x200&data=${encodeURIComponent(qrData)}`;\n \n this.displayQRCode(containerId, qrUrl, 'auth', options);\n this.startAutoRefresh(containerId, 'auth', options);\n \n return {\n success: true,\n data: {\n qr_code_url: qrUrl,\n qr_id: testData.sessionId,\n expires_at: Date.now() + 30000\n }\n };\n }\n }\n\n /**\n * Générer un QR code KYC\n */\n async generateKYCQR(containerId, options = {}) {\n if (!this.isInitialized) {\n throw new Error('SunuID: SDK non initialisé');\n }\n\n try {\n // Essayer d'abord l'API réelle\n const response = await this.makeRequest('/auth/qr-generate', {\n type: 'kyc',\n ...options\n });\n\n if (response.success) {\n this.displayQRCode(containerId, response.data.qr_code_url, 'kyc', options);\n this.startAutoRefresh(containerId, 'kyc', options);\n return response.data;\n } else {\n throw new Error(response.message);\n }\n } catch (error) {\n console.warn('Erreur API, génération d\\'un QR code de test:', error.message);\n \n // En cas d'échec de l'API, générer un QR code de test\n const testData = {\n type: 'kyc',\n clientId: this.config.clientId,\n timestamp: Date.now(),\n sessionId: 'test_' + Math.random().toString(36).substr(2, 9),\n kycType: options.kycType || 'full',\n requiredFields: options.requiredFields || ['identity', 'address', 'phone'],\n apiUrl: this.config.apiUrl,\n ...options\n };\n \n const qrData = JSON.stringify(testData);\n const qrUrl = `https://api.qrserver.com/v1/create-qr-code/?size=200x200&data=${encodeURIComponent(qrData)}`;\n \n this.displayQRCode(containerId, qrUrl, 'kyc', options);\n this.startAutoRefresh(containerId, 'kyc', options);\n \n return {\n success: true,\n data: {\n qr_code_url: qrUrl,\n qr_id: testData.sessionId,\n expires_at: Date.now() + 30000\n }\n };\n }\n }\n\n /**\n * Vérifier le statut d'un QR code\n */\n async checkQRStatus(qrId) {\n try {\n const response = await this.makeRequest('/auth/qr-status', {\n qr_id: qrId\n });\n\n return response.data;\n } catch (error) {\n this.handleError(error);\n throw error;\n }\n }\n\n /**\n * Afficher le QR code dans le conteneur\n */\n displayQRCode(containerId, qrUrl, type, options = {}) {\n const container = document.getElementById(containerId);\n if (!container) {\n throw new Error(`Conteneur avec l'ID \"${containerId}\" non trouvé`);\n }\n\n const theme = options.theme || this.config.theme;\n const language = options.language || this.config.language;\n\n container.innerHTML = `\n <div class=\"sunuid-qr-container sunuid-theme-${theme}\">\n <div class=\"sunuid-qr-header\">\n <h3 class=\"sunuid-qr-title\">\n ${type === 'auth' ? '🔐 Authentification' : '📋 Vérification KYC'}\n </h3>\n <p class=\"sunuid-qr-subtitle\">\n ${type === 'auth' ? \n 'Scannez ce QR code avec l\\'application SunuID pour vous connecter' :\n 'Scannez ce QR code avec l\\'application SunuID pour compléter votre profil'\n }\n </p>\n </div>\n <div class=\"sunuid-qr-code\">\n <img src=\"${qrUrl}\" alt=\"QR Code SunuID\" class=\"sunuid-qr-image\">\n <div class=\"sunuid-qr-overlay\">\n <div class=\"sunuid-qr-spinner\"></div>\n </div>\n </div>\n <div class=\"sunuid-qr-footer\">\n <p class=\"sunuid-qr-timer\">\n <i class=\"fa-solid fa-clock\"></i>\n <span id=\"sunuid-timer\">30</span> secondes\n </p>\n <button class=\"sunuid-qr-refresh\" onclick=\"sunuidInstance.refreshQR('${containerId}', '${type}', ${JSON.stringify(options)})\">\n <i class=\"fa-solid fa-sync-alt\"></i>\n Actualiser\n </button>\n </div>\n </div>\n `;\n\n this.qrCode = {\n containerId,\n type,\n options,\n qrUrl\n };\n\n this.startTimer();\n }\n\n /**\n * Actualiser le QR code\n */\n async refreshQR(containerId, type, options = {}) {\n try {\n if (type === 'auth') {\n await this.generateAuthQR(containerId, options);\n } else {\n await this.generateKYCQR(containerId, options);\n }\n } catch (error) {\n this.handleError(error);\n }\n }\n\n /**\n * Démarrer le timer de rafraîchissement automatique\n */\n startAutoRefresh(containerId, type, options) {\n if (!this.config.autoRefresh) return;\n\n this.refreshTimer = setInterval(async () => {\n try {\n await this.refreshQR(containerId, type, options);\n } catch (error) {\n console.warn('Erreur lors du rafraîchissement automatique:', error);\n }\n }, this.config.refreshInterval);\n }\n\n /**\n * Démarrer le timer de compte à rebours\n */\n startTimer() {\n let timeLeft = 30;\n const timerElement = document.getElementById('sunuid-timer');\n \n const timer = setInterval(() => {\n timeLeft--;\n if (timerElement) {\n timerElement.textContent = timeLeft;\n }\n \n if (timeLeft <= 0) {\n clearInterval(timer);\n if (this.config.onExpired) {\n this.config.onExpired();\n }\n }\n }, 1000);\n }\n\n /**\n * Effectuer une requête API\n */\n async makeRequest(endpoint, data) {\n const url = `${this.config.apiUrl}${endpoint}`;\n \n const response = await fetch(url, {\n method: 'POST',\n headers: {\n 'Content-Type': 'application/json',\n 'X-SunuID-Client-ID': this.config.clientId,\n 'X-SunuID-Secret-ID': this.config.secretId\n },\n body: JSON.stringify(data)\n });\n\n if (!response.ok) {\n throw new Error(`Erreur HTTP: ${response.status}`);\n }\n\n return await response.json();\n }\n\n /**\n * Gérer les erreurs\n */\n handleError(error) {\n console.error('SunuID SDK Error:', error);\n \n if (this.config.onError) {\n this.config.onError(error);\n }\n }\n\n /**\n * Nettoyer les ressources\n */\n destroy() {\n if (this.refreshTimer) {\n clearInterval(this.refreshTimer);\n }\n \n this.isInitialized = false;\n console.log('SunuID SDK détruit');\n }\n }\n\n // Exposer la classe globalement\n window.SunuID = SunuID;\n window.sunuidInstance = null;\n\n // Fonction d'initialisation globale\n window.initSunuID = function(config) {\n try {\n window.sunuidInstance = new SunuID(config);\n return window.sunuidInstance;\n } catch (error) {\n console.error('Erreur lors de l\\'initialisation de SunuID:', error);\n throw error;\n }\n };\n\n})(window); "],"names":["window","DEFAULT_CONFIG","apiUrl","clientId","secretId","theme","language","autoRefresh","refreshInterval","onSuccess","onError","onExpired","SunuID","config","arguments","length","undefined","_classCallCheck","this","_objectSpread","qrCode","refreshTimer","isInitialized","init","key","value","Error","console","log","_generateAuthQR","_asyncToGenerator","_regenerator","m","_callee","containerId","options","response","testData","qrData","qrUrl","_t","_args","w","_context","p","n","makeRequest","type","v","success","displayQRCode","data","qr_code_url","startAutoRefresh","a","message","warn","timestamp","Date","now","sessionId","Math","random","toString","substr","JSON","stringify","concat","encodeURIComponent","qr_id","expires_at","_x","apply","_generateKYCQR","_callee2","_t2","_args2","_context2","kycType","requiredFields","_x2","_checkQRStatus","_callee3","qrId","_t3","_context3","handleError","_x3","container","document","getElementById","innerHTML","startTimer","_refreshQR","_callee4","_t4","_args4","_context4","generateAuthQR","generateKYCQR","_x4","_x5","_this","setInterval","_callee5","_t5","_context5","refreshQR","_this2","timeLeft","timerElement","timer","textContent","clearInterval","_makeRequest","_callee6","endpoint","url","_context6","fetch","method","headers","body","ok","status","json","_x6","_x7","error","sunuidInstance","initSunuID"],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"sunuid-sdk.min.js","sources":["../src/sunuid-sdk.js"],"sourcesContent":["/**\n * SunuID SDK - Package d'intégration pour partenaires\n * \n * @version 1.0.0\n * @author SunuID Team\n * @license MIT\n */\n\n(function(window) {\n 'use strict';\n\n // Configuration par défaut\n const DEFAULT_CONFIG = {\n apiUrl: 'https://sunuid.fayma.sn/api',\n clientId: null,\n secretId: null,\n theme: 'light',\n language: 'fr',\n autoRefresh: true,\n refreshInterval: 30000, // 30 secondes\n onSuccess: null,\n onError: null,\n onExpired: null\n };\n\n /**\n * Classe principale SunuID\n */\n class SunuID {\n constructor(config = {}) {\n this.config = { ...DEFAULT_CONFIG, ...config };\n this.qrCode = null;\n this.refreshTimer = null;\n this.isInitialized = false;\n \n this.init();\n }\n\n /**\n * Initialisation du SDK\n */\n init() {\n if (!this.config.clientId || !this.config.secretId) {\n throw new Error('SunuID: clientId et secretId sont requis');\n }\n\n this.isInitialized = true;\n console.log('SunuID SDK initialisé avec succès');\n }\n\n /**\n * Générer un QR code d'authentification\n */\n async generateAuthQR(containerId, options = {}) {\n if (!this.isInitialized) {\n throw new Error('SunuID: SDK non initialisé');\n }\n\n try {\n // Essayer d'abord l'API réelle\n const response = await this.makeRequest('/auth/qr-generate', {\n type: 'auth',\n ...options\n });\n\n if (response.success) {\n this.displayQRCode(containerId, response.data.qr_code_url, 'auth', options);\n this.startAutoRefresh(containerId, 'auth', options);\n return response.data;\n } else {\n throw new Error(response.message);\n }\n } catch (error) {\n console.warn('Erreur API détectée, génération d\\'un QR code de test:', error.message);\n console.log('Type d\\'erreur:', error.name, 'Message:', error.message);\n \n // En cas d'échec de l'API (CORS, 500, ou autre), générer un QR code de test\n const testData = {\n type: 'auth',\n clientId: this.config.clientId,\n timestamp: Date.now(),\n sessionId: 'test_' + Math.random().toString(36).substr(2, 9),\n apiUrl: this.config.apiUrl,\n error: error.message,\n errorType: error.name,\n ...options\n };\n \n const qrData = JSON.stringify(testData);\n const qrUrl = `https://api.qrserver.com/v1/create-qr-code/?size=200x200&data=${encodeURIComponent(qrData)}`;\n \n this.displayQRCode(containerId, qrUrl, 'auth', options);\n this.startAutoRefresh(containerId, 'auth', options);\n \n return {\n success: true,\n data: {\n qr_code_url: qrUrl,\n qr_id: testData.sessionId,\n expires_at: Date.now() + 30000\n }\n };\n }\n }\n\n /**\n * Générer un QR code KYC\n */\n async generateKYCQR(containerId, options = {}) {\n if (!this.isInitialized) {\n throw new Error('SunuID: SDK non initialisé');\n }\n\n try {\n // Essayer d'abord l'API réelle\n const response = await this.makeRequest('/auth/qr-generate', {\n type: 'kyc',\n ...options\n });\n\n if (response.success) {\n this.displayQRCode(containerId, response.data.qr_code_url, 'kyc', options);\n this.startAutoRefresh(containerId, 'kyc', options);\n return response.data;\n } else {\n throw new Error(response.message);\n }\n } catch (error) {\n console.warn('Erreur API détectée, génération d\\'un QR code de test:', error.message);\n console.log('Type d\\'erreur:', error.name, 'Message:', error.message);\n \n // En cas d'échec de l'API (CORS, 500, ou autre), générer un QR code de test\n const testData = {\n type: 'kyc',\n clientId: this.config.clientId,\n timestamp: Date.now(),\n sessionId: 'test_' + Math.random().toString(36).substr(2, 9),\n kycType: options.kycType || 'full',\n requiredFields: options.requiredFields || ['identity', 'address', 'phone'],\n apiUrl: this.config.apiUrl,\n error: error.message,\n errorType: error.name,\n ...options\n };\n \n const qrData = JSON.stringify(testData);\n const qrUrl = `https://api.qrserver.com/v1/create-qr-code/?size=200x200&data=${encodeURIComponent(qrData)}`;\n \n this.displayQRCode(containerId, qrUrl, 'kyc', options);\n this.startAutoRefresh(containerId, 'kyc', options);\n \n return {\n success: true,\n data: {\n qr_code_url: qrUrl,\n qr_id: testData.sessionId,\n expires_at: Date.now() + 30000\n }\n };\n }\n }\n\n /**\n * Vérifier le statut d'un QR code\n */\n async checkQRStatus(qrId) {\n try {\n const response = await this.makeRequest('/auth/qr-status', {\n qr_id: qrId\n });\n\n return response.data;\n } catch (error) {\n this.handleError(error);\n throw error;\n }\n }\n\n /**\n * Afficher le QR code dans le conteneur\n */\n displayQRCode(containerId, qrUrl, type, options = {}) {\n const container = document.getElementById(containerId);\n if (!container) {\n throw new Error(`Conteneur avec l'ID \"${containerId}\" non trouvé`);\n }\n\n const theme = options.theme || this.config.theme;\n const language = options.language || this.config.language;\n\n container.innerHTML = `\n <div class=\"sunuid-qr-container sunuid-theme-${theme}\">\n <div class=\"sunuid-qr-header\">\n <h3 class=\"sunuid-qr-title\">\n ${type === 'auth' ? '🔐 Authentification' : '📋 Vérification KYC'}\n </h3>\n <p class=\"sunuid-qr-subtitle\">\n ${type === 'auth' ? \n 'Scannez ce QR code avec l\\'application SunuID pour vous connecter' :\n 'Scannez ce QR code avec l\\'application SunuID pour compléter votre profil'\n }\n </p>\n </div>\n <div class=\"sunuid-qr-code\">\n <img src=\"${qrUrl}\" alt=\"QR Code SunuID\" class=\"sunuid-qr-image\">\n <div class=\"sunuid-qr-overlay\">\n <div class=\"sunuid-qr-spinner\"></div>\n </div>\n </div>\n <div class=\"sunuid-qr-footer\">\n <p class=\"sunuid-qr-timer\">\n <i class=\"fa-solid fa-clock\"></i>\n <span id=\"sunuid-timer\">30</span> secondes\n </p>\n <button class=\"sunuid-qr-refresh\" onclick=\"sunuidInstance.refreshQR('${containerId}', '${type}', ${JSON.stringify(options)})\">\n <i class=\"fa-solid fa-sync-alt\"></i>\n Actualiser\n </button>\n </div>\n </div>\n `;\n\n this.qrCode = {\n containerId,\n type,\n options,\n qrUrl\n };\n\n this.startTimer();\n }\n\n /**\n * Actualiser le QR code\n */\n async refreshQR(containerId, type, options = {}) {\n try {\n if (type === 'auth') {\n await this.generateAuthQR(containerId, options);\n } else {\n await this.generateKYCQR(containerId, options);\n }\n } catch (error) {\n this.handleError(error);\n }\n }\n\n /**\n * Démarrer le timer de rafraîchissement automatique\n */\n startAutoRefresh(containerId, type, options) {\n if (!this.config.autoRefresh) return;\n\n this.refreshTimer = setInterval(async () => {\n try {\n await this.refreshQR(containerId, type, options);\n } catch (error) {\n console.warn('Erreur lors du rafraîchissement automatique:', error);\n }\n }, this.config.refreshInterval);\n }\n\n /**\n * Démarrer le timer de compte à rebours\n */\n startTimer() {\n let timeLeft = 30;\n const timerElement = document.getElementById('sunuid-timer');\n \n const timer = setInterval(() => {\n timeLeft--;\n if (timerElement) {\n timerElement.textContent = timeLeft;\n }\n \n if (timeLeft <= 0) {\n clearInterval(timer);\n if (this.config.onExpired) {\n this.config.onExpired();\n }\n }\n }, 1000);\n }\n\n /**\n * Effectuer une requête API\n */\n async makeRequest(endpoint, data) {\n const url = `${this.config.apiUrl}${endpoint}`;\n \n // Préparer les données avec les identifiants\n const requestData = {\n ...data,\n client_id: this.config.clientId,\n secret_id: this.config.secretId\n };\n \n try {\n const response = await fetch(url, {\n method: 'POST',\n headers: {\n 'Content-Type': 'application/json',\n 'Accept': 'application/json'\n },\n body: JSON.stringify(requestData)\n });\n\n if (!response.ok) {\n console.warn(`Erreur HTTP ${response.status}: ${response.statusText}`);\n throw new Error(`Erreur HTTP: ${response.status} - ${response.statusText}`);\n }\n\n return await response.json();\n } catch (error) {\n // Si c'est une erreur CORS, on la gère spécifiquement\n if (error.name === 'TypeError' && error.message.includes('CORS')) {\n console.warn('Erreur CORS détectée, utilisation de QR codes de test');\n throw new Error('CORS_ERROR');\n }\n // Pour toutes les autres erreurs (500, 404, etc.)\n console.warn('Erreur API détectée:', error.message);\n throw error;\n }\n }\n\n /**\n * Gérer les erreurs\n */\n handleError(error) {\n console.error('SunuID SDK Error:', error);\n \n if (this.config.onError) {\n this.config.onError(error);\n }\n }\n\n /**\n * Nettoyer les ressources\n */\n destroy() {\n if (this.refreshTimer) {\n clearInterval(this.refreshTimer);\n }\n \n this.isInitialized = false;\n console.log('SunuID SDK détruit');\n }\n }\n\n // Exposer la classe globalement\n window.SunuID = SunuID;\n window.sunuidInstance = null;\n\n // Fonction d'initialisation globale\n window.initSunuID = function(config) {\n try {\n window.sunuidInstance = new SunuID(config);\n return window.sunuidInstance;\n } catch (error) {\n console.error('Erreur lors de l\\'initialisation de SunuID:', error);\n throw error;\n }\n };\n\n})(window); "],"names":["window","DEFAULT_CONFIG","apiUrl","clientId","secretId","theme","language","autoRefresh","refreshInterval","onSuccess","onError","onExpired","SunuID","config","arguments","length","undefined","_classCallCheck","this","_objectSpread","qrCode","refreshTimer","isInitialized","init","key","value","Error","console","log","_generateAuthQR","_asyncToGenerator","_regenerator","m","_callee","containerId","options","response","testData","qrData","qrUrl","_t","_args","w","_context","p","n","makeRequest","type","v","success","displayQRCode","data","qr_code_url","startAutoRefresh","a","message","warn","name","timestamp","Date","now","sessionId","Math","random","toString","substr","error","errorType","JSON","stringify","concat","encodeURIComponent","qr_id","expires_at","_x","apply","_generateKYCQR","_callee2","_t2","_args2","_context2","kycType","requiredFields","_x2","_checkQRStatus","_callee3","qrId","_t3","_context3","handleError","_x3","container","document","getElementById","innerHTML","startTimer","_refreshQR","_callee4","_t4","_args4","_context4","generateAuthQR","generateKYCQR","_x4","_x5","_this","setInterval","_callee5","_t5","_context5","refreshQR","_this2","timeLeft","timerElement","timer","textContent","clearInterval","_makeRequest","_callee6","endpoint","url","requestData","_t6","_context6","client_id","secret_id","fetch","method","headers","Accept","body","ok","status","statusText","json","includes","_x6","_x7","sunuidInstance","initSunuID"],"mappings":"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"}
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "sunuid-sdk",
|
|
3
|
-
"version": "1.0.
|
|
3
|
+
"version": "1.0.1",
|
|
4
4
|
"type": "module",
|
|
5
5
|
"description": "SDK JavaScript pour l'intégration des QR codes d'authentification et KYC SunuID",
|
|
6
6
|
"main": "dist/sunuid-sdk.js",
|
|
@@ -69,4 +69,4 @@
|
|
|
69
69
|
"not dead",
|
|
70
70
|
"not ie 11"
|
|
71
71
|
]
|
|
72
|
-
}
|
|
72
|
+
}
|