@adminforth/two-factors-auth 4.4.1 → 4.4.3
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/build.log +2 -2
- package/custom/TwoFactorsSetup.vue +15 -11
- package/custom/package-lock.json +418 -0
- package/custom/package.json +3 -0
- package/custom/pnpm-lock.yaml +303 -0
- package/dist/custom/TwoFactorsSetup.vue +15 -11
- package/dist/custom/package-lock.json +418 -0
- package/dist/custom/package.json +3 -0
- package/dist/custom/pnpm-lock.yaml +303 -0
- package/package.json +1 -1
package/custom/pnpm-lock.yaml
CHANGED
|
@@ -11,9 +11,18 @@ importers:
|
|
|
11
11
|
'@loltech/vue3-2fa-code-input':
|
|
12
12
|
specifier: ^1.1.0
|
|
13
13
|
version: 1.1.0
|
|
14
|
+
'@vueuse/core':
|
|
15
|
+
specifier: ^14.3.0
|
|
16
|
+
version: 14.4.0(vue@3.5.29)
|
|
17
|
+
'@vueuse/integrations':
|
|
18
|
+
specifier: ^14.4.0
|
|
19
|
+
version: 14.4.0(qrcode@1.5.4)(vue@3.5.29)
|
|
14
20
|
dayjs:
|
|
15
21
|
specifier: ^1.11.18
|
|
16
22
|
version: 1.11.19
|
|
23
|
+
qrcode:
|
|
24
|
+
specifier: ^1.5.4
|
|
25
|
+
version: 1.5.4
|
|
17
26
|
vue3-otp-input:
|
|
18
27
|
specifier: ^0.5.21
|
|
19
28
|
version: 0.5.40(vue@3.5.29)
|
|
@@ -43,6 +52,9 @@ packages:
|
|
|
43
52
|
'@loltech/vue3-2fa-code-input@1.1.0':
|
|
44
53
|
resolution: {integrity: sha512-styyoQjsARSeVf6E5qMvYIVkLRrwYtfL8xDl5W+g9wKF8qlr2XGU2gi9maEg0X4Us41kJryXBzfRMUcv5tKIBA==}
|
|
45
54
|
|
|
55
|
+
'@types/web-bluetooth@0.0.21':
|
|
56
|
+
resolution: {integrity: sha512-oIQLCGWtcFZy2JW77j9k8nHzAOpqMHLQejDA48XXMWH6tjCQHz5RCFz1bzsmROyL6PUm+LLnUiI4BCn221inxA==}
|
|
57
|
+
|
|
46
58
|
'@vue/compiler-core@3.5.29':
|
|
47
59
|
resolution: {integrity: sha512-cuzPhD8fwRHk8IGfmYaR4eEe4cAyJEL66Ove/WZL7yWNL134nqLddSLwNRIsFlnnW1kK+p8Ck3viFnC0chXCXw==}
|
|
48
60
|
|
|
@@ -72,12 +84,99 @@ packages:
|
|
|
72
84
|
'@vue/shared@3.5.29':
|
|
73
85
|
resolution: {integrity: sha512-w7SR0A5zyRByL9XUkCfdLs7t9XOHUyJ67qPGQjOou3p6GvBeBW+AVjUUmlxtZ4PIYaRvE+1LmK44O4uajlZwcg==}
|
|
74
86
|
|
|
87
|
+
'@vueuse/core@14.4.0':
|
|
88
|
+
resolution: {integrity: sha512-X4WHz1HlCzCBoYXesUkifzzWBAcZgXG8Fi5iNPQg/epdzOB3gu8Fawj3hvuwYR1nGcXGnvxwYYcUC/71++svtQ==}
|
|
89
|
+
peerDependencies:
|
|
90
|
+
vue: ^3.5.0
|
|
91
|
+
|
|
92
|
+
'@vueuse/integrations@14.4.0':
|
|
93
|
+
resolution: {integrity: sha512-oJz9qTgczvA7L1nXQFRU7h8tQbOCoiceqvMMhT9XYMyOGTqLJ2rEa09PON+nD2t48sZUfeOmg4eaWJXV4sZb/w==}
|
|
94
|
+
peerDependencies:
|
|
95
|
+
async-validator: ^4
|
|
96
|
+
axios: ^1
|
|
97
|
+
change-case: ^5
|
|
98
|
+
drauu: ^0.4
|
|
99
|
+
focus-trap: ^7 || ^8
|
|
100
|
+
fuse.js: ^7
|
|
101
|
+
idb-keyval: ^6
|
|
102
|
+
jwt-decode: ^4
|
|
103
|
+
nprogress: ^0.2
|
|
104
|
+
qrcode: ^1.5
|
|
105
|
+
sortablejs: ^1
|
|
106
|
+
universal-cookie: ^7 || ^8
|
|
107
|
+
vue: ^3.5.0
|
|
108
|
+
peerDependenciesMeta:
|
|
109
|
+
async-validator:
|
|
110
|
+
optional: true
|
|
111
|
+
axios:
|
|
112
|
+
optional: true
|
|
113
|
+
change-case:
|
|
114
|
+
optional: true
|
|
115
|
+
drauu:
|
|
116
|
+
optional: true
|
|
117
|
+
focus-trap:
|
|
118
|
+
optional: true
|
|
119
|
+
fuse.js:
|
|
120
|
+
optional: true
|
|
121
|
+
idb-keyval:
|
|
122
|
+
optional: true
|
|
123
|
+
jwt-decode:
|
|
124
|
+
optional: true
|
|
125
|
+
nprogress:
|
|
126
|
+
optional: true
|
|
127
|
+
qrcode:
|
|
128
|
+
optional: true
|
|
129
|
+
sortablejs:
|
|
130
|
+
optional: true
|
|
131
|
+
universal-cookie:
|
|
132
|
+
optional: true
|
|
133
|
+
|
|
134
|
+
'@vueuse/metadata@14.4.0':
|
|
135
|
+
resolution: {integrity: sha512-swx/255R6JyHZFJhx845iz5CRWDZdCfvkZOpACWc5+c5WHcG24mv8gUT1WIdFQaHt6dq79rvILd9QnCWiyVm9g==}
|
|
136
|
+
|
|
137
|
+
'@vueuse/shared@14.4.0':
|
|
138
|
+
resolution: {integrity: sha512-JRgY90Sz8DDtPMsaDflvPMp9xYk69JZAmbuDvAquUVXKr2gEjqtzGNTTthLfckH0BzBqvnu31gb4a8TGLRe79g==}
|
|
139
|
+
peerDependencies:
|
|
140
|
+
vue: ^3.5.0
|
|
141
|
+
|
|
142
|
+
ansi-regex@5.0.1:
|
|
143
|
+
resolution: {integrity: sha512-quJQXlTSUGL2LH9SUXo8VwsY4soanhgo6LNSm84E1LBcE8s3O0wpdiRzyR9z/ZZJMlMWv37qOOb9pdJlMUEKFQ==}
|
|
144
|
+
engines: {node: '>=8'}
|
|
145
|
+
|
|
146
|
+
ansi-styles@4.3.0:
|
|
147
|
+
resolution: {integrity: sha512-zbB9rCJAT1rbjiVDb2hqKFHNYLxgtk8NURxZ3IZwD3F6NtxbXZQCnnSi1Lkx+IDohdPlFp222wVALIheZJQSEg==}
|
|
148
|
+
engines: {node: '>=8'}
|
|
149
|
+
|
|
150
|
+
camelcase@5.3.1:
|
|
151
|
+
resolution: {integrity: sha512-L28STB170nwWS63UjtlEOE3dldQApaJXZkOI1uMFfzf3rRuPegHaHesyee+YxQ+W6SvRDQV6UrdOdRiR153wJg==}
|
|
152
|
+
engines: {node: '>=6'}
|
|
153
|
+
|
|
154
|
+
cliui@6.0.0:
|
|
155
|
+
resolution: {integrity: sha512-t6wbgtoCXvAzst7QgXxJYqPt0usEfbgQdftEPbLL/cvv6HPE5VgvqCuAIDR0NgU52ds6rFwqrgakNLrHEjCbrQ==}
|
|
156
|
+
|
|
157
|
+
color-convert@2.0.1:
|
|
158
|
+
resolution: {integrity: sha512-RRECPsj7iu/xb5oKYcsFHSppFNnsj/52OVTRKb4zP5onXwVF3zVmmToNcOfGC+CRDpfK/U584fMg38ZHCaElKQ==}
|
|
159
|
+
engines: {node: '>=7.0.0'}
|
|
160
|
+
|
|
161
|
+
color-name@1.1.4:
|
|
162
|
+
resolution: {integrity: sha512-dOy+3AuW3a2wNbZHIuMZpTcgjGuLU/uBL/ubcZF9OXbDo8ff4O8yVp5Bf0efS8uEoYo5q4Fx7dY9OgQGXgAsQA==}
|
|
163
|
+
|
|
75
164
|
csstype@3.2.3:
|
|
76
165
|
resolution: {integrity: sha512-z1HGKcYy2xA8AGQfwrn0PAy+PB7X/GSj3UVJW9qKyn43xWa+gl5nXmU4qqLMRzWVLFC8KusUX8T/0kCiOYpAIQ==}
|
|
77
166
|
|
|
78
167
|
dayjs@1.11.19:
|
|
79
168
|
resolution: {integrity: sha512-t5EcLVS6QPBNqM2z8fakk/NKel+Xzshgt8FFKAn+qwlD1pzZWxh0nVCrvFK7ZDb6XucZeF9z8C7CBWTRIVApAw==}
|
|
80
169
|
|
|
170
|
+
decamelize@1.2.0:
|
|
171
|
+
resolution: {integrity: sha512-z2S+W9X73hAUUki+N+9Za2lBlun89zigOyGrsax+KUQ6wKW4ZoWpEYBkGhQjwAjjDCkWxhY0VKEhk8wzY7F5cA==}
|
|
172
|
+
engines: {node: '>=0.10.0'}
|
|
173
|
+
|
|
174
|
+
dijkstrajs@1.0.3:
|
|
175
|
+
resolution: {integrity: sha512-qiSlmBq9+BCdCA/L46dw8Uy93mloxsPSbwnm5yrKn2vMPiy8KyAskTF6zuV/j5BMsmOGZDPs7KjU+mjb670kfA==}
|
|
176
|
+
|
|
177
|
+
emoji-regex@8.0.0:
|
|
178
|
+
resolution: {integrity: sha512-MSjYzcWNOA0ewAHpz0MxpYFvwg6yjy1NG3xteoqz644VCo/RPgnr1/GGt+ic3iJTzQ8Eu3TdM14SawnVUmGE6A==}
|
|
179
|
+
|
|
81
180
|
entities@7.0.1:
|
|
82
181
|
resolution: {integrity: sha512-TWrgLOFUQTH994YUyl1yT4uyavY5nNB5muff+RtWaqNVCAK408b5ZnnbNAUEWLTCpum9w6arT70i1XdQ4UeOPA==}
|
|
83
182
|
engines: {node: '>=0.12'}
|
|
@@ -85,6 +184,22 @@ packages:
|
|
|
85
184
|
estree-walker@2.0.2:
|
|
86
185
|
resolution: {integrity: sha512-Rfkk/Mp/DL7JVje3u18FxFujQlTNR2q6QfMSMB7AvCBx91NGj/ba3kCfza0f6dVDbw7YlRf/nDrn7pQrCCyQ/w==}
|
|
87
186
|
|
|
187
|
+
find-up@4.1.0:
|
|
188
|
+
resolution: {integrity: sha512-PpOwAdQ/YlXQ2vj8a3h8IipDuYRi3wceVQQGYWxNINccq40Anw7BlsEXCMbt1Zt+OLA6Fq9suIpIWD0OsnISlw==}
|
|
189
|
+
engines: {node: '>=8'}
|
|
190
|
+
|
|
191
|
+
get-caller-file@2.0.5:
|
|
192
|
+
resolution: {integrity: sha512-DyFP3BM/3YHTQOCUL/w0OZHR0lpKeGrxotcHWcqNEdnltqFwXVfhEBQ94eIo34AfQpo0rGki4cyIiftY06h2Fg==}
|
|
193
|
+
engines: {node: 6.* || 8.* || >= 10.*}
|
|
194
|
+
|
|
195
|
+
is-fullwidth-code-point@3.0.0:
|
|
196
|
+
resolution: {integrity: sha512-zymm5+u+sCsSWyD9qNaejV3DFvhCKclKdizYaJUuHA83RLjb7nSuGnddCHGv0hk+KY7BMAlsWeK4Ueg6EV6XQg==}
|
|
197
|
+
engines: {node: '>=8'}
|
|
198
|
+
|
|
199
|
+
locate-path@5.0.0:
|
|
200
|
+
resolution: {integrity: sha512-t7hw9pI+WvuwNJXwk5zVHpyhIqzg2qTlklJOf0mVxGSbe3Fp2VieZcduNYjaLDoy6p9uGpQEGWG87WpMKlNq8g==}
|
|
201
|
+
engines: {node: '>=8'}
|
|
202
|
+
|
|
88
203
|
magic-string@0.30.21:
|
|
89
204
|
resolution: {integrity: sha512-vd2F4YUyEXKGcLHoq+TEyCjxueSeHnFxyyjNp80yg0XV4vUhnDer/lvvlqM/arB5bXQN5K2/3oinyCRyx8T2CQ==}
|
|
90
205
|
|
|
@@ -93,17 +208,60 @@ packages:
|
|
|
93
208
|
engines: {node: ^10 || ^12 || ^13.7 || ^14 || >=15.0.1}
|
|
94
209
|
hasBin: true
|
|
95
210
|
|
|
211
|
+
p-limit@2.3.0:
|
|
212
|
+
resolution: {integrity: sha512-//88mFWSJx8lxCzwdAABTJL2MyWB12+eIY7MDL2SqLmAkeKU9qxRvWuSyTjm3FUmpBEMuFfckAIqEaVGUDxb6w==}
|
|
213
|
+
engines: {node: '>=6'}
|
|
214
|
+
|
|
215
|
+
p-locate@4.1.0:
|
|
216
|
+
resolution: {integrity: sha512-R79ZZ/0wAxKGu3oYMlz8jy/kbhsNrS7SKZ7PxEHBgJ5+F2mtFW2fK2cOtBh1cHYkQsbzFV7I+EoRKe6Yt0oK7A==}
|
|
217
|
+
engines: {node: '>=8'}
|
|
218
|
+
|
|
219
|
+
p-try@2.2.0:
|
|
220
|
+
resolution: {integrity: sha512-R4nPAVTAU0B9D35/Gk3uJf/7XYbQcyohSKdvAxIRSNghFl4e71hVoGnBNQz9cWaXxO2I10KTC+3jMdvvoKw6dQ==}
|
|
221
|
+
engines: {node: '>=6'}
|
|
222
|
+
|
|
223
|
+
path-exists@4.0.0:
|
|
224
|
+
resolution: {integrity: sha512-ak9Qy5Q7jYb2Wwcey5Fpvg2KoAc/ZIhLSLOSBmRmygPsGwkVVt0fZa0qrtMz+m6tJTAHfZQ8FnmB4MG4LWy7/w==}
|
|
225
|
+
engines: {node: '>=8'}
|
|
226
|
+
|
|
96
227
|
picocolors@1.1.1:
|
|
97
228
|
resolution: {integrity: sha512-xceH2snhtb5M9liqDsmEw56le376mTZkEX/jEb/RxNFyegNul7eNslCXP9FDj/Lcu0X8KEyMceP2ntpaHrDEVA==}
|
|
98
229
|
|
|
230
|
+
pngjs@5.0.0:
|
|
231
|
+
resolution: {integrity: sha512-40QW5YalBNfQo5yRYmiw7Yz6TKKVr3h6970B2YE+3fQpsWcrbj1PzJgxeJ19DRQjhMbKPIuMY8rFaXc8moolVw==}
|
|
232
|
+
engines: {node: '>=10.13.0'}
|
|
233
|
+
|
|
99
234
|
postcss@8.5.8:
|
|
100
235
|
resolution: {integrity: sha512-OW/rX8O/jXnm82Ey1k44pObPtdblfiuWnrd8X7GJ7emImCOstunGbXUpp7HdBrFQX6rJzn3sPT397Wp5aCwCHg==}
|
|
101
236
|
engines: {node: ^10 || ^12 || >=14}
|
|
102
237
|
|
|
238
|
+
qrcode@1.5.4:
|
|
239
|
+
resolution: {integrity: sha512-1ca71Zgiu6ORjHqFBDpnSMTR2ReToX4l1Au1VFLyVeBTFavzQnv5JxMFr3ukHVKpSrSA2MCk0lNJSykjUfz7Zg==}
|
|
240
|
+
engines: {node: '>=10.13.0'}
|
|
241
|
+
hasBin: true
|
|
242
|
+
|
|
243
|
+
require-directory@2.1.1:
|
|
244
|
+
resolution: {integrity: sha512-fGxEI7+wsG9xrvdjsrlmL22OMTTiHRwAMroiEeMgq8gzoLC/PQr7RsRDSTLUg/bZAZtF+TVIkHc6/4RIKrui+Q==}
|
|
245
|
+
engines: {node: '>=0.10.0'}
|
|
246
|
+
|
|
247
|
+
require-main-filename@2.0.0:
|
|
248
|
+
resolution: {integrity: sha512-NKN5kMDylKuldxYLSUfrbo5Tuzh4hd+2E8NPPX02mZtn1VuREQToYe/ZdlJy+J3uCpfaiGF05e7B8W0iXbQHmg==}
|
|
249
|
+
|
|
250
|
+
set-blocking@2.0.0:
|
|
251
|
+
resolution: {integrity: sha512-KiKBS8AnWGEyLzofFfmvKwpdPzqiy16LvQfK3yv/fVH7Bj13/wl3JSR1J+rfgRE9q7xUJK4qvgS8raSOeLUehw==}
|
|
252
|
+
|
|
103
253
|
source-map-js@1.2.1:
|
|
104
254
|
resolution: {integrity: sha512-UXWMKhLOwVKb728IUtQPXxfYU+usdybtUrK/8uGE8CQMvrhOpwvzDBwj0QhSL7MQc7vIsISBG8VQ8+IDQxpfQA==}
|
|
105
255
|
engines: {node: '>=0.10.0'}
|
|
106
256
|
|
|
257
|
+
string-width@4.2.3:
|
|
258
|
+
resolution: {integrity: sha512-wKyQRQpjJ0sIp62ErSZdGsjMJWsap5oRNihHhu6G7JVO/9jIB6UyevL+tXuOqrng8j/cxKTWyWUwvSTriiZz/g==}
|
|
259
|
+
engines: {node: '>=8'}
|
|
260
|
+
|
|
261
|
+
strip-ansi@6.0.1:
|
|
262
|
+
resolution: {integrity: sha512-Y38VPSHcqkFrCpFnQ9vuSXmquuv5oXOKpGeT6aGrr3o3Gc9AlVa6JBfUSOCnbxGGZF+/0ooI7KrPuUSztUdU5A==}
|
|
263
|
+
engines: {node: '>=8'}
|
|
264
|
+
|
|
107
265
|
vue3-otp-input@0.5.40:
|
|
108
266
|
resolution: {integrity: sha512-3AMYHqNz9ZDa9y7ICwcEcsJG7XdZGaLAr6IRLIl3whvseFE95F5Duc9q963HcqEbu8CeMWilkmbAt/0eZOZxow==}
|
|
109
267
|
peerDependencies:
|
|
@@ -117,6 +275,24 @@ packages:
|
|
|
117
275
|
typescript:
|
|
118
276
|
optional: true
|
|
119
277
|
|
|
278
|
+
which-module@2.0.1:
|
|
279
|
+
resolution: {integrity: sha512-iBdZ57RDvnOR9AGBhML2vFZf7h8vmBjhoaZqODJBFWHVtKkDmKuHai3cx5PgVMrX5YDNp27AofYbAwctSS+vhQ==}
|
|
280
|
+
|
|
281
|
+
wrap-ansi@6.2.0:
|
|
282
|
+
resolution: {integrity: sha512-r6lPcBGxZXlIcymEu7InxDMhdW0KDxpLgoFLcguasxCaJ/SOIZwINatK9KY/tf+ZrlywOKU0UDj3ATXUBfxJXA==}
|
|
283
|
+
engines: {node: '>=8'}
|
|
284
|
+
|
|
285
|
+
y18n@4.0.3:
|
|
286
|
+
resolution: {integrity: sha512-JKhqTOwSrqNA1NY5lSztJ1GrBiUodLMmIZuLiDaMRJ+itFd+ABVE8XBjOvIWL+rSqNDC74LCSFmlb/U4UZ4hJQ==}
|
|
287
|
+
|
|
288
|
+
yargs-parser@18.1.3:
|
|
289
|
+
resolution: {integrity: sha512-o50j0JeToy/4K6OZcaQmW6lyXXKhq7csREXcDwk2omFPJEwUNOVtJKvmDr9EI1fAJZUyZcRF7kxGBWmRXudrCQ==}
|
|
290
|
+
engines: {node: '>=6'}
|
|
291
|
+
|
|
292
|
+
yargs@15.4.1:
|
|
293
|
+
resolution: {integrity: sha512-aePbxDmcYW++PaqBsJ+HYUFwCdv4LVvdnhBy78E57PIor8/OVvhMrADFFEDh8DHDFRv/O9i3lPhsENjO7QX0+A==}
|
|
294
|
+
engines: {node: '>=8'}
|
|
295
|
+
|
|
120
296
|
snapshots:
|
|
121
297
|
|
|
122
298
|
'@babel/helper-string-parser@7.27.1': {}
|
|
@@ -136,6 +312,8 @@ snapshots:
|
|
|
136
312
|
|
|
137
313
|
'@loltech/vue3-2fa-code-input@1.1.0': {}
|
|
138
314
|
|
|
315
|
+
'@types/web-bluetooth@0.0.21': {}
|
|
316
|
+
|
|
139
317
|
'@vue/compiler-core@3.5.29':
|
|
140
318
|
dependencies:
|
|
141
319
|
'@babel/parser': 7.29.0
|
|
@@ -190,30 +368,126 @@ snapshots:
|
|
|
190
368
|
|
|
191
369
|
'@vue/shared@3.5.29': {}
|
|
192
370
|
|
|
371
|
+
'@vueuse/core@14.4.0(vue@3.5.29)':
|
|
372
|
+
dependencies:
|
|
373
|
+
'@types/web-bluetooth': 0.0.21
|
|
374
|
+
'@vueuse/metadata': 14.4.0
|
|
375
|
+
'@vueuse/shared': 14.4.0(vue@3.5.29)
|
|
376
|
+
vue: 3.5.29
|
|
377
|
+
|
|
378
|
+
'@vueuse/integrations@14.4.0(qrcode@1.5.4)(vue@3.5.29)':
|
|
379
|
+
dependencies:
|
|
380
|
+
'@vueuse/core': 14.4.0(vue@3.5.29)
|
|
381
|
+
'@vueuse/shared': 14.4.0(vue@3.5.29)
|
|
382
|
+
vue: 3.5.29
|
|
383
|
+
optionalDependencies:
|
|
384
|
+
qrcode: 1.5.4
|
|
385
|
+
|
|
386
|
+
'@vueuse/metadata@14.4.0': {}
|
|
387
|
+
|
|
388
|
+
'@vueuse/shared@14.4.0(vue@3.5.29)':
|
|
389
|
+
dependencies:
|
|
390
|
+
vue: 3.5.29
|
|
391
|
+
|
|
392
|
+
ansi-regex@5.0.1: {}
|
|
393
|
+
|
|
394
|
+
ansi-styles@4.3.0:
|
|
395
|
+
dependencies:
|
|
396
|
+
color-convert: 2.0.1
|
|
397
|
+
|
|
398
|
+
camelcase@5.3.1: {}
|
|
399
|
+
|
|
400
|
+
cliui@6.0.0:
|
|
401
|
+
dependencies:
|
|
402
|
+
string-width: 4.2.3
|
|
403
|
+
strip-ansi: 6.0.1
|
|
404
|
+
wrap-ansi: 6.2.0
|
|
405
|
+
|
|
406
|
+
color-convert@2.0.1:
|
|
407
|
+
dependencies:
|
|
408
|
+
color-name: 1.1.4
|
|
409
|
+
|
|
410
|
+
color-name@1.1.4: {}
|
|
411
|
+
|
|
193
412
|
csstype@3.2.3: {}
|
|
194
413
|
|
|
195
414
|
dayjs@1.11.19: {}
|
|
196
415
|
|
|
416
|
+
decamelize@1.2.0: {}
|
|
417
|
+
|
|
418
|
+
dijkstrajs@1.0.3: {}
|
|
419
|
+
|
|
420
|
+
emoji-regex@8.0.0: {}
|
|
421
|
+
|
|
197
422
|
entities@7.0.1: {}
|
|
198
423
|
|
|
199
424
|
estree-walker@2.0.2: {}
|
|
200
425
|
|
|
426
|
+
find-up@4.1.0:
|
|
427
|
+
dependencies:
|
|
428
|
+
locate-path: 5.0.0
|
|
429
|
+
path-exists: 4.0.0
|
|
430
|
+
|
|
431
|
+
get-caller-file@2.0.5: {}
|
|
432
|
+
|
|
433
|
+
is-fullwidth-code-point@3.0.0: {}
|
|
434
|
+
|
|
435
|
+
locate-path@5.0.0:
|
|
436
|
+
dependencies:
|
|
437
|
+
p-locate: 4.1.0
|
|
438
|
+
|
|
201
439
|
magic-string@0.30.21:
|
|
202
440
|
dependencies:
|
|
203
441
|
'@jridgewell/sourcemap-codec': 1.5.5
|
|
204
442
|
|
|
205
443
|
nanoid@3.3.11: {}
|
|
206
444
|
|
|
445
|
+
p-limit@2.3.0:
|
|
446
|
+
dependencies:
|
|
447
|
+
p-try: 2.2.0
|
|
448
|
+
|
|
449
|
+
p-locate@4.1.0:
|
|
450
|
+
dependencies:
|
|
451
|
+
p-limit: 2.3.0
|
|
452
|
+
|
|
453
|
+
p-try@2.2.0: {}
|
|
454
|
+
|
|
455
|
+
path-exists@4.0.0: {}
|
|
456
|
+
|
|
207
457
|
picocolors@1.1.1: {}
|
|
208
458
|
|
|
459
|
+
pngjs@5.0.0: {}
|
|
460
|
+
|
|
209
461
|
postcss@8.5.8:
|
|
210
462
|
dependencies:
|
|
211
463
|
nanoid: 3.3.11
|
|
212
464
|
picocolors: 1.1.1
|
|
213
465
|
source-map-js: 1.2.1
|
|
214
466
|
|
|
467
|
+
qrcode@1.5.4:
|
|
468
|
+
dependencies:
|
|
469
|
+
dijkstrajs: 1.0.3
|
|
470
|
+
pngjs: 5.0.0
|
|
471
|
+
yargs: 15.4.1
|
|
472
|
+
|
|
473
|
+
require-directory@2.1.1: {}
|
|
474
|
+
|
|
475
|
+
require-main-filename@2.0.0: {}
|
|
476
|
+
|
|
477
|
+
set-blocking@2.0.0: {}
|
|
478
|
+
|
|
215
479
|
source-map-js@1.2.1: {}
|
|
216
480
|
|
|
481
|
+
string-width@4.2.3:
|
|
482
|
+
dependencies:
|
|
483
|
+
emoji-regex: 8.0.0
|
|
484
|
+
is-fullwidth-code-point: 3.0.0
|
|
485
|
+
strip-ansi: 6.0.1
|
|
486
|
+
|
|
487
|
+
strip-ansi@6.0.1:
|
|
488
|
+
dependencies:
|
|
489
|
+
ansi-regex: 5.0.1
|
|
490
|
+
|
|
217
491
|
vue3-otp-input@0.5.40(vue@3.5.29):
|
|
218
492
|
dependencies:
|
|
219
493
|
vue: 3.5.29
|
|
@@ -225,3 +499,32 @@ snapshots:
|
|
|
225
499
|
'@vue/runtime-dom': 3.5.29
|
|
226
500
|
'@vue/server-renderer': 3.5.29(vue@3.5.29)
|
|
227
501
|
'@vue/shared': 3.5.29
|
|
502
|
+
|
|
503
|
+
which-module@2.0.1: {}
|
|
504
|
+
|
|
505
|
+
wrap-ansi@6.2.0:
|
|
506
|
+
dependencies:
|
|
507
|
+
ansi-styles: 4.3.0
|
|
508
|
+
string-width: 4.2.3
|
|
509
|
+
strip-ansi: 6.0.1
|
|
510
|
+
|
|
511
|
+
y18n@4.0.3: {}
|
|
512
|
+
|
|
513
|
+
yargs-parser@18.1.3:
|
|
514
|
+
dependencies:
|
|
515
|
+
camelcase: 5.3.1
|
|
516
|
+
decamelize: 1.2.0
|
|
517
|
+
|
|
518
|
+
yargs@15.4.1:
|
|
519
|
+
dependencies:
|
|
520
|
+
cliui: 6.0.0
|
|
521
|
+
decamelize: 1.2.0
|
|
522
|
+
find-up: 4.1.0
|
|
523
|
+
get-caller-file: 2.0.5
|
|
524
|
+
require-directory: 2.1.1
|
|
525
|
+
require-main-filename: 2.0.0
|
|
526
|
+
set-blocking: 2.0.0
|
|
527
|
+
string-width: 4.2.3
|
|
528
|
+
which-module: 2.0.1
|
|
529
|
+
y18n: 4.0.3
|
|
530
|
+
yargs-parser: 18.1.3
|
|
@@ -15,7 +15,8 @@
|
|
|
15
15
|
<div class="p-10 w-full max-w-md max-h-full custom-auth-wrapper" >
|
|
16
16
|
<div>{{$t('Scan this QR code with your authenticator app or open by')}} <a class="text-blue-600" :href="totpUri">{{$t('click')}}</a></div>
|
|
17
17
|
<div class="flex justify-center m-3" >
|
|
18
|
-
<img :src="totpQrCode" class="af-qr-code min-w-[200px] min-h-[200px]" alt="QR code" />
|
|
18
|
+
<img v-if="totpQrCode" :src="totpQrCode" class="af-qr-code min-w-[200px] min-h-[200px]" alt="QR code" />
|
|
19
|
+
<div v-else class="af-qr-code min-w-[200px] min-h-[200px]"></div>
|
|
19
20
|
</div>
|
|
20
21
|
<div class="my-1">{{$t('Or copy this code to app manually:')}}</div>
|
|
21
22
|
<div class="w-full">
|
|
@@ -75,7 +76,7 @@
|
|
|
75
76
|
|
|
76
77
|
<script setup lang="ts">
|
|
77
78
|
|
|
78
|
-
import { onMounted, onBeforeUnmount, nextTick, ref,
|
|
79
|
+
import { onMounted, onBeforeUnmount, nextTick, ref, computed, onBeforeMount } from 'vue';
|
|
79
80
|
import { useCoreStore } from '@/stores/core';
|
|
80
81
|
import { useUserStore } from '@/stores/user';
|
|
81
82
|
import { IconEyeSolid, IconEyeSlashSolid } from '@iconify-prerendered/vue-flowbite';
|
|
@@ -90,6 +91,7 @@ import { useI18n } from 'vue-i18n';
|
|
|
90
91
|
import { useRoute } from 'vue-router';
|
|
91
92
|
import { handlePasskeyAlert } from './utils.js';
|
|
92
93
|
import ErrorMessage from '@/components/ErrorMessage.vue';
|
|
94
|
+
import { useQRCode } from '@vueuse/integrations/useQRCode'
|
|
93
95
|
|
|
94
96
|
const { t } = useI18n();
|
|
95
97
|
const route = useRoute()
|
|
@@ -126,16 +128,18 @@ const skipAllowed = ref(false);
|
|
|
126
128
|
const showPw = ref(false);
|
|
127
129
|
|
|
128
130
|
const error = ref(null);
|
|
129
|
-
const totp = ref({});
|
|
131
|
+
const totp = ref<{ issuer?: string; userName?: string; newSecret?: string }>({});
|
|
130
132
|
const totpJWT = ref(null);
|
|
131
133
|
const totpUri = computed(() => {
|
|
132
|
-
|
|
133
|
-
|
|
134
|
-
|
|
135
|
-
|
|
136
|
-
|
|
137
|
-
|
|
138
|
-
|
|
134
|
+
const { issuer, userName, newSecret } = totp.value || {};
|
|
135
|
+
if (!issuer || !userName || !newSecret) {
|
|
136
|
+
return '';
|
|
137
|
+
}
|
|
138
|
+
const label = `${encodeURIComponent(issuer)}:${encodeURIComponent(userName)}`;
|
|
139
|
+
return `otpauth://totp/${label}?secret=${newSecret}&issuer=${encodeURIComponent(issuer)}`;
|
|
140
|
+
});
|
|
141
|
+
const totpQrCode = useQRCode(totpUri, { width: 200, margin: 1 });
|
|
142
|
+
|
|
139
143
|
|
|
140
144
|
function parseJwt(token) {
|
|
141
145
|
// Split the token into its parts
|
|
@@ -152,7 +156,7 @@ function parseJwt(token) {
|
|
|
152
156
|
}
|
|
153
157
|
|
|
154
158
|
function onCopyClick(){
|
|
155
|
-
navigator.clipboard.writeText(totp.value.newSecret);
|
|
159
|
+
navigator.clipboard.writeText(totp.value.newSecret ?? '');
|
|
156
160
|
adminforth.alert({message: t('Copied to clipboard'), variant: 'success'})
|
|
157
161
|
}
|
|
158
162
|
|