@strands.gg/accui 1.3.1 → 1.3.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/dist/nuxt/runtime/composables/useStrandsAuth.cjs.js +1 -1
- package/dist/nuxt/runtime/composables/useStrandsAuth.d.ts +1 -0
- package/dist/nuxt/runtime/composables/useStrandsAuth.d.ts.map +1 -1
- package/dist/nuxt/runtime/composables/useStrandsAuth.es.js +1 -1
- package/dist/nuxt/runtime/plugin.client.cjs.js +1 -1
- package/dist/nuxt/runtime/plugin.client.es.js +1 -1
- package/dist/nuxt/runtime/plugin.server.cjs.js +1 -1
- package/dist/nuxt/runtime/plugin.server.es.js +1 -1
- package/dist/nuxt-v4/runtime/composables/useStrandsAuth.cjs.js +1 -1
- package/dist/nuxt-v4/runtime/composables/useStrandsAuth.es.js +1 -1
- package/dist/nuxt-v4/runtime/plugin.client.cjs.js +1 -1
- package/dist/nuxt-v4/runtime/plugin.client.es.js +1 -1
- package/dist/nuxt-v4/runtime/plugin.server.cjs.js +1 -1
- package/dist/nuxt-v4/runtime/plugin.server.es.js +1 -1
- package/dist/strands-auth-ui.cjs.js +31 -13
- package/dist/strands-auth-ui.cjs.js.map +1 -1
- package/dist/strands-auth-ui.es.js +32 -14
- package/dist/strands-auth-ui.es.js.map +1 -1
- package/dist/types/index.d.ts +1 -0
- package/dist/types/index.d.ts.map +1 -1
- package/dist/{useStrandsAuth-BCY250zc.cjs → useStrandsAuth-Bw5wrBA2.cjs} +28 -2
- package/dist/useStrandsAuth-Bw5wrBA2.cjs.map +1 -0
- package/dist/{useStrandsAuth-DCKbUhTa.js → useStrandsAuth-DQbwHB-6.js} +28 -2
- package/dist/useStrandsAuth-DQbwHB-6.js.map +1 -0
- package/dist/{useStrandsConfig-nSwWMPqi.cjs → useStrandsConfig-B9UkrP-c.cjs} +5 -3
- package/dist/{useStrandsConfig-nSwWMPqi.cjs.map → useStrandsConfig-B9UkrP-c.cjs.map} +1 -1
- package/dist/{useStrandsConfig-gjVpu8j8.js → useStrandsConfig-V7XSMyQ5.js} +5 -3
- package/dist/{useStrandsConfig-gjVpu8j8.js.map → useStrandsConfig-V7XSMyQ5.js.map} +1 -1
- package/dist/vue/components/StrandsMfaVerification.vue.d.ts.map +1 -1
- package/dist/vue/composables/useStrandsAuth.d.ts +1 -0
- package/dist/vue/composables/useStrandsAuth.d.ts.map +1 -1
- package/dist/vue/composables/useStrandsConfig.d.ts.map +1 -1
- package/dist/vue/ui/UiInput.vue.d.ts +3 -1
- package/dist/vue/ui/UiInput.vue.d.ts.map +1 -1
- package/package.json +1 -1
- package/dist/useStrandsAuth-BCY250zc.cjs.map +0 -1
- package/dist/useStrandsAuth-DCKbUhTa.js.map +0 -1
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
import { defineComponent, computed, createElementBlock, openBlock, normalizeClass, createElementVNode, createCommentVNode, toDisplayString, renderSlot, createTextVNode, useSlots, ref, createBlock, resolveDynamicComponent, mergeProps, withCtx, onMounted, nextTick, toRefs, watch, Fragment, renderList, normalizeStyle, Teleport, withModifiers, createVNode, createSlots, onBeforeUnmount, withKeys, reactive, Transition, h, createStaticVNode } from "vue";
|
|
2
|
-
import { u as useStrandsConfig, p as provideStrandsConfig } from "./useStrandsConfig-
|
|
3
|
-
import { s } from "./useStrandsConfig-
|
|
4
|
-
import { u as useStrandsAuth } from "./useStrandsAuth-
|
|
2
|
+
import { u as useStrandsConfig, p as provideStrandsConfig } from "./useStrandsConfig-V7XSMyQ5.js";
|
|
3
|
+
import { s } from "./useStrandsConfig-V7XSMyQ5.js";
|
|
4
|
+
import { u as useStrandsAuth } from "./useStrandsAuth-DQbwHB-6.js";
|
|
5
5
|
const _sfc_main$r = /* @__PURE__ */ defineComponent({
|
|
6
6
|
__name: "UiAlert",
|
|
7
7
|
props: {
|
|
@@ -369,7 +369,7 @@ const _sfc_main$o = /* @__PURE__ */ defineComponent({
|
|
|
369
369
|
placeholder: { type: String, required: false },
|
|
370
370
|
disabled: { type: Boolean, required: false },
|
|
371
371
|
required: { type: Boolean, required: false },
|
|
372
|
-
error: { type:
|
|
372
|
+
error: { type: Object, required: false },
|
|
373
373
|
helpText: { type: String, required: false },
|
|
374
374
|
autocomplete: { type: String, required: false },
|
|
375
375
|
size: { type: String, required: false, default: "md" }
|
|
@@ -538,7 +538,7 @@ function _sfc_render$o(_ctx, _cache, $props, $setup, $data, $options) {
|
|
|
538
538
|
$props.error ? (openBlock(), createElementBlock(
|
|
539
539
|
"p",
|
|
540
540
|
_hoisted_9$b,
|
|
541
|
-
toDisplayString($props.error),
|
|
541
|
+
toDisplayString($props.error.message),
|
|
542
542
|
1
|
|
543
543
|
/* TEXT */
|
|
544
544
|
)) : $props.helpText ? (openBlock(), createElementBlock(
|
|
@@ -1247,6 +1247,7 @@ const _sfc_main$i = /* @__PURE__ */ defineComponent({
|
|
|
1247
1247
|
const {
|
|
1248
1248
|
verifyMfa,
|
|
1249
1249
|
sendMfaEmailCode,
|
|
1250
|
+
getMfaWebAuthnChallenge,
|
|
1250
1251
|
mfaSessionId: authMfaSessionId,
|
|
1251
1252
|
loading: authLoading,
|
|
1252
1253
|
loadingMessage: authLoadingMessage,
|
|
@@ -1389,18 +1390,34 @@ const _sfc_main$i = /* @__PURE__ */ defineComponent({
|
|
|
1389
1390
|
if (!window.navigator.credentials || !window.PublicKeyCredential) {
|
|
1390
1391
|
throw new Error("Hardware keys are not supported in this browser");
|
|
1391
1392
|
}
|
|
1392
|
-
const
|
|
1393
|
-
|
|
1393
|
+
const challengeResponse = await getMfaWebAuthnChallenge(selectedMethod.value.id);
|
|
1394
|
+
const challengeData = challengeResponse.challenge.publicKey || challengeResponse.challenge;
|
|
1395
|
+
const base64ToUint8Array = (base64) => {
|
|
1396
|
+
if (!base64 || typeof base64 !== "string") {
|
|
1397
|
+
return new Uint8Array(0);
|
|
1398
|
+
}
|
|
1399
|
+
const padding = "=".repeat((4 - base64.length % 4) % 4);
|
|
1400
|
+
const b64 = (base64 + padding).replace(/-/g, "+").replace(/_/g, "/");
|
|
1401
|
+
const rawData = window.atob(b64);
|
|
1402
|
+
const outputArray = new Uint8Array(rawData.length);
|
|
1403
|
+
for (let i = 0; i < rawData.length; ++i) {
|
|
1404
|
+
outputArray[i] = rawData.charCodeAt(i);
|
|
1405
|
+
}
|
|
1406
|
+
return outputArray;
|
|
1407
|
+
};
|
|
1394
1408
|
const isPasskey = selectedMethod.value.device_type === "passkey";
|
|
1395
1409
|
const publicKeyCredentialRequestOptions = {
|
|
1396
|
-
|
|
1397
|
-
|
|
1398
|
-
|
|
1399
|
-
rpId: window.location.hostname,
|
|
1400
|
-
allowCredentials: [],
|
|
1401
|
-
// Empty to allow any registered credential
|
|
1410
|
+
...challengeData,
|
|
1411
|
+
challenge: challengeData.challenge ? base64ToUint8Array(challengeData.challenge) : new Uint8Array(32),
|
|
1412
|
+
timeout: isPasskey ? 3e5 : challengeData.timeout || 6e4,
|
|
1402
1413
|
userVerification: isPasskey ? "required" : "discouraged"
|
|
1403
1414
|
};
|
|
1415
|
+
if (challengeData.allowCredentials && Array.isArray(challengeData.allowCredentials)) {
|
|
1416
|
+
publicKeyCredentialRequestOptions.allowCredentials = challengeData.allowCredentials.map((cred) => ({
|
|
1417
|
+
...cred,
|
|
1418
|
+
id: base64ToUint8Array(cred.id)
|
|
1419
|
+
}));
|
|
1420
|
+
}
|
|
1404
1421
|
const credential = await navigator.credentials.get({
|
|
1405
1422
|
publicKey: publicKeyCredentialRequestOptions
|
|
1406
1423
|
});
|
|
@@ -1441,10 +1458,11 @@ const _sfc_main$i = /* @__PURE__ */ defineComponent({
|
|
|
1441
1458
|
await verifyMfa(selectedMethod.value.id, JSON.stringify(credentialData));
|
|
1442
1459
|
emit("success");
|
|
1443
1460
|
} catch (error) {
|
|
1461
|
+
console.error("Hardware key authentication error:", error);
|
|
1444
1462
|
emit("error", error instanceof Error ? error.message : "Hardware key authentication failed");
|
|
1445
1463
|
}
|
|
1446
1464
|
};
|
|
1447
|
-
const __returned__ = { props, emit, mfaLoading, getDeviceTypeIcon, getDeviceTypeName, verifyMfa, sendMfaEmailCode, authMfaSessionId, authLoading, authLoadingMessage, isSendingMfaEmail, isVerifyingMfa, loading: loading2, selectedMethod, verificationCode, verificationError, backupCode, backupCodeError, showBackupCodeInput, emailCodeSent, cooldownActive, cooldownSeconds, get cooldownInterval() {
|
|
1465
|
+
const __returned__ = { props, emit, mfaLoading, getDeviceTypeIcon, getDeviceTypeName, verifyMfa, sendMfaEmailCode, getMfaWebAuthnChallenge, authMfaSessionId, authLoading, authLoadingMessage, isSendingMfaEmail, isVerifyingMfa, loading: loading2, selectedMethod, verificationCode, verificationError, backupCode, backupCodeError, showBackupCodeInput, emailCodeSent, cooldownActive, cooldownSeconds, get cooldownInterval() {
|
|
1448
1466
|
return cooldownInterval;
|
|
1449
1467
|
}, set cooldownInterval(v) {
|
|
1450
1468
|
cooldownInterval = v;
|