sunuid-sdk 1.0.56 → 1.0.57
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 +5 -2
- package/dist/sunuid-sdk.esm.js.map +1 -1
- package/dist/sunuid-sdk.js +5 -2
- package/dist/sunuid-sdk.js.map +1 -1
- package/dist/sunuid-sdk.min.js +1 -1
- package/dist/sunuid-sdk.min.js.map +1 -1
- package/examples/secure-integration-example.js +0 -185
- package/examples/secure-integration.html +1 -1
- package/package.json +1 -1
|
@@ -1,186 +1 @@
|
|
|
1
|
-
// ========================================
|
|
2
|
-
// INTÉGRATION SÉCURISÉE SUNUID SDK
|
|
3
|
-
// ========================================
|
|
4
|
-
// Les credentials ne sont JAMAIS exposés dans le code client
|
|
5
|
-
|
|
6
|
-
// 1. INCLUSION DES SCRIPTS (dans le HTML)
|
|
7
|
-
/*
|
|
8
|
-
<script src="https://cdn.socket.io/4.7.4/socket.io.min.js"></script>
|
|
9
|
-
<script src="https://unpkg.com/sunuid-sdk@1.0.34/dist/sunuid-sdk.min.js"></script>
|
|
10
|
-
*/
|
|
11
|
-
|
|
12
|
-
// 2. CONFIGURATION SÉCURISÉE (sans credentials)
|
|
13
|
-
const secureConfig = {
|
|
14
|
-
// Aucun credential ici - ils seront récupérés via votre endpoint sécurisé
|
|
15
|
-
type: 2, // 1=KYC, 2=AUTH, 3=SIGNATURE
|
|
16
|
-
partnerName: 'MonApplication', // Nom de votre application
|
|
17
|
-
theme: 'light',
|
|
18
|
-
language: 'fr',
|
|
19
|
-
|
|
20
|
-
// Activer l'initialisation sécurisée
|
|
21
|
-
secureInit: true,
|
|
22
|
-
secureInitUrl: '/secure-init.php', // URL vers votre endpoint sécurisé (voir examples/secure-init.php)
|
|
23
|
-
|
|
24
|
-
// Options de sécurité
|
|
25
|
-
enableSecurityLogs: true,
|
|
26
|
-
validateInputs: true,
|
|
27
|
-
maxRetries: 3,
|
|
28
|
-
requestTimeout: 10000,
|
|
29
|
-
|
|
30
|
-
// Callbacks
|
|
31
|
-
onSuccess: (data) => console.log('🎉 Authentification réussie:', data),
|
|
32
|
-
onError: (error) => console.error('💥 Erreur:', error),
|
|
33
|
-
onStatusUpdate: (status) => console.log('📊 Statut:', status)
|
|
34
|
-
};
|
|
35
|
-
|
|
36
|
-
// 3. CODE D'INTÉGRATION SÉCURISÉE
|
|
37
|
-
async function initSunuIDSecure() {
|
|
38
|
-
try {
|
|
39
|
-
console.log('🔒 Initialisation sécurisée...');
|
|
40
|
-
|
|
41
|
-
// Créer l'instance SDK avec configuration sécurisée
|
|
42
|
-
const sunuid = new SunuID(secureConfig);
|
|
43
|
-
|
|
44
|
-
// Initialiser (les credentials seront récupérés automatiquement)
|
|
45
|
-
await sunuid.init();
|
|
46
|
-
|
|
47
|
-
console.log('✅ SDK initialisé de manière sécurisée');
|
|
48
|
-
console.log('🔒 Credentials récupérés via token sécurisé');
|
|
49
|
-
|
|
50
|
-
// Générer le QR code
|
|
51
|
-
const result = await sunuid.generateQR('qr-container');
|
|
52
|
-
|
|
53
|
-
console.log('✅ QR Code généré:', result.qrCodeUrl);
|
|
54
|
-
return result;
|
|
55
|
-
|
|
56
|
-
} catch (error) {
|
|
57
|
-
console.error('❌ Erreur sécurisée:', error.message);
|
|
58
|
-
throw error;
|
|
59
|
-
}
|
|
60
|
-
}
|
|
61
|
-
|
|
62
|
-
// 4. UTILISATION SIMPLE
|
|
63
|
-
// initSunuIDSecure().then(result => console.log('Succès:', result));
|
|
64
|
-
|
|
65
|
-
// ========================================
|
|
66
|
-
// EXEMPLE AVEC GESTION D'ÉTAT SÉCURISÉE
|
|
67
|
-
// ========================================
|
|
68
|
-
|
|
69
|
-
let secureSunuidInstance = null;
|
|
70
|
-
|
|
71
|
-
async function initSecureSDK() {
|
|
72
|
-
if (secureSunuidInstance) {
|
|
73
|
-
console.log('SDK sécurisé déjà initialisé');
|
|
74
|
-
return secureSunuidInstance;
|
|
75
|
-
}
|
|
76
|
-
|
|
77
|
-
console.log('🔒 Création instance SDK sécurisée...');
|
|
78
|
-
secureSunuidInstance = new SunuID(secureConfig);
|
|
79
|
-
await secureSunuidInstance.init();
|
|
80
|
-
|
|
81
|
-
console.log('✅ SDK sécurisé initialisé');
|
|
82
|
-
return secureSunuidInstance;
|
|
83
|
-
}
|
|
84
|
-
|
|
85
|
-
async function generateSecureQRCode(containerId = 'qr-container') {
|
|
86
|
-
if (!secureSunuidInstance) {
|
|
87
|
-
await initSecureSDK();
|
|
88
|
-
}
|
|
89
|
-
|
|
90
|
-
return await secureSunuidInstance.generateQR(containerId);
|
|
91
|
-
}
|
|
92
|
-
|
|
93
|
-
// ========================================
|
|
94
|
-
// EXEMPLE AVEC DIFFÉRENTS TYPES SÉCURISÉS
|
|
95
|
-
// ========================================
|
|
96
|
-
|
|
97
|
-
// Authentification sécurisée
|
|
98
|
-
async function generateSecureAuthQR() {
|
|
99
|
-
const authConfig = { ...secureConfig, type: 2 };
|
|
100
|
-
const sunuid = new SunuID(authConfig);
|
|
101
|
-
await sunuid.init();
|
|
102
|
-
return await sunuid.generateQR('qr-container');
|
|
103
|
-
}
|
|
104
|
-
|
|
105
|
-
// KYC sécurisé
|
|
106
|
-
async function generateSecureKYCQR() {
|
|
107
|
-
const kycConfig = { ...secureConfig, type: 1 };
|
|
108
|
-
const sunuid = new SunuID(kycConfig);
|
|
109
|
-
await sunuid.init();
|
|
110
|
-
return await sunuid.generateQR('qr-container');
|
|
111
|
-
}
|
|
112
|
-
|
|
113
|
-
// Signature sécurisée
|
|
114
|
-
async function generateSecureSignatureQR() {
|
|
115
|
-
const signatureConfig = { ...secureConfig, type: 3 };
|
|
116
|
-
const sunuid = new SunuID(signatureConfig);
|
|
117
|
-
await sunuid.init();
|
|
118
|
-
return await sunuid.generateQR('qr-container');
|
|
119
|
-
}
|
|
120
|
-
|
|
121
|
-
// ========================================
|
|
122
|
-
// EXEMPLE COMPLET AVEC HTML
|
|
123
|
-
// ========================================
|
|
124
|
-
|
|
125
|
-
/*
|
|
126
|
-
HTML requis :
|
|
127
|
-
|
|
128
|
-
<div id="qr-container">
|
|
129
|
-
<!-- Le QR code sera affiché ici -->
|
|
130
|
-
</div>
|
|
131
|
-
|
|
132
|
-
<button onclick="initSunuIDSecure()">Générer QR Code Sécurisé</button>
|
|
133
|
-
*/
|
|
134
|
-
|
|
135
|
-
// ========================================
|
|
136
|
-
// FONCTIONS UTILITAIRES SÉCURISÉES
|
|
137
|
-
// ========================================
|
|
138
|
-
|
|
139
|
-
// Vérifier le statut de sécurité
|
|
140
|
-
function checkSecurityStatus() {
|
|
141
|
-
if (!secureSunuidInstance) {
|
|
142
|
-
return { initialized: false, secure: false };
|
|
143
|
-
}
|
|
144
|
-
|
|
145
|
-
return {
|
|
146
|
-
initialized: secureSunuidInstance.isInitialized,
|
|
147
|
-
secure: secureSunuidInstance.config.secureInit,
|
|
148
|
-
token: secureSunuidInstance.config.token ? '***' + secureSunuidInstance.config.token.slice(-8) : null,
|
|
149
|
-
websocket: secureSunuidInstance.getWebSocketStatus()
|
|
150
|
-
};
|
|
151
|
-
}
|
|
152
|
-
|
|
153
|
-
// Obtenir les logs de sécurité
|
|
154
|
-
function getSecurityLogs() {
|
|
155
|
-
if (!secureSunuidInstance) {
|
|
156
|
-
return [];
|
|
157
|
-
}
|
|
158
|
-
return secureSunuidInstance.getSecurityLogs();
|
|
159
|
-
}
|
|
160
|
-
|
|
161
|
-
// Nettoyer les logs de sécurité
|
|
162
|
-
function clearSecurityLogs() {
|
|
163
|
-
if (secureSunuidInstance) {
|
|
164
|
-
secureSunuidInstance.clearSecurityLogs();
|
|
165
|
-
}
|
|
166
|
-
}
|
|
167
|
-
|
|
168
|
-
// ========================================
|
|
169
|
-
// EXPORT POUR UTILISATION MODULE
|
|
170
|
-
// ========================================
|
|
171
|
-
|
|
172
|
-
if (typeof module !== 'undefined' && module.exports) {
|
|
173
|
-
module.exports = {
|
|
174
|
-
initSunuIDSecure,
|
|
175
|
-
initSecureSDK,
|
|
176
|
-
generateSecureQRCode,
|
|
177
|
-
generateSecureAuthQR,
|
|
178
|
-
generateSecureKYCQR,
|
|
179
|
-
generateSecureSignatureQR,
|
|
180
|
-
checkSecurityStatus,
|
|
181
|
-
getSecurityLogs,
|
|
182
|
-
clearSecurityLogs,
|
|
183
|
-
secureConfig
|
|
184
|
-
};
|
|
185
|
-
}
|
|
186
1
|
|
|
@@ -196,7 +196,7 @@
|
|
|
196
196
|
|
|
197
197
|
// Activer l'initialisation sécurisée
|
|
198
198
|
secureInit: true,
|
|
199
|
-
secureInitUrl: '
|
|
199
|
+
secureInitUrl: 'http://127.0.0.1:8081/secure-init.php', // Chemin vers votre endpoint sécurisé (voir examples/secure-init.php)
|
|
200
200
|
|
|
201
201
|
// Options de sécurité
|
|
202
202
|
enableSecurityLogs: true,
|