@iqauth/sdk 2.0.3 → 2.0.5
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/README.md +384 -181
- package/dist/browser-session.d.mts +1 -1
- package/dist/browser-session.d.ts +1 -1
- package/dist/browser-session.js +4 -1
- package/dist/browser-session.mjs +1 -1
- package/dist/{chunk-JQWYIIIS.mjs → chunk-MDUHPQMM.mjs} +4 -1
- package/dist/{chunk-73R6BEGO.mjs → chunk-ZESHDJDU.mjs} +1 -1
- package/dist/{client-CggvJmmm.d.ts → client-DXbHb2ul.d.ts} +1 -1
- package/dist/{client-C1DXfB8Z.d.mts → client-Dv4v92Mj.d.mts} +1 -1
- package/dist/{express-BKAXB5Nl.d.ts → express-B4o3P8vK.d.ts} +1 -1
- package/dist/{express-CpfyYTmw.d.mts → express-BZmF1llh.d.mts} +1 -1
- package/dist/express.d.mts +3 -3
- package/dist/express.d.ts +3 -3
- package/dist/express.js +4 -1
- package/dist/express.mjs +2 -2
- package/dist/fastify.d.mts +6 -0
- package/dist/fastify.d.ts +6 -0
- package/dist/fastify.js +21 -3
- package/dist/fastify.mjs +18 -3
- package/dist/hono.js +4 -1
- package/dist/hono.mjs +1 -1
- package/dist/index.d.mts +2 -2
- package/dist/index.d.ts +2 -2
- package/dist/index.js +4 -1
- package/dist/index.mjs +2 -2
- package/dist/mobile.d.mts +1 -1
- package/dist/mobile.d.ts +1 -1
- package/dist/mobile.js +4 -1
- package/dist/mobile.mjs +1 -1
- package/dist/next.js +4 -1
- package/dist/next.mjs +1 -1
- package/dist/react.d.mts +7 -0
- package/dist/react.d.ts +7 -0
- package/dist/react.js +147 -33
- package/dist/react.mjs +147 -33
- package/dist/server.d.mts +2 -2
- package/dist/server.d.ts +2 -2
- package/dist/server.js +4 -1
- package/dist/server.mjs +2 -2
- package/dist/service.d.mts +1 -1
- package/dist/service.d.ts +1 -1
- package/dist/service.js +4 -1
- package/dist/service.mjs +1 -1
- package/package.json +1 -1
package/dist/react.js
CHANGED
|
@@ -950,29 +950,147 @@ function useIQAuthSignInContext(iqAuthBaseUrl, appKey, returnTo) {
|
|
|
950
950
|
}, [iqAuthBaseUrl, appKey, returnTo]);
|
|
951
951
|
return { ctx, loading, error };
|
|
952
952
|
}
|
|
953
|
+
var SHELL_CSS = `
|
|
954
|
+
.iqauth-sdk-shell {
|
|
955
|
+
min-height: 100vh;
|
|
956
|
+
display: grid;
|
|
957
|
+
grid-template-columns: 1fr;
|
|
958
|
+
background: var(--brand-bg, #f7f7f6);
|
|
959
|
+
color: var(--brand-text, #0f172a);
|
|
960
|
+
}
|
|
961
|
+
.iqauth-sdk-hero { display: none; }
|
|
962
|
+
.iqauth-sdk-pane {
|
|
963
|
+
display: flex; flex-direction: column; align-items: center; justify-content: center;
|
|
964
|
+
padding: 40px 16px; min-height: 100vh;
|
|
965
|
+
}
|
|
966
|
+
.iqauth-sdk-card {
|
|
967
|
+
width: 100%; max-width: 420px;
|
|
968
|
+
background: var(--brand-surface, #ffffff);
|
|
969
|
+
border: 1px solid rgba(15,23,42,0.08);
|
|
970
|
+
border-radius: 14px;
|
|
971
|
+
box-shadow: 0 1px 2px rgba(0,0,0,0.04), 0 8px 24px rgba(15,23,42,0.04);
|
|
972
|
+
overflow: hidden;
|
|
973
|
+
}
|
|
974
|
+
.iqauth-sdk-card-header { padding: 28px 28px 0; }
|
|
975
|
+
.iqauth-sdk-card-header h1 { font-size: 22px; font-weight: 600; margin: 0; line-height: 1.2; }
|
|
976
|
+
.iqauth-sdk-card-header p { margin: 8px 0 0; font-size: 14px; color: rgba(15,23,42,0.65); line-height: 1.5; }
|
|
977
|
+
.iqauth-sdk-card-body { padding: 28px 28px 24px; display: flex; flex-direction: column; gap: 18px; }
|
|
978
|
+
.iqauth-sdk-mobile-brand { display: flex; align-items: center; gap: 10px; margin-bottom: 20px; }
|
|
979
|
+
.iqauth-sdk-mobile-brand img { height: 36px; width: auto; }
|
|
980
|
+
.iqauth-sdk-mobile-brand span { font-size: 16px; font-weight: 600; }
|
|
981
|
+
.iqauth-sdk-footer { margin-top: 20px; text-align: center; font-size: 13px; color: rgba(15,23,42,0.55); display: flex; flex-direction: column; gap: 8px; align-items: center; }
|
|
982
|
+
.iqauth-sdk-footer-links { display: flex; gap: 14px; flex-wrap: wrap; justify-content: center; }
|
|
983
|
+
.iqauth-sdk-footer-links a { color: inherit; opacity: 0.75; text-decoration: none; }
|
|
984
|
+
.iqauth-sdk-footer-links a:hover { opacity: 1; text-decoration: underline; }
|
|
985
|
+
.iqauth-sdk-divider { display: flex; align-items: center; gap: 10px; font-size: 12px; color: rgba(15,23,42,0.45); text-transform: uppercase; letter-spacing: 0.08em; }
|
|
986
|
+
.iqauth-sdk-divider::before, .iqauth-sdk-divider::after { content: ""; flex: 1; height: 1px; background: rgba(15,23,42,0.1); }
|
|
987
|
+
.iqauth-sdk-google-btn {
|
|
988
|
+
display: inline-flex; align-items: center; justify-content: center; gap: 10px;
|
|
989
|
+
width: 100%; padding: 10px 16px; border-radius: 8px;
|
|
990
|
+
background: #fff; color: #0f172a;
|
|
991
|
+
border: 1px solid rgba(15,23,42,0.18);
|
|
992
|
+
font-size: 14px; font-weight: 500; cursor: pointer;
|
|
993
|
+
transition: background 120ms ease, border-color 120ms ease;
|
|
994
|
+
}
|
|
995
|
+
.iqauth-sdk-google-btn:hover { background: #f8fafc; border-color: rgba(15,23,42,0.28); }
|
|
996
|
+
.iqauth-sdk-google-btn[disabled] { opacity: 0.6; cursor: not-allowed; }
|
|
997
|
+
|
|
998
|
+
@media (min-width: 900px) {
|
|
999
|
+
.iqauth-sdk-shell { grid-template-columns: minmax(0, 5fr) minmax(0, 6fr); }
|
|
1000
|
+
.iqauth-sdk-hero {
|
|
1001
|
+
display: flex; flex-direction: column; justify-content: space-between;
|
|
1002
|
+
padding: 48px 56px; color: #ffffff;
|
|
1003
|
+
background: linear-gradient(135deg, var(--brand-primary, #3b82f6) 0%, var(--brand-accent, #6366f1) 100%);
|
|
1004
|
+
background-size: cover; background-position: center;
|
|
1005
|
+
position: relative; overflow: hidden; min-height: 100vh;
|
|
1006
|
+
}
|
|
1007
|
+
.iqauth-sdk-hero[data-bg-image="true"] {
|
|
1008
|
+
background-image: var(--iqauth-sdk-hero-image), linear-gradient(135deg, var(--brand-primary, #3b82f6), var(--brand-accent, #6366f1));
|
|
1009
|
+
background-blend-mode: multiply;
|
|
1010
|
+
}
|
|
1011
|
+
.iqauth-sdk-hero-brand img { height: 44px; width: auto; filter: brightness(0) invert(1); opacity: 0.96; }
|
|
1012
|
+
.iqauth-sdk-hero-brand .iqauth-sdk-hero-name { font-size: 22px; font-weight: 600; letter-spacing: -0.01em; }
|
|
1013
|
+
.iqauth-sdk-hero-content h2 { font-size: 34px; font-weight: 600; line-height: 1.15; margin: 0 0 14px; letter-spacing: -0.015em; }
|
|
1014
|
+
.iqauth-sdk-hero-content p { font-size: 15px; line-height: 1.6; opacity: 0.92; margin: 0; max-width: 460px; white-space: pre-wrap; }
|
|
1015
|
+
.iqauth-sdk-hero-foot { font-size: 12px; opacity: 0.7; }
|
|
1016
|
+
.iqauth-sdk-mobile-brand { display: none; }
|
|
1017
|
+
}
|
|
1018
|
+
`;
|
|
1019
|
+
var sdkShellStylesInjected = false;
|
|
1020
|
+
function ensureSdkShellStyles() {
|
|
1021
|
+
if (typeof document === "undefined" || sdkShellStylesInjected) return;
|
|
1022
|
+
const tag = document.createElement("style");
|
|
1023
|
+
tag.setAttribute("data-iqauth-sdk-shell", "");
|
|
1024
|
+
tag.textContent = SHELL_CSS;
|
|
1025
|
+
document.head.appendChild(tag);
|
|
1026
|
+
sdkShellStylesInjected = true;
|
|
1027
|
+
}
|
|
1028
|
+
function useDocumentBranding(branding, fallbackTitle) {
|
|
1029
|
+
(0, import_react.useEffect)(() => {
|
|
1030
|
+
if (typeof document === "undefined") return;
|
|
1031
|
+
const prevTitle = document.title;
|
|
1032
|
+
const brandName = branding?.brandName || "IQAuth";
|
|
1033
|
+
document.title = `${fallbackTitle} \xB7 ${brandName}`;
|
|
1034
|
+
let linkEl = null;
|
|
1035
|
+
let prevHref = null;
|
|
1036
|
+
if (branding?.faviconUrl) {
|
|
1037
|
+
linkEl = document.querySelector("link[rel='icon']");
|
|
1038
|
+
if (!linkEl) {
|
|
1039
|
+
linkEl = document.createElement("link");
|
|
1040
|
+
linkEl.rel = "icon";
|
|
1041
|
+
document.head.appendChild(linkEl);
|
|
1042
|
+
} else {
|
|
1043
|
+
prevHref = linkEl.href;
|
|
1044
|
+
}
|
|
1045
|
+
linkEl.href = branding.faviconUrl;
|
|
1046
|
+
}
|
|
1047
|
+
return () => {
|
|
1048
|
+
document.title = prevTitle;
|
|
1049
|
+
if (linkEl && prevHref !== null) linkEl.href = prevHref;
|
|
1050
|
+
};
|
|
1051
|
+
}, [branding?.brandName, branding?.faviconUrl, fallbackTitle]);
|
|
1052
|
+
}
|
|
953
1053
|
function Shell({
|
|
954
1054
|
branding,
|
|
955
1055
|
className,
|
|
956
|
-
children
|
|
1056
|
+
children,
|
|
1057
|
+
title,
|
|
1058
|
+
subtitle
|
|
957
1059
|
}) {
|
|
958
|
-
|
|
959
|
-
|
|
960
|
-
|
|
961
|
-
|
|
962
|
-
|
|
963
|
-
|
|
964
|
-
|
|
965
|
-
|
|
966
|
-
|
|
967
|
-
|
|
968
|
-
|
|
969
|
-
},
|
|
970
|
-
children: [
|
|
971
|
-
|
|
972
|
-
children
|
|
973
|
-
]
|
|
974
|
-
|
|
975
|
-
|
|
1060
|
+
ensureSdkShellStyles();
|
|
1061
|
+
useDocumentBranding(branding, title || "Sign in");
|
|
1062
|
+
const brandVars = brandStyle(branding);
|
|
1063
|
+
const brandName = branding?.brandName || "IQAuth";
|
|
1064
|
+
const heroImage = branding?.heroImageUrl || null;
|
|
1065
|
+
const heroStyle = heroImage ? { ["--iqauth-sdk-hero-image"]: `url("${heroImage.replace(/"/g, '\\"')}")` } : {};
|
|
1066
|
+
const supportLink = branding?.supportUrl ? branding.supportUrl : branding?.supportEmail ? `mailto:${branding.supportEmail}` : null;
|
|
1067
|
+
const hasFooterLinks = !!(branding?.termsUrl || branding?.privacyUrl || supportLink);
|
|
1068
|
+
return /* @__PURE__ */ (0, import_jsx_runtime.jsxs)("div", { className: `iqauth-sdk-shell${className ? ` ${className}` : ""}`, style: brandVars, "data-iqauth-shell": "", children: [
|
|
1069
|
+
branding?.customCss ? /* @__PURE__ */ (0, import_jsx_runtime.jsx)("style", { "data-iqauth-sdk-custom": true, children: branding.customCss }) : null,
|
|
1070
|
+
/* @__PURE__ */ (0, import_jsx_runtime.jsxs)("aside", { className: "iqauth-sdk-hero", "data-bg-image": heroImage ? "true" : "false", style: heroStyle, "aria-hidden": "true", children: [
|
|
1071
|
+
/* @__PURE__ */ (0, import_jsx_runtime.jsx)("div", { className: "iqauth-sdk-hero-brand", style: { display: "flex", alignItems: "center", gap: 12 }, children: branding?.logoUrl ? /* @__PURE__ */ (0, import_jsx_runtime.jsx)("img", { src: branding.logoUrl, alt: "" }) : /* @__PURE__ */ (0, import_jsx_runtime.jsx)("span", { className: "iqauth-sdk-hero-name", children: brandName }) }),
|
|
1072
|
+
/* @__PURE__ */ (0, import_jsx_runtime.jsxs)("div", { className: "iqauth-sdk-hero-content", children: [
|
|
1073
|
+
/* @__PURE__ */ (0, import_jsx_runtime.jsx)("h2", { children: branding?.tagline || `Welcome to ${brandName}` }),
|
|
1074
|
+
/* @__PURE__ */ (0, import_jsx_runtime.jsx)("p", { children: branding?.loginSideCopy || branding?.loginSubheadline || `Sign in to continue to your ${brandName} workspace.` })
|
|
1075
|
+
] }),
|
|
1076
|
+
/* @__PURE__ */ (0, import_jsx_runtime.jsx)("div", { className: "iqauth-sdk-hero-foot", children: `\xA9 ${(/* @__PURE__ */ new Date()).getFullYear()} ${brandName}` })
|
|
1077
|
+
] }),
|
|
1078
|
+
/* @__PURE__ */ (0, import_jsx_runtime.jsx)("div", { className: "iqauth-sdk-pane", children: /* @__PURE__ */ (0, import_jsx_runtime.jsxs)("main", { style: { width: "100%", maxWidth: 420 }, children: [
|
|
1079
|
+
/* @__PURE__ */ (0, import_jsx_runtime.jsx)("div", { className: "iqauth-sdk-mobile-brand", children: branding?.logoUrl ? /* @__PURE__ */ (0, import_jsx_runtime.jsx)("img", { src: branding.logoUrl, alt: `${brandName} logo` }) : /* @__PURE__ */ (0, import_jsx_runtime.jsx)("span", { children: brandName }) }),
|
|
1080
|
+
/* @__PURE__ */ (0, import_jsx_runtime.jsxs)("section", { className: "iqauth-sdk-card", children: [
|
|
1081
|
+
title || subtitle ? /* @__PURE__ */ (0, import_jsx_runtime.jsxs)("div", { className: "iqauth-sdk-card-header", children: [
|
|
1082
|
+
title ? /* @__PURE__ */ (0, import_jsx_runtime.jsx)("h1", { children: title }) : null,
|
|
1083
|
+
subtitle ? /* @__PURE__ */ (0, import_jsx_runtime.jsx)("p", { children: subtitle }) : null
|
|
1084
|
+
] }) : null,
|
|
1085
|
+
/* @__PURE__ */ (0, import_jsx_runtime.jsx)("div", { className: "iqauth-sdk-card-body", children })
|
|
1086
|
+
] }),
|
|
1087
|
+
hasFooterLinks ? /* @__PURE__ */ (0, import_jsx_runtime.jsx)("footer", { className: "iqauth-sdk-footer", children: /* @__PURE__ */ (0, import_jsx_runtime.jsxs)("div", { className: "iqauth-sdk-footer-links", children: [
|
|
1088
|
+
branding?.termsUrl ? /* @__PURE__ */ (0, import_jsx_runtime.jsx)("a", { href: branding.termsUrl, target: "_blank", rel: "noreferrer noopener", children: "Terms" }) : null,
|
|
1089
|
+
branding?.privacyUrl ? /* @__PURE__ */ (0, import_jsx_runtime.jsx)("a", { href: branding.privacyUrl, target: "_blank", rel: "noreferrer noopener", children: "Privacy" }) : null,
|
|
1090
|
+
supportLink ? /* @__PURE__ */ (0, import_jsx_runtime.jsx)("a", { href: supportLink, target: "_blank", rel: "noreferrer noopener", children: "Support" }) : null
|
|
1091
|
+
] }) }) : null
|
|
1092
|
+
] }) })
|
|
1093
|
+
] });
|
|
976
1094
|
}
|
|
977
1095
|
function Field({ label, children }) {
|
|
978
1096
|
return /* @__PURE__ */ (0, import_jsx_runtime.jsxs)("label", { style: { display: "flex", flexDirection: "column", gap: 6, fontSize: 13 }, children: [
|
|
@@ -1174,13 +1292,13 @@ function SignIn({ iqAuthBaseUrl, appKey, returnTo, onRedirect, className }) {
|
|
|
1174
1292
|
setOauthExchanging(false);
|
|
1175
1293
|
})();
|
|
1176
1294
|
}, [ctx?.app.defaultClientId]);
|
|
1177
|
-
if (loading || oauthExchanging) return /* @__PURE__ */ (0, import_jsx_runtime.jsx)(Shell, { branding: ctx?.branding || null, className, children: /* @__PURE__ */ (0, import_jsx_runtime.jsx)("p", { children: oauthExchanging ? "Completing sign-in\u2026" : "Loading\u2026" }) });
|
|
1178
|
-
if (error || !ctx) return /* @__PURE__ */ (0, import_jsx_runtime.jsx)(Shell, { branding: null, className, children: /* @__PURE__ */ (0, import_jsx_runtime.jsx)(ErrorBanner, { message: error || "Failed to load app context" }) });
|
|
1179
|
-
if (!ctx.returnAllowed) return /* @__PURE__ */ (0, import_jsx_runtime.jsx)(Shell, { branding: ctx.branding, className, children: /* @__PURE__ */ (0, import_jsx_runtime.jsx)(ErrorBanner, { message: `returnTo "${returnTo}" is not in this app's allowed origins.` }) });
|
|
1180
|
-
|
|
1181
|
-
|
|
1182
|
-
|
|
1183
|
-
formError ? /* @__PURE__ */ (0, import_jsx_runtime.jsx)(
|
|
1295
|
+
if (loading || oauthExchanging) return /* @__PURE__ */ (0, import_jsx_runtime.jsx)(Shell, { branding: ctx?.branding || null, className, title: oauthExchanging ? "Completing sign-in\u2026" : "Loading\u2026", children: /* @__PURE__ */ (0, import_jsx_runtime.jsx)("p", { children: oauthExchanging ? "Completing sign-in\u2026" : "Loading\u2026" }) });
|
|
1296
|
+
if (error || !ctx) return /* @__PURE__ */ (0, import_jsx_runtime.jsx)(Shell, { branding: null, className, title: "Application unavailable", children: /* @__PURE__ */ (0, import_jsx_runtime.jsx)(ErrorBanner, { message: error || "Failed to load app context" }) });
|
|
1297
|
+
if (!ctx.returnAllowed) return /* @__PURE__ */ (0, import_jsx_runtime.jsx)(Shell, { branding: ctx.branding, className, title: "Invalid redirect", children: /* @__PURE__ */ (0, import_jsx_runtime.jsx)(ErrorBanner, { message: `returnTo "${returnTo}" is not in this app's allowed origins.` }) });
|
|
1298
|
+
const cardTitle = ctx.branding?.loginHeadline || `Sign in to ${ctx.app.name}`;
|
|
1299
|
+
const cardSubtitle = ctx.branding?.loginSubheadline || void 0;
|
|
1300
|
+
return /* @__PURE__ */ (0, import_jsx_runtime.jsxs)(Shell, { branding: ctx.branding, className, title: cardTitle, subtitle: cardSubtitle, children: [
|
|
1301
|
+
formError ? /* @__PURE__ */ (0, import_jsx_runtime.jsx)(ErrorBanner, { message: formError }) : null,
|
|
1184
1302
|
tenantSel ? /* @__PURE__ */ (0, import_jsx_runtime.jsx)("div", { role: "radiogroup", "aria-label": "Choose tenant", style: { display: "flex", flexDirection: "column", gap: 8 }, children: tenantSel.tenants.map((t) => /* @__PURE__ */ (0, import_jsx_runtime.jsxs)(
|
|
1185
1303
|
"button",
|
|
1186
1304
|
{
|
|
@@ -1210,20 +1328,16 @@ function SignIn({ iqAuthBaseUrl, appKey, returnTo, onRedirect, className }) {
|
|
|
1210
1328
|
/* @__PURE__ */ (0, import_jsx_runtime.jsx)(GhostButton, { type: "button", onClick: () => setMfa({ ...mfa, backup: !mfa.backup, code: "" }), children: mfa.backup ? "Use verification code" : "Use backup code" })
|
|
1211
1329
|
] }) : /* @__PURE__ */ (0, import_jsx_runtime.jsxs)("div", { style: { display: "flex", flexDirection: "column", gap: 12 }, children: [
|
|
1212
1330
|
ctx.providers?.google ? /* @__PURE__ */ (0, import_jsx_runtime.jsxs)(import_jsx_runtime.Fragment, { children: [
|
|
1213
|
-
/* @__PURE__ */ (0, import_jsx_runtime.jsxs)(
|
|
1331
|
+
/* @__PURE__ */ (0, import_jsx_runtime.jsxs)("button", { type: "button", className: "iqauth-sdk-google-btn", onClick: startGoogleLogin, disabled: submitting, "aria-label": ctx.branding?.googleButtonLabel || "Continue with Google", children: [
|
|
1214
1332
|
/* @__PURE__ */ (0, import_jsx_runtime.jsxs)("svg", { width: "18", height: "18", viewBox: "0 0 18 18", "aria-hidden": "true", children: [
|
|
1215
1333
|
/* @__PURE__ */ (0, import_jsx_runtime.jsx)("path", { fill: "#4285F4", d: "M17.64 9.2c0-.64-.06-1.25-.17-1.84H9v3.48h4.84a4.14 4.14 0 0 1-1.8 2.71v2.26h2.92a8.78 8.78 0 0 0 2.68-6.61z" }),
|
|
1216
1334
|
/* @__PURE__ */ (0, import_jsx_runtime.jsx)("path", { fill: "#34A853", d: "M9 18c2.43 0 4.47-.81 5.96-2.18l-2.92-2.26a5.4 5.4 0 0 1-8.04-2.83H.96v2.33A9 9 0 0 0 9 18z" }),
|
|
1217
1335
|
/* @__PURE__ */ (0, import_jsx_runtime.jsx)("path", { fill: "#FBBC05", d: "M3.96 10.71A5.41 5.41 0 0 1 3.68 9c0-.59.1-1.17.29-1.71V4.96H.96a9 9 0 0 0 0 8.08l3-2.33z" }),
|
|
1218
1336
|
/* @__PURE__ */ (0, import_jsx_runtime.jsx)("path", { fill: "#EA4335", d: "M9 3.58c1.32 0 2.5.45 3.44 1.35l2.58-2.59A9 9 0 0 0 .96 4.96l3 2.33A5.4 5.4 0 0 1 9 3.58z" })
|
|
1219
1337
|
] }),
|
|
1220
|
-
"Continue with Google"
|
|
1338
|
+
ctx.branding?.googleButtonLabel || "Continue with Google"
|
|
1221
1339
|
] }),
|
|
1222
|
-
/* @__PURE__ */ (0, import_jsx_runtime.
|
|
1223
|
-
/* @__PURE__ */ (0, import_jsx_runtime.jsx)("span", { style: { flex: 1, height: 1, background: "rgba(15,23,42,0.12)" } }),
|
|
1224
|
-
"OR",
|
|
1225
|
-
/* @__PURE__ */ (0, import_jsx_runtime.jsx)("span", { style: { flex: 1, height: 1, background: "rgba(15,23,42,0.12)" } })
|
|
1226
|
-
] })
|
|
1340
|
+
/* @__PURE__ */ (0, import_jsx_runtime.jsx)("div", { role: "separator", "aria-label": "or", className: "iqauth-sdk-divider", children: "OR" })
|
|
1227
1341
|
] }) : null,
|
|
1228
1342
|
/* @__PURE__ */ (0, import_jsx_runtime.jsxs)("form", { onSubmit: submitLogin, style: { display: "flex", flexDirection: "column", gap: 12 }, "aria-label": `Sign in to ${ctx.app.name}`, children: [
|
|
1229
1343
|
/* @__PURE__ */ (0, import_jsx_runtime.jsx)(Field, { label: "Email", children: /* @__PURE__ */ (0, import_jsx_runtime.jsx)("input", { style: inputStyle(), type: "email", autoComplete: "email", required: true, value: email, onChange: (e) => setEmail(e.target.value) }) }),
|
package/dist/react.mjs
CHANGED
|
@@ -251,29 +251,147 @@ function useIQAuthSignInContext(iqAuthBaseUrl, appKey, returnTo) {
|
|
|
251
251
|
}, [iqAuthBaseUrl, appKey, returnTo]);
|
|
252
252
|
return { ctx, loading, error };
|
|
253
253
|
}
|
|
254
|
+
var SHELL_CSS = `
|
|
255
|
+
.iqauth-sdk-shell {
|
|
256
|
+
min-height: 100vh;
|
|
257
|
+
display: grid;
|
|
258
|
+
grid-template-columns: 1fr;
|
|
259
|
+
background: var(--brand-bg, #f7f7f6);
|
|
260
|
+
color: var(--brand-text, #0f172a);
|
|
261
|
+
}
|
|
262
|
+
.iqauth-sdk-hero { display: none; }
|
|
263
|
+
.iqauth-sdk-pane {
|
|
264
|
+
display: flex; flex-direction: column; align-items: center; justify-content: center;
|
|
265
|
+
padding: 40px 16px; min-height: 100vh;
|
|
266
|
+
}
|
|
267
|
+
.iqauth-sdk-card {
|
|
268
|
+
width: 100%; max-width: 420px;
|
|
269
|
+
background: var(--brand-surface, #ffffff);
|
|
270
|
+
border: 1px solid rgba(15,23,42,0.08);
|
|
271
|
+
border-radius: 14px;
|
|
272
|
+
box-shadow: 0 1px 2px rgba(0,0,0,0.04), 0 8px 24px rgba(15,23,42,0.04);
|
|
273
|
+
overflow: hidden;
|
|
274
|
+
}
|
|
275
|
+
.iqauth-sdk-card-header { padding: 28px 28px 0; }
|
|
276
|
+
.iqauth-sdk-card-header h1 { font-size: 22px; font-weight: 600; margin: 0; line-height: 1.2; }
|
|
277
|
+
.iqauth-sdk-card-header p { margin: 8px 0 0; font-size: 14px; color: rgba(15,23,42,0.65); line-height: 1.5; }
|
|
278
|
+
.iqauth-sdk-card-body { padding: 28px 28px 24px; display: flex; flex-direction: column; gap: 18px; }
|
|
279
|
+
.iqauth-sdk-mobile-brand { display: flex; align-items: center; gap: 10px; margin-bottom: 20px; }
|
|
280
|
+
.iqauth-sdk-mobile-brand img { height: 36px; width: auto; }
|
|
281
|
+
.iqauth-sdk-mobile-brand span { font-size: 16px; font-weight: 600; }
|
|
282
|
+
.iqauth-sdk-footer { margin-top: 20px; text-align: center; font-size: 13px; color: rgba(15,23,42,0.55); display: flex; flex-direction: column; gap: 8px; align-items: center; }
|
|
283
|
+
.iqauth-sdk-footer-links { display: flex; gap: 14px; flex-wrap: wrap; justify-content: center; }
|
|
284
|
+
.iqauth-sdk-footer-links a { color: inherit; opacity: 0.75; text-decoration: none; }
|
|
285
|
+
.iqauth-sdk-footer-links a:hover { opacity: 1; text-decoration: underline; }
|
|
286
|
+
.iqauth-sdk-divider { display: flex; align-items: center; gap: 10px; font-size: 12px; color: rgba(15,23,42,0.45); text-transform: uppercase; letter-spacing: 0.08em; }
|
|
287
|
+
.iqauth-sdk-divider::before, .iqauth-sdk-divider::after { content: ""; flex: 1; height: 1px; background: rgba(15,23,42,0.1); }
|
|
288
|
+
.iqauth-sdk-google-btn {
|
|
289
|
+
display: inline-flex; align-items: center; justify-content: center; gap: 10px;
|
|
290
|
+
width: 100%; padding: 10px 16px; border-radius: 8px;
|
|
291
|
+
background: #fff; color: #0f172a;
|
|
292
|
+
border: 1px solid rgba(15,23,42,0.18);
|
|
293
|
+
font-size: 14px; font-weight: 500; cursor: pointer;
|
|
294
|
+
transition: background 120ms ease, border-color 120ms ease;
|
|
295
|
+
}
|
|
296
|
+
.iqauth-sdk-google-btn:hover { background: #f8fafc; border-color: rgba(15,23,42,0.28); }
|
|
297
|
+
.iqauth-sdk-google-btn[disabled] { opacity: 0.6; cursor: not-allowed; }
|
|
298
|
+
|
|
299
|
+
@media (min-width: 900px) {
|
|
300
|
+
.iqauth-sdk-shell { grid-template-columns: minmax(0, 5fr) minmax(0, 6fr); }
|
|
301
|
+
.iqauth-sdk-hero {
|
|
302
|
+
display: flex; flex-direction: column; justify-content: space-between;
|
|
303
|
+
padding: 48px 56px; color: #ffffff;
|
|
304
|
+
background: linear-gradient(135deg, var(--brand-primary, #3b82f6) 0%, var(--brand-accent, #6366f1) 100%);
|
|
305
|
+
background-size: cover; background-position: center;
|
|
306
|
+
position: relative; overflow: hidden; min-height: 100vh;
|
|
307
|
+
}
|
|
308
|
+
.iqauth-sdk-hero[data-bg-image="true"] {
|
|
309
|
+
background-image: var(--iqauth-sdk-hero-image), linear-gradient(135deg, var(--brand-primary, #3b82f6), var(--brand-accent, #6366f1));
|
|
310
|
+
background-blend-mode: multiply;
|
|
311
|
+
}
|
|
312
|
+
.iqauth-sdk-hero-brand img { height: 44px; width: auto; filter: brightness(0) invert(1); opacity: 0.96; }
|
|
313
|
+
.iqauth-sdk-hero-brand .iqauth-sdk-hero-name { font-size: 22px; font-weight: 600; letter-spacing: -0.01em; }
|
|
314
|
+
.iqauth-sdk-hero-content h2 { font-size: 34px; font-weight: 600; line-height: 1.15; margin: 0 0 14px; letter-spacing: -0.015em; }
|
|
315
|
+
.iqauth-sdk-hero-content p { font-size: 15px; line-height: 1.6; opacity: 0.92; margin: 0; max-width: 460px; white-space: pre-wrap; }
|
|
316
|
+
.iqauth-sdk-hero-foot { font-size: 12px; opacity: 0.7; }
|
|
317
|
+
.iqauth-sdk-mobile-brand { display: none; }
|
|
318
|
+
}
|
|
319
|
+
`;
|
|
320
|
+
var sdkShellStylesInjected = false;
|
|
321
|
+
function ensureSdkShellStyles() {
|
|
322
|
+
if (typeof document === "undefined" || sdkShellStylesInjected) return;
|
|
323
|
+
const tag = document.createElement("style");
|
|
324
|
+
tag.setAttribute("data-iqauth-sdk-shell", "");
|
|
325
|
+
tag.textContent = SHELL_CSS;
|
|
326
|
+
document.head.appendChild(tag);
|
|
327
|
+
sdkShellStylesInjected = true;
|
|
328
|
+
}
|
|
329
|
+
function useDocumentBranding(branding, fallbackTitle) {
|
|
330
|
+
useEffect(() => {
|
|
331
|
+
if (typeof document === "undefined") return;
|
|
332
|
+
const prevTitle = document.title;
|
|
333
|
+
const brandName = branding?.brandName || "IQAuth";
|
|
334
|
+
document.title = `${fallbackTitle} \xB7 ${brandName}`;
|
|
335
|
+
let linkEl = null;
|
|
336
|
+
let prevHref = null;
|
|
337
|
+
if (branding?.faviconUrl) {
|
|
338
|
+
linkEl = document.querySelector("link[rel='icon']");
|
|
339
|
+
if (!linkEl) {
|
|
340
|
+
linkEl = document.createElement("link");
|
|
341
|
+
linkEl.rel = "icon";
|
|
342
|
+
document.head.appendChild(linkEl);
|
|
343
|
+
} else {
|
|
344
|
+
prevHref = linkEl.href;
|
|
345
|
+
}
|
|
346
|
+
linkEl.href = branding.faviconUrl;
|
|
347
|
+
}
|
|
348
|
+
return () => {
|
|
349
|
+
document.title = prevTitle;
|
|
350
|
+
if (linkEl && prevHref !== null) linkEl.href = prevHref;
|
|
351
|
+
};
|
|
352
|
+
}, [branding?.brandName, branding?.faviconUrl, fallbackTitle]);
|
|
353
|
+
}
|
|
254
354
|
function Shell({
|
|
255
355
|
branding,
|
|
256
356
|
className,
|
|
257
|
-
children
|
|
357
|
+
children,
|
|
358
|
+
title,
|
|
359
|
+
subtitle
|
|
258
360
|
}) {
|
|
259
|
-
|
|
260
|
-
|
|
261
|
-
|
|
262
|
-
|
|
263
|
-
|
|
264
|
-
|
|
265
|
-
|
|
266
|
-
|
|
267
|
-
|
|
268
|
-
|
|
269
|
-
|
|
270
|
-
},
|
|
271
|
-
children: [
|
|
272
|
-
|
|
273
|
-
children
|
|
274
|
-
]
|
|
275
|
-
|
|
276
|
-
|
|
361
|
+
ensureSdkShellStyles();
|
|
362
|
+
useDocumentBranding(branding, title || "Sign in");
|
|
363
|
+
const brandVars = brandStyle(branding);
|
|
364
|
+
const brandName = branding?.brandName || "IQAuth";
|
|
365
|
+
const heroImage = branding?.heroImageUrl || null;
|
|
366
|
+
const heroStyle = heroImage ? { ["--iqauth-sdk-hero-image"]: `url("${heroImage.replace(/"/g, '\\"')}")` } : {};
|
|
367
|
+
const supportLink = branding?.supportUrl ? branding.supportUrl : branding?.supportEmail ? `mailto:${branding.supportEmail}` : null;
|
|
368
|
+
const hasFooterLinks = !!(branding?.termsUrl || branding?.privacyUrl || supportLink);
|
|
369
|
+
return /* @__PURE__ */ jsxs("div", { className: `iqauth-sdk-shell${className ? ` ${className}` : ""}`, style: brandVars, "data-iqauth-shell": "", children: [
|
|
370
|
+
branding?.customCss ? /* @__PURE__ */ jsx("style", { "data-iqauth-sdk-custom": true, children: branding.customCss }) : null,
|
|
371
|
+
/* @__PURE__ */ jsxs("aside", { className: "iqauth-sdk-hero", "data-bg-image": heroImage ? "true" : "false", style: heroStyle, "aria-hidden": "true", children: [
|
|
372
|
+
/* @__PURE__ */ jsx("div", { className: "iqauth-sdk-hero-brand", style: { display: "flex", alignItems: "center", gap: 12 }, children: branding?.logoUrl ? /* @__PURE__ */ jsx("img", { src: branding.logoUrl, alt: "" }) : /* @__PURE__ */ jsx("span", { className: "iqauth-sdk-hero-name", children: brandName }) }),
|
|
373
|
+
/* @__PURE__ */ jsxs("div", { className: "iqauth-sdk-hero-content", children: [
|
|
374
|
+
/* @__PURE__ */ jsx("h2", { children: branding?.tagline || `Welcome to ${brandName}` }),
|
|
375
|
+
/* @__PURE__ */ jsx("p", { children: branding?.loginSideCopy || branding?.loginSubheadline || `Sign in to continue to your ${brandName} workspace.` })
|
|
376
|
+
] }),
|
|
377
|
+
/* @__PURE__ */ jsx("div", { className: "iqauth-sdk-hero-foot", children: `\xA9 ${(/* @__PURE__ */ new Date()).getFullYear()} ${brandName}` })
|
|
378
|
+
] }),
|
|
379
|
+
/* @__PURE__ */ jsx("div", { className: "iqauth-sdk-pane", children: /* @__PURE__ */ jsxs("main", { style: { width: "100%", maxWidth: 420 }, children: [
|
|
380
|
+
/* @__PURE__ */ jsx("div", { className: "iqauth-sdk-mobile-brand", children: branding?.logoUrl ? /* @__PURE__ */ jsx("img", { src: branding.logoUrl, alt: `${brandName} logo` }) : /* @__PURE__ */ jsx("span", { children: brandName }) }),
|
|
381
|
+
/* @__PURE__ */ jsxs("section", { className: "iqauth-sdk-card", children: [
|
|
382
|
+
title || subtitle ? /* @__PURE__ */ jsxs("div", { className: "iqauth-sdk-card-header", children: [
|
|
383
|
+
title ? /* @__PURE__ */ jsx("h1", { children: title }) : null,
|
|
384
|
+
subtitle ? /* @__PURE__ */ jsx("p", { children: subtitle }) : null
|
|
385
|
+
] }) : null,
|
|
386
|
+
/* @__PURE__ */ jsx("div", { className: "iqauth-sdk-card-body", children })
|
|
387
|
+
] }),
|
|
388
|
+
hasFooterLinks ? /* @__PURE__ */ jsx("footer", { className: "iqauth-sdk-footer", children: /* @__PURE__ */ jsxs("div", { className: "iqauth-sdk-footer-links", children: [
|
|
389
|
+
branding?.termsUrl ? /* @__PURE__ */ jsx("a", { href: branding.termsUrl, target: "_blank", rel: "noreferrer noopener", children: "Terms" }) : null,
|
|
390
|
+
branding?.privacyUrl ? /* @__PURE__ */ jsx("a", { href: branding.privacyUrl, target: "_blank", rel: "noreferrer noopener", children: "Privacy" }) : null,
|
|
391
|
+
supportLink ? /* @__PURE__ */ jsx("a", { href: supportLink, target: "_blank", rel: "noreferrer noopener", children: "Support" }) : null
|
|
392
|
+
] }) }) : null
|
|
393
|
+
] }) })
|
|
394
|
+
] });
|
|
277
395
|
}
|
|
278
396
|
function Field({ label, children }) {
|
|
279
397
|
return /* @__PURE__ */ jsxs("label", { style: { display: "flex", flexDirection: "column", gap: 6, fontSize: 13 }, children: [
|
|
@@ -475,13 +593,13 @@ function SignIn({ iqAuthBaseUrl, appKey, returnTo, onRedirect, className }) {
|
|
|
475
593
|
setOauthExchanging(false);
|
|
476
594
|
})();
|
|
477
595
|
}, [ctx?.app.defaultClientId]);
|
|
478
|
-
if (loading || oauthExchanging) return /* @__PURE__ */ jsx(Shell, { branding: ctx?.branding || null, className, children: /* @__PURE__ */ jsx("p", { children: oauthExchanging ? "Completing sign-in\u2026" : "Loading\u2026" }) });
|
|
479
|
-
if (error || !ctx) return /* @__PURE__ */ jsx(Shell, { branding: null, className, children: /* @__PURE__ */ jsx(ErrorBanner, { message: error || "Failed to load app context" }) });
|
|
480
|
-
if (!ctx.returnAllowed) return /* @__PURE__ */ jsx(Shell, { branding: ctx.branding, className, children: /* @__PURE__ */ jsx(ErrorBanner, { message: `returnTo "${returnTo}" is not in this app's allowed origins.` }) });
|
|
481
|
-
|
|
482
|
-
|
|
483
|
-
|
|
484
|
-
formError ? /* @__PURE__ */ jsx(
|
|
596
|
+
if (loading || oauthExchanging) return /* @__PURE__ */ jsx(Shell, { branding: ctx?.branding || null, className, title: oauthExchanging ? "Completing sign-in\u2026" : "Loading\u2026", children: /* @__PURE__ */ jsx("p", { children: oauthExchanging ? "Completing sign-in\u2026" : "Loading\u2026" }) });
|
|
597
|
+
if (error || !ctx) return /* @__PURE__ */ jsx(Shell, { branding: null, className, title: "Application unavailable", children: /* @__PURE__ */ jsx(ErrorBanner, { message: error || "Failed to load app context" }) });
|
|
598
|
+
if (!ctx.returnAllowed) return /* @__PURE__ */ jsx(Shell, { branding: ctx.branding, className, title: "Invalid redirect", children: /* @__PURE__ */ jsx(ErrorBanner, { message: `returnTo "${returnTo}" is not in this app's allowed origins.` }) });
|
|
599
|
+
const cardTitle = ctx.branding?.loginHeadline || `Sign in to ${ctx.app.name}`;
|
|
600
|
+
const cardSubtitle = ctx.branding?.loginSubheadline || void 0;
|
|
601
|
+
return /* @__PURE__ */ jsxs(Shell, { branding: ctx.branding, className, title: cardTitle, subtitle: cardSubtitle, children: [
|
|
602
|
+
formError ? /* @__PURE__ */ jsx(ErrorBanner, { message: formError }) : null,
|
|
485
603
|
tenantSel ? /* @__PURE__ */ jsx("div", { role: "radiogroup", "aria-label": "Choose tenant", style: { display: "flex", flexDirection: "column", gap: 8 }, children: tenantSel.tenants.map((t) => /* @__PURE__ */ jsxs(
|
|
486
604
|
"button",
|
|
487
605
|
{
|
|
@@ -511,20 +629,16 @@ function SignIn({ iqAuthBaseUrl, appKey, returnTo, onRedirect, className }) {
|
|
|
511
629
|
/* @__PURE__ */ jsx(GhostButton, { type: "button", onClick: () => setMfa({ ...mfa, backup: !mfa.backup, code: "" }), children: mfa.backup ? "Use verification code" : "Use backup code" })
|
|
512
630
|
] }) : /* @__PURE__ */ jsxs("div", { style: { display: "flex", flexDirection: "column", gap: 12 }, children: [
|
|
513
631
|
ctx.providers?.google ? /* @__PURE__ */ jsxs(Fragment2, { children: [
|
|
514
|
-
/* @__PURE__ */ jsxs(
|
|
632
|
+
/* @__PURE__ */ jsxs("button", { type: "button", className: "iqauth-sdk-google-btn", onClick: startGoogleLogin, disabled: submitting, "aria-label": ctx.branding?.googleButtonLabel || "Continue with Google", children: [
|
|
515
633
|
/* @__PURE__ */ jsxs("svg", { width: "18", height: "18", viewBox: "0 0 18 18", "aria-hidden": "true", children: [
|
|
516
634
|
/* @__PURE__ */ jsx("path", { fill: "#4285F4", d: "M17.64 9.2c0-.64-.06-1.25-.17-1.84H9v3.48h4.84a4.14 4.14 0 0 1-1.8 2.71v2.26h2.92a8.78 8.78 0 0 0 2.68-6.61z" }),
|
|
517
635
|
/* @__PURE__ */ jsx("path", { fill: "#34A853", d: "M9 18c2.43 0 4.47-.81 5.96-2.18l-2.92-2.26a5.4 5.4 0 0 1-8.04-2.83H.96v2.33A9 9 0 0 0 9 18z" }),
|
|
518
636
|
/* @__PURE__ */ jsx("path", { fill: "#FBBC05", d: "M3.96 10.71A5.41 5.41 0 0 1 3.68 9c0-.59.1-1.17.29-1.71V4.96H.96a9 9 0 0 0 0 8.08l3-2.33z" }),
|
|
519
637
|
/* @__PURE__ */ jsx("path", { fill: "#EA4335", d: "M9 3.58c1.32 0 2.5.45 3.44 1.35l2.58-2.59A9 9 0 0 0 .96 4.96l3 2.33A5.4 5.4 0 0 1 9 3.58z" })
|
|
520
638
|
] }),
|
|
521
|
-
"Continue with Google"
|
|
639
|
+
ctx.branding?.googleButtonLabel || "Continue with Google"
|
|
522
640
|
] }),
|
|
523
|
-
/* @__PURE__ */
|
|
524
|
-
/* @__PURE__ */ jsx("span", { style: { flex: 1, height: 1, background: "rgba(15,23,42,0.12)" } }),
|
|
525
|
-
"OR",
|
|
526
|
-
/* @__PURE__ */ jsx("span", { style: { flex: 1, height: 1, background: "rgba(15,23,42,0.12)" } })
|
|
527
|
-
] })
|
|
641
|
+
/* @__PURE__ */ jsx("div", { role: "separator", "aria-label": "or", className: "iqauth-sdk-divider", children: "OR" })
|
|
528
642
|
] }) : null,
|
|
529
643
|
/* @__PURE__ */ jsxs("form", { onSubmit: submitLogin, style: { display: "flex", flexDirection: "column", gap: 12 }, "aria-label": `Sign in to ${ctx.app.name}`, children: [
|
|
530
644
|
/* @__PURE__ */ jsx(Field, { label: "Email", children: /* @__PURE__ */ jsx("input", { style: inputStyle(), type: "email", autoComplete: "email", required: true, value: email, onChange: (e) => setEmail(e.target.value) }) }),
|
package/dist/server.d.mts
CHANGED
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
import { b as IQAuthTokenClientConfig, N as ExpressMiddlewareOptions, Q as IQAuthRequestLike, R as IQAuthResponseLike, V as IQAuthNextFunction } from './types-Cxl3bQHt.mjs';
|
|
2
|
-
import { I as IQAuthClient } from './client-
|
|
2
|
+
import { I as IQAuthClient } from './client-Dv4v92Mj.mjs';
|
|
3
3
|
export { E as ErrorCodes, I as IQAuthError } from './errors-CDdl24MP.mjs';
|
|
4
|
-
export { C as CookieAwareMiddlewareOptions, D as DEFAULT_ACCESS_COOKIE, a as DEFAULT_REFRESH_COOKIE, i as iqAuthMiddleware } from './express-
|
|
4
|
+
export { C as CookieAwareMiddlewareOptions, D as DEFAULT_ACCESS_COOKIE, a as DEFAULT_REFRESH_COOKIE, i as iqAuthMiddleware } from './express-BZmF1llh.mjs';
|
|
5
5
|
export { HandlerResponse, IQAuthHelperConfig, SetCookieDirective, handleCallback, handleRefresh, handleSignout, serializeCookie } from './server/handlers.mjs';
|
|
6
6
|
import 'jsonwebtoken';
|
|
7
7
|
|
package/dist/server.d.ts
CHANGED
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
import { b as IQAuthTokenClientConfig, N as ExpressMiddlewareOptions, Q as IQAuthRequestLike, R as IQAuthResponseLike, V as IQAuthNextFunction } from './types-Cxl3bQHt.js';
|
|
2
|
-
import { I as IQAuthClient } from './client-
|
|
2
|
+
import { I as IQAuthClient } from './client-DXbHb2ul.js';
|
|
3
3
|
export { E as ErrorCodes, I as IQAuthError } from './errors-CDdl24MP.js';
|
|
4
|
-
export { C as CookieAwareMiddlewareOptions, D as DEFAULT_ACCESS_COOKIE, a as DEFAULT_REFRESH_COOKIE, i as iqAuthMiddleware } from './express-
|
|
4
|
+
export { C as CookieAwareMiddlewareOptions, D as DEFAULT_ACCESS_COOKIE, a as DEFAULT_REFRESH_COOKIE, i as iqAuthMiddleware } from './express-B4o3P8vK.js';
|
|
5
5
|
export { HandlerResponse, IQAuthHelperConfig, SetCookieDirective, handleCallback, handleRefresh, handleSignout, serializeCookie } from './server/handlers.js';
|
|
6
6
|
import 'jsonwebtoken';
|
|
7
7
|
|
package/dist/server.js
CHANGED
|
@@ -456,7 +456,10 @@ function parseMfaResponse(data, browserSessionMode) {
|
|
|
456
456
|
var import_crypto = __toESM(require("crypto"));
|
|
457
457
|
var import_jsonwebtoken = __toESM(require("jsonwebtoken"));
|
|
458
458
|
var JWKS_CACHE_TTL_MS = 60 * 60 * 1e3;
|
|
459
|
-
var DEFAULT_TOKEN_ISSUER =
|
|
459
|
+
var DEFAULT_TOKEN_ISSUER = [
|
|
460
|
+
"https://auth.dispositioniq.com",
|
|
461
|
+
"auth.dispositioniq.com"
|
|
462
|
+
];
|
|
460
463
|
var DEFAULT_TOKEN_AUDIENCE = [
|
|
461
464
|
"dispositioniq",
|
|
462
465
|
"iqcapture",
|
package/dist/server.mjs
CHANGED
|
@@ -2,7 +2,7 @@ import {
|
|
|
2
2
|
DEFAULT_ACCESS_COOKIE,
|
|
3
3
|
DEFAULT_REFRESH_COOKIE,
|
|
4
4
|
iqAuthMiddleware
|
|
5
|
-
} from "./chunk-
|
|
5
|
+
} from "./chunk-ZESHDJDU.mjs";
|
|
6
6
|
import {
|
|
7
7
|
handleCallback,
|
|
8
8
|
handleRefresh,
|
|
@@ -12,7 +12,7 @@ import {
|
|
|
12
12
|
import "./chunk-5WFR6Y33.mjs";
|
|
13
13
|
import {
|
|
14
14
|
IQAuthClient
|
|
15
|
-
} from "./chunk-
|
|
15
|
+
} from "./chunk-MDUHPQMM.mjs";
|
|
16
16
|
import {
|
|
17
17
|
ErrorCodes,
|
|
18
18
|
IQAuthError
|
package/dist/service.d.mts
CHANGED
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
import { I as IQAuthClient } from './client-
|
|
1
|
+
import { I as IQAuthClient } from './client-Dv4v92Mj.mjs';
|
|
2
2
|
import { b as IQAuthTokenClientConfig } from './types-Cxl3bQHt.mjs';
|
|
3
3
|
export { E as ErrorCodes, I as IQAuthError } from './errors-CDdl24MP.mjs';
|
|
4
4
|
import 'jsonwebtoken';
|
package/dist/service.d.ts
CHANGED
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
import { I as IQAuthClient } from './client-
|
|
1
|
+
import { I as IQAuthClient } from './client-DXbHb2ul.js';
|
|
2
2
|
import { b as IQAuthTokenClientConfig } from './types-Cxl3bQHt.js';
|
|
3
3
|
export { E as ErrorCodes, I as IQAuthError } from './errors-CDdl24MP.js';
|
|
4
4
|
import 'jsonwebtoken';
|
package/dist/service.js
CHANGED
|
@@ -449,7 +449,10 @@ function parseMfaResponse(data, browserSessionMode) {
|
|
|
449
449
|
var import_crypto = __toESM(require("crypto"));
|
|
450
450
|
var import_jsonwebtoken = __toESM(require("jsonwebtoken"));
|
|
451
451
|
var JWKS_CACHE_TTL_MS = 60 * 60 * 1e3;
|
|
452
|
-
var DEFAULT_TOKEN_ISSUER =
|
|
452
|
+
var DEFAULT_TOKEN_ISSUER = [
|
|
453
|
+
"https://auth.dispositioniq.com",
|
|
454
|
+
"auth.dispositioniq.com"
|
|
455
|
+
];
|
|
453
456
|
var DEFAULT_TOKEN_AUDIENCE = [
|
|
454
457
|
"dispositioniq",
|
|
455
458
|
"iqcapture",
|
package/dist/service.mjs
CHANGED
package/package.json
CHANGED