@atlasauth/react 0.20.0 → 0.22.0
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/CHANGELOG.md +15 -1
- package/dist/AtlasProvider.js +17 -1
- package/dist/AtlasProvider.js.map +1 -1
- package/dist/access.d.ts +26 -0
- package/dist/access.js +58 -0
- package/dist/access.js.map +1 -0
- package/dist/account-factors.d.ts +14 -0
- package/dist/account-factors.js +195 -0
- package/dist/account-factors.js.map +1 -0
- package/dist/account.d.ts +12 -1
- package/dist/account.js +92 -3
- package/dist/account.js.map +1 -1
- package/dist/app-launcher.d.ts +11 -0
- package/dist/app-launcher.js +28 -0
- package/dist/app-launcher.js.map +1 -0
- package/dist/billing.d.ts +25 -4
- package/dist/billing.js +40 -22
- package/dist/billing.js.map +1 -1
- package/dist/compat-amplify.d.ts +116 -0
- package/dist/compat-amplify.js +212 -0
- package/dist/compat-amplify.js.map +1 -0
- package/dist/compat-baas.d.ts +155 -0
- package/dist/compat-baas.js +401 -0
- package/dist/compat-baas.js.map +1 -0
- package/dist/compat-firebase.d.ts +67 -0
- package/dist/compat-firebase.js +166 -0
- package/dist/compat-firebase.js.map +1 -0
- package/dist/compat-msal.d.ts +84 -0
- package/dist/compat-msal.js +158 -0
- package/dist/compat-msal.js.map +1 -0
- package/dist/compat.d.ts +7 -1
- package/dist/compat.js +9 -1
- package/dist/compat.js.map +1 -1
- package/dist/components.d.ts +12 -1
- package/dist/components.js +26 -2
- package/dist/components.js.map +1 -1
- package/dist/connected-accounts.d.ts +36 -0
- package/dist/connected-accounts.js +108 -0
- package/dist/connected-accounts.js.map +1 -0
- package/dist/delegated-ui.d.ts +49 -0
- package/dist/delegated-ui.js +42 -0
- package/dist/delegated-ui.js.map +1 -0
- package/dist/flow.d.ts +37 -1
- package/dist/flow.js +111 -2
- package/dist/flow.js.map +1 -1
- package/dist/i18n.js +14 -0
- package/dist/i18n.js.map +1 -1
- package/dist/index.d.ts +3 -0
- package/dist/index.js +9 -1
- package/dist/index.js.map +1 -1
- package/dist/marketing.d.ts +31 -0
- package/dist/marketing.js +64 -0
- package/dist/marketing.js.map +1 -0
- package/dist/mfa-steps.d.ts +9 -0
- package/dist/mfa-steps.js +51 -0
- package/dist/mfa-steps.js.map +1 -1
- package/dist/organization-admin.d.ts +38 -0
- package/dist/organization-admin.js +192 -0
- package/dist/organization-admin.js.map +1 -0
- package/dist/organization.d.ts +8 -1
- package/dist/organization.js +15 -2
- package/dist/organization.js.map +1 -1
- package/dist/profile-completion.d.ts +11 -0
- package/dist/profile-completion.js +49 -0
- package/dist/profile-completion.js.map +1 -0
- package/dist/profile-traits.d.ts +37 -0
- package/dist/profile-traits.js +143 -0
- package/dist/profile-traits.js.map +1 -0
- package/dist/sign-up.js +48 -7
- package/dist/sign-up.js.map +1 -1
- package/dist/styles.js +7 -4
- package/dist/styles.js.map +1 -1
- package/dist/types.d.ts +8 -0
- package/dist/version.d.ts +1 -1
- package/dist/version.js +1 -1
- package/package.json +4 -4
package/dist/index.d.ts
CHANGED
|
@@ -7,6 +7,9 @@ export type * from './AtlasProvider';
|
|
|
7
7
|
export { AtlasProvider, useAtlas } from './AtlasProvider';
|
|
8
8
|
export type * from './hooks';
|
|
9
9
|
export { authFromContext, useAuth, useOrganization, useSession, useSessionList, useSignOutListener, useSilentAuth, useUser, } from './hooks';
|
|
10
|
+
export { AccessRequests, useAccess } from './access';
|
|
11
|
+
export type { UseAccessResult } from './access';
|
|
12
|
+
export { useDelegatedChallenge, useDelegatedFlow } from './delegated-ui';
|
|
10
13
|
export { ATLAS_REACT_SDK, ATLAS_REACT_VERSION } from './version';
|
|
11
14
|
export { SIGN_OUT_EVENT, onAtlasSignOut } from '@atlasauth/js';
|
|
12
15
|
export type { SignOutEvent, SignOutReason } from '@atlasauth/js';
|
package/dist/index.js
CHANGED
|
@@ -14,7 +14,7 @@ var __exportStar = (this && this.__exportStar) || function(m, exports) {
|
|
|
14
14
|
for (var p in m) if (p !== "default" && !Object.prototype.hasOwnProperty.call(exports, p)) __createBinding(exports, m, p);
|
|
15
15
|
};
|
|
16
16
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
17
|
-
exports.resolveLocale = exports.missingKeys = exports.LOCALIZATION_KEYS = exports.fetchAtlasInitialState = exports.SignOutError = exports.SAME_ORIGIN_FRONTEND_API = exports.AtlasConfigError = exports.diagnoseProvider = exports.handleSilentCallback = exports.checkSession = exports.useAtlasIdEvents = exports.SignInWithAtlasButton = exports.signInWithAtlasPopup = exports.oneTapWithAtlas = exports.listenAtlasIdEvents = exports.completeSignInWithAtlas = exports.buildAtlasAuthorizeUrl = exports.atlasIdLabels = exports.ATLASID_EVENTS = exports.onAtlasSignOut = exports.SIGN_OUT_EVENT = exports.ATLAS_REACT_VERSION = exports.ATLAS_REACT_SDK = exports.useUser = exports.useSilentAuth = exports.useSignOutListener = exports.useSessionList = exports.useSession = exports.useOrganization = exports.useAuth = exports.authFromContext = exports.useAtlas = exports.AtlasProvider = void 0;
|
|
17
|
+
exports.resolveLocale = exports.missingKeys = exports.LOCALIZATION_KEYS = exports.fetchAtlasInitialState = exports.SignOutError = exports.SAME_ORIGIN_FRONTEND_API = exports.AtlasConfigError = exports.diagnoseProvider = exports.handleSilentCallback = exports.checkSession = exports.useAtlasIdEvents = exports.SignInWithAtlasButton = exports.signInWithAtlasPopup = exports.oneTapWithAtlas = exports.listenAtlasIdEvents = exports.completeSignInWithAtlas = exports.buildAtlasAuthorizeUrl = exports.atlasIdLabels = exports.ATLASID_EVENTS = exports.onAtlasSignOut = exports.SIGN_OUT_EVENT = exports.ATLAS_REACT_VERSION = exports.ATLAS_REACT_SDK = exports.useDelegatedFlow = exports.useDelegatedChallenge = exports.useAccess = exports.AccessRequests = exports.useUser = exports.useSilentAuth = exports.useSignOutListener = exports.useSessionList = exports.useSession = exports.useOrganization = exports.useAuth = exports.authFromContext = exports.useAtlas = exports.AtlasProvider = void 0;
|
|
18
18
|
__exportStar(require("./appearance"), exports);
|
|
19
19
|
__exportStar(require("./styles"), exports);
|
|
20
20
|
__exportStar(require("./protect"), exports);
|
|
@@ -32,6 +32,14 @@ Object.defineProperty(exports, "useSessionList", { enumerable: true, get: functi
|
|
|
32
32
|
Object.defineProperty(exports, "useSignOutListener", { enumerable: true, get: function () { return hooks_1.useSignOutListener; } });
|
|
33
33
|
Object.defineProperty(exports, "useSilentAuth", { enumerable: true, get: function () { return hooks_1.useSilentAuth; } });
|
|
34
34
|
Object.defineProperty(exports, "useUser", { enumerable: true, get: function () { return hooks_1.useUser; } });
|
|
35
|
+
// Identity governance: request access, approve, review.
|
|
36
|
+
var access_1 = require("./access");
|
|
37
|
+
Object.defineProperty(exports, "AccessRequests", { enumerable: true, get: function () { return access_1.AccessRequests; } });
|
|
38
|
+
Object.defineProperty(exports, "useAccess", { enumerable: true, get: function () { return access_1.useAccess; } });
|
|
39
|
+
// Your own login / consent pages (delegated login and consent).
|
|
40
|
+
var delegated_ui_1 = require("./delegated-ui");
|
|
41
|
+
Object.defineProperty(exports, "useDelegatedChallenge", { enumerable: true, get: function () { return delegated_ui_1.useDelegatedChallenge; } });
|
|
42
|
+
Object.defineProperty(exports, "useDelegatedFlow", { enumerable: true, get: function () { return delegated_ui_1.useDelegatedFlow; } });
|
|
35
43
|
var version_1 = require("./version");
|
|
36
44
|
Object.defineProperty(exports, "ATLAS_REACT_SDK", { enumerable: true, get: function () { return version_1.ATLAS_REACT_SDK; } });
|
|
37
45
|
Object.defineProperty(exports, "ATLAS_REACT_VERSION", { enumerable: true, get: function () { return version_1.ATLAS_REACT_VERSION; } });
|
package/dist/index.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.js","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;;;AAAA,+CAA6B;AAC7B,2CAAyB;AACzB,4CAA0B;AAC1B,yCAAuB;AACvB,0CAAwB;AAKxB,iDAA0D;AAAjD,8GAAA,aAAa,OAAA;AAAE,yGAAA,QAAQ,OAAA;AAEhC,iCASiB;AARf,wGAAA,eAAe,OAAA;AACf,gGAAA,OAAO,OAAA;AACP,wGAAA,eAAe,OAAA;AACf,mGAAA,UAAU,OAAA;AACV,uGAAA,cAAc,OAAA;AACd,2GAAA,kBAAkB,OAAA;AAClB,sGAAA,aAAa,OAAA;AACb,gGAAA,OAAO,OAAA;AAET,qCAAiE;AAAxD,0GAAA,eAAe,OAAA;AAAE,8GAAA,mBAAmB,OAAA;AAC7C,oFAAoF;AACpF,kCAAkC;AAClC,oCAA+D;AAAtD,oGAAA,cAAc,OAAA;AAAE,oGAAA,cAAc,OAAA;AAEvC,yCAAuB;AACvB,+CAA6B;AAE7B,2DAU8B;AAT5B,oHAAA,cAAc,OAAA;AACd,mHAAA,aAAa,OAAA;AACb,4HAAA,sBAAsB,OAAA;AACtB,6HAAA,uBAAuB,OAAA;AACvB,yHAAA,mBAAmB,OAAA;AACnB,qHAAA,eAAe,OAAA;AACf,0HAAA,oBAAoB,OAAA;AACpB,2HAAA,qBAAqB,OAAA;AACrB,sHAAA,gBAAgB,OAAA;AAElB,iFAAiF;AACjF,gDAAgD;AAChD,oCAAmE;AAA1D,kGAAA,YAAY,OAAA;AAAE,0GAAA,oBAAoB,OAAA;AAE3C,qFAAqF;AACrF,gFAAgF;AAChF,gFAAgF;AAChF,oCAAiD;AAAxC,sGAAA,gBAAgB,OAAA;AACzB,0EAA0E;AAC1E,4DAA4D;AAC5D,oCAAyF;AAAhF,sGAAA,gBAAgB,OAAA;AAAE,8GAAA,wBAAwB,OAAA;AAAE,kGAAA,YAAY,OAAA;AAEjE,qFAAqF;AACrF,+CAA+C;AAC/C,oCAAuD;AAA9C,4GAAA,sBAAsB,OAAA;AAE/B,4EAA4E;AAC5E,0DAAyF;AAAhF,kHAAA,iBAAiB,OAAA;AAAE,4GAAA,WAAW,OAAA;AAAE,8GAAA,aAAa,OAAA"}
|
|
1
|
+
{"version":3,"file":"index.js","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;;;AAAA,+CAA6B;AAC7B,2CAAyB;AACzB,4CAA0B;AAC1B,yCAAuB;AACvB,0CAAwB;AAKxB,iDAA0D;AAAjD,8GAAA,aAAa,OAAA;AAAE,yGAAA,QAAQ,OAAA;AAEhC,iCASiB;AARf,wGAAA,eAAe,OAAA;AACf,gGAAA,OAAO,OAAA;AACP,wGAAA,eAAe,OAAA;AACf,mGAAA,UAAU,OAAA;AACV,uGAAA,cAAc,OAAA;AACd,2GAAA,kBAAkB,OAAA;AAClB,sGAAA,aAAa,OAAA;AACb,gGAAA,OAAO,OAAA;AAET,wDAAwD;AACxD,mCAAqD;AAA5C,wGAAA,cAAc,OAAA;AAAE,mGAAA,SAAS,OAAA;AAElC,gEAAgE;AAChE,+CAAyE;AAAhE,qHAAA,qBAAqB,OAAA;AAAE,gHAAA,gBAAgB,OAAA;AAChD,qCAAiE;AAAxD,0GAAA,eAAe,OAAA;AAAE,8GAAA,mBAAmB,OAAA;AAC7C,oFAAoF;AACpF,kCAAkC;AAClC,oCAA+D;AAAtD,oGAAA,cAAc,OAAA;AAAE,oGAAA,cAAc,OAAA;AAEvC,yCAAuB;AACvB,+CAA6B;AAE7B,2DAU8B;AAT5B,oHAAA,cAAc,OAAA;AACd,mHAAA,aAAa,OAAA;AACb,4HAAA,sBAAsB,OAAA;AACtB,6HAAA,uBAAuB,OAAA;AACvB,yHAAA,mBAAmB,OAAA;AACnB,qHAAA,eAAe,OAAA;AACf,0HAAA,oBAAoB,OAAA;AACpB,2HAAA,qBAAqB,OAAA;AACrB,sHAAA,gBAAgB,OAAA;AAElB,iFAAiF;AACjF,gDAAgD;AAChD,oCAAmE;AAA1D,kGAAA,YAAY,OAAA;AAAE,0GAAA,oBAAoB,OAAA;AAE3C,qFAAqF;AACrF,gFAAgF;AAChF,gFAAgF;AAChF,oCAAiD;AAAxC,sGAAA,gBAAgB,OAAA;AACzB,0EAA0E;AAC1E,4DAA4D;AAC5D,oCAAyF;AAAhF,sGAAA,gBAAgB,OAAA;AAAE,8GAAA,wBAAwB,OAAA;AAAE,kGAAA,YAAY,OAAA;AAEjE,qFAAqF;AACrF,+CAA+C;AAC/C,oCAAuD;AAA9C,4GAAA,sBAAsB,OAAA;AAE/B,4EAA4E;AAC5E,0DAAyF;AAAhF,kHAAA,iBAAiB,OAAA;AAAE,4GAAA,WAAW,OAAA;AAAE,8GAAA,aAAa,OAAA"}
|
|
@@ -0,0 +1,31 @@
|
|
|
1
|
+
/** English defaults for `<LeadForm/>`; override any through `labels`. */
|
|
2
|
+
declare const LEAD_LABELS: {
|
|
3
|
+
email: string;
|
|
4
|
+
name: string;
|
|
5
|
+
submit: string;
|
|
6
|
+
consent: string;
|
|
7
|
+
thanks: string;
|
|
8
|
+
invalid: string;
|
|
9
|
+
failed: string;
|
|
10
|
+
};
|
|
11
|
+
export type LeadFormLabels = Partial<typeof LEAD_LABELS>;
|
|
12
|
+
/**
|
|
13
|
+
* `<LeadForm/>` — a lead / newsletter signup. It stores the address (with the
|
|
14
|
+
* campaign attribution the SDK captured, when the instance captures it and the
|
|
15
|
+
* visitor consented) for you to read in the dashboard or over the API
|
|
16
|
+
* (`GET /v1/leads`). One row per email per `form`, so a repeat submission updates
|
|
17
|
+
* rather than duplicates, and the answer is the same for a known address. Carries
|
|
18
|
+
* a hidden honeypot field; submissions share the sign-up per-IP rate limit.
|
|
19
|
+
*
|
|
20
|
+
* `consentLabel`/`requireConsent` add a checkbox (and block submit until ticked);
|
|
21
|
+
* `showName` adds a name field.
|
|
22
|
+
*/
|
|
23
|
+
export declare function LeadForm({ form, showName, requireConsent, labels, onSubmitted, }?: {
|
|
24
|
+
form?: string;
|
|
25
|
+
showName?: boolean;
|
|
26
|
+
/** Show the consent checkbox and require it. Without it the form records `consent: false`. */
|
|
27
|
+
requireConsent?: boolean;
|
|
28
|
+
labels?: LeadFormLabels;
|
|
29
|
+
onSubmitted?(email: string): void;
|
|
30
|
+
}): import("react").JSX.Element;
|
|
31
|
+
export {};
|
|
@@ -0,0 +1,64 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
'use client';
|
|
3
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
4
|
+
exports.LeadForm = LeadForm;
|
|
5
|
+
const jsx_runtime_1 = require("react/jsx-runtime");
|
|
6
|
+
const react_1 = require("react");
|
|
7
|
+
const js_1 = require("@atlasauth/js");
|
|
8
|
+
const components_shared_1 = require("./components-shared");
|
|
9
|
+
/** English defaults for `<LeadForm/>`; override any through `labels`. */
|
|
10
|
+
const LEAD_LABELS = {
|
|
11
|
+
email: 'Email address',
|
|
12
|
+
name: 'Name',
|
|
13
|
+
submit: 'Subscribe',
|
|
14
|
+
consent: 'I agree to receive emails',
|
|
15
|
+
thanks: 'Thanks — you are on the list.',
|
|
16
|
+
invalid: 'Enter a valid email address.',
|
|
17
|
+
failed: 'Could not subscribe. Try again.',
|
|
18
|
+
};
|
|
19
|
+
/**
|
|
20
|
+
* `<LeadForm/>` — a lead / newsletter signup. It stores the address (with the
|
|
21
|
+
* campaign attribution the SDK captured, when the instance captures it and the
|
|
22
|
+
* visitor consented) for you to read in the dashboard or over the API
|
|
23
|
+
* (`GET /v1/leads`). One row per email per `form`, so a repeat submission updates
|
|
24
|
+
* rather than duplicates, and the answer is the same for a known address. Carries
|
|
25
|
+
* a hidden honeypot field; submissions share the sign-up per-IP rate limit.
|
|
26
|
+
*
|
|
27
|
+
* `consentLabel`/`requireConsent` add a checkbox (and block submit until ticked);
|
|
28
|
+
* `showName` adds a name field.
|
|
29
|
+
*/
|
|
30
|
+
function LeadForm({ form = 'default', showName = false, requireConsent = false, labels = {}, onSubmitted, } = {}) {
|
|
31
|
+
const client = (0, components_shared_1.useMeClient)();
|
|
32
|
+
const L = { ...LEAD_LABELS, ...labels };
|
|
33
|
+
const cls = (0, components_shared_1.useClasses)();
|
|
34
|
+
const cardClass = (0, components_shared_1.useClass)('card', 'atlas-card');
|
|
35
|
+
const [email, setEmail] = (0, react_1.useState)('');
|
|
36
|
+
const [name, setName] = (0, react_1.useState)('');
|
|
37
|
+
const [consent, setConsent] = (0, react_1.useState)(false);
|
|
38
|
+
const [website, setWebsite] = (0, react_1.useState)('');
|
|
39
|
+
const [state, setState] = (0, react_1.useState)('idle');
|
|
40
|
+
const [error, setError] = (0, react_1.useState)(null);
|
|
41
|
+
const submit = async (event) => {
|
|
42
|
+
event.preventDefault();
|
|
43
|
+
if (!/^[^\s@]+@[^\s@]+\.[^\s@]+$/.test(email.trim())) {
|
|
44
|
+
setError(L.invalid);
|
|
45
|
+
return;
|
|
46
|
+
}
|
|
47
|
+
setState('busy');
|
|
48
|
+
setError(null);
|
|
49
|
+
const out = await (0, js_1.submitLead)(client, { email: email.trim(), name: name.trim() || undefined, form, consent, website });
|
|
50
|
+
if (out.ok) {
|
|
51
|
+
setState('done');
|
|
52
|
+
onSubmitted?.(email.trim());
|
|
53
|
+
}
|
|
54
|
+
else {
|
|
55
|
+
setState('idle');
|
|
56
|
+
setError(out.error ?? L.failed);
|
|
57
|
+
}
|
|
58
|
+
};
|
|
59
|
+
if (state === 'done') {
|
|
60
|
+
return ((0, jsx_runtime_1.jsx)("div", { className: cardClass, "data-atlas": "lead-form", role: "status", children: L.thanks }));
|
|
61
|
+
}
|
|
62
|
+
return ((0, jsx_runtime_1.jsxs)("form", { className: cardClass, "data-atlas": "lead-form", onSubmit: (e) => void submit(e), noValidate: true, children: [showName ? ((0, jsx_runtime_1.jsxs)("label", { className: cls('formField', 'atlas-field'), children: [(0, jsx_runtime_1.jsx)("span", { className: cls('formFieldLabel', 'atlas-field-label'), children: L.name }), (0, jsx_runtime_1.jsx)("input", { className: cls('formFieldInput', 'atlas-input'), value: name, autoComplete: "name", onChange: (e) => setName(e.target.value) })] })) : null, (0, jsx_runtime_1.jsxs)("label", { className: cls('formField', 'atlas-field'), children: [(0, jsx_runtime_1.jsx)("span", { className: cls('formFieldLabel', 'atlas-field-label'), children: L.email }), (0, jsx_runtime_1.jsx)("input", { className: cls('formFieldInput', 'atlas-input'), type: "email", value: email, autoComplete: "email", onChange: (e) => setEmail(e.target.value) })] }), requireConsent ? ((0, jsx_runtime_1.jsxs)("label", { className: cls('formField', 'atlas-field'), children: [(0, jsx_runtime_1.jsx)("input", { type: "checkbox", checked: consent, onChange: (e) => setConsent(e.target.checked) }), " ", L.consent] })) : null, (0, jsx_runtime_1.jsx)("input", { "aria-hidden": "true", tabIndex: -1, autoComplete: "off", name: "website", value: website, onChange: (e) => setWebsite(e.target.value), style: { position: 'absolute', left: '-10000px', width: 1, height: 1, opacity: 0 } }), error ? ((0, jsx_runtime_1.jsx)("p", { className: cls('formFieldError', 'atlas-error'), role: "alert", children: error })) : null, (0, jsx_runtime_1.jsx)("button", { className: cls('formButtonPrimary', 'atlas-button'), type: "submit", disabled: state === 'busy' || (requireConsent && !consent), children: L.submit })] }));
|
|
63
|
+
}
|
|
64
|
+
//# sourceMappingURL=marketing.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"marketing.js","sourceRoot":"","sources":["../src/marketing.tsx"],"names":[],"mappings":"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"}
|
package/dist/mfa-steps.d.ts
CHANGED
|
@@ -51,3 +51,12 @@ export declare function RecoveryCodes({ codes, busy, onSaved }: {
|
|
|
51
51
|
busy: boolean;
|
|
52
52
|
onSaved(): void;
|
|
53
53
|
}): import("react").JSX.Element;
|
|
54
|
+
/**
|
|
55
|
+
* "Use Duo instead" at the second-factor step. Opens Duo's prompt in a window and polls the
|
|
56
|
+
* sign-in (`onSubmit({ strategy: "duo" })`) until Duo's callback has approved this attempt,
|
|
57
|
+
* which completes the sign-in. The strings are English; wrap the component to localise.
|
|
58
|
+
*/
|
|
59
|
+
export declare function DuoSecondFactorOption({ attemptId, onSubmit }: {
|
|
60
|
+
attemptId: string;
|
|
61
|
+
onSubmit(values: Record<string, string>): void;
|
|
62
|
+
}): import("react").JSX.Element;
|
package/dist/mfa-steps.js
CHANGED
|
@@ -6,6 +6,7 @@ exports.useMfaEnrollment = useMfaEnrollment;
|
|
|
6
6
|
exports.MfaEnrollmentFields = MfaEnrollmentFields;
|
|
7
7
|
exports.SecondFactorCodeOption = SecondFactorCodeOption;
|
|
8
8
|
exports.RecoveryCodes = RecoveryCodes;
|
|
9
|
+
exports.DuoSecondFactorOption = DuoSecondFactorOption;
|
|
9
10
|
const jsx_runtime_1 = require("react/jsx-runtime");
|
|
10
11
|
const react_1 = require("react");
|
|
11
12
|
const js_1 = require("@atlasauth/js");
|
|
@@ -145,4 +146,54 @@ function RecoveryCodes({ codes, busy, onSaved }) {
|
|
|
145
146
|
const canCopy = typeof navigator !== 'undefined' && !!navigator.clipboard?.writeText;
|
|
146
147
|
return ((0, jsx_runtime_1.jsxs)("div", { className: cardClass, "data-atlas": "recovery-codes", children: [(0, jsx_runtime_1.jsx)("h1", { className: titleClass, children: t('mfa.recoveryCodesTitle') }), (0, jsx_runtime_1.jsx)("p", { className: cls('text', 'atlas-text'), children: t('mfa.recoveryCodesHelp') }), (0, jsx_runtime_1.jsx)("ul", { "data-atlas": "recovery-codes-list", style: RECOVERY_LIST_STYLE, children: codes.map((code) => ((0, jsx_runtime_1.jsx)("li", { children: (0, jsx_runtime_1.jsx)("code", { children: code }) }, code))) }), (0, jsx_runtime_1.jsxs)("div", { className: "atlas-alternatives", children: [canCopy ? ((0, jsx_runtime_1.jsx)("button", { type: "button", className: secondaryClass, "data-atlas": "recovery-codes-copy", onClick: () => void (0, js_1.copyRecoveryCodes)(codes).then(setCopied), children: t('mfa.recoveryCodesCopy') })) : null, (0, js_1.canDownloadRecoveryCodes)() ? ((0, jsx_runtime_1.jsx)("button", { type: "button", className: secondaryClass, "data-atlas": "recovery-codes-download", onClick: () => (0, js_1.downloadRecoveryCodes)(codes), children: t('mfa.recoveryCodesDownload') })) : null] }), copied ? ((0, jsx_runtime_1.jsx)("p", { className: cls('text', 'atlas-text'), "aria-live": "polite", "data-atlas": "recovery-codes-copied", children: t('mfa.recoveryCodesCopied') })) : null, (0, jsx_runtime_1.jsx)("button", { type: "button", className: buttonClass, "data-atlas": "recovery-codes-saved", disabled: busy, onClick: onSaved, children: t('mfa.recoveryCodesSaved') })] }));
|
|
147
148
|
}
|
|
149
|
+
const DUO_POLL_MS = 2500;
|
|
150
|
+
const DUO_POLL_LIMIT = 120;
|
|
151
|
+
/**
|
|
152
|
+
* "Use Duo instead" at the second-factor step. Opens Duo's prompt in a window and polls the
|
|
153
|
+
* sign-in (`onSubmit({ strategy: "duo" })`) until Duo's callback has approved this attempt,
|
|
154
|
+
* which completes the sign-in. The strings are English; wrap the component to localise.
|
|
155
|
+
*/
|
|
156
|
+
function DuoSecondFactorOption({ attemptId, onSubmit }) {
|
|
157
|
+
const client = (0, components_shared_1.useFapiClient)();
|
|
158
|
+
const cls = (0, components_shared_1.useClasses)();
|
|
159
|
+
const [state, setState] = (0, react_1.useState)({});
|
|
160
|
+
const timer = (0, react_1.useRef)(null);
|
|
161
|
+
const stop = () => {
|
|
162
|
+
if (timer.current)
|
|
163
|
+
clearInterval(timer.current);
|
|
164
|
+
timer.current = null;
|
|
165
|
+
};
|
|
166
|
+
(0, react_1.useEffect)(() => stop, []);
|
|
167
|
+
const start = async () => {
|
|
168
|
+
setState({ busy: true });
|
|
169
|
+
// The popup must open from the click, before the request resolves.
|
|
170
|
+
const popup = typeof window !== 'undefined' ? window.open('', 'atlas_duo', 'width=480,height=720') : null;
|
|
171
|
+
const { prompt, response } = await (0, js_1.prepareDuo)(client, attemptId);
|
|
172
|
+
if (!prompt) {
|
|
173
|
+
popup?.close();
|
|
174
|
+
setState({ error: response.errors[0]?.message ?? 'Duo is not available right now.' });
|
|
175
|
+
return;
|
|
176
|
+
}
|
|
177
|
+
if (popup)
|
|
178
|
+
popup.location.href = prompt.authorizationUrl;
|
|
179
|
+
else if (typeof window !== 'undefined')
|
|
180
|
+
window.location.assign(prompt.authorizationUrl);
|
|
181
|
+
setState({ waiting: true });
|
|
182
|
+
let polls = 0;
|
|
183
|
+
stop();
|
|
184
|
+
timer.current = setInterval(() => {
|
|
185
|
+
polls += 1;
|
|
186
|
+
if (polls > DUO_POLL_LIMIT) {
|
|
187
|
+
stop();
|
|
188
|
+
setState({ error: 'Duo did not confirm in time. Try again.' });
|
|
189
|
+
return;
|
|
190
|
+
}
|
|
191
|
+
onSubmit({ strategy: 'duo' });
|
|
192
|
+
}, DUO_POLL_MS);
|
|
193
|
+
};
|
|
194
|
+
if (state.waiting) {
|
|
195
|
+
return ((0, jsx_runtime_1.jsx)("p", { className: cls('text', 'atlas-text'), "data-atlas": "duo-waiting", "aria-live": "polite", children: "Approve the request in the Duo window. You will be signed in here when it is confirmed." }));
|
|
196
|
+
}
|
|
197
|
+
return ((0, jsx_runtime_1.jsxs)(jsx_runtime_1.Fragment, { children: [(0, jsx_runtime_1.jsx)("button", { type: "button", className: cls('link', 'atlas-link'), "data-atlas": "duo-second-factor", disabled: state.busy, onClick: () => void start(), children: "Use Duo instead" }), state.error ? ((0, jsx_runtime_1.jsx)("div", { className: cls('alert', 'atlas-alert'), role: "alert", children: state.error })) : null] }));
|
|
198
|
+
}
|
|
148
199
|
//# sourceMappingURL=mfa-steps.js.map
|
package/dist/mfa-steps.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"mfa-steps.js","sourceRoot":"","sources":["../src/mfa-steps.tsx"],"names":[],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"mfa-steps.js","sourceRoot":"","sources":["../src/mfa-steps.tsx"],"names":[],"mappings":";AAAA,YAAY,CAAC;;AA2Bb,sCAGC;AAMD,4CAgBC;AAOD,kDA4HC;AAOD,wDA+BC;AAmBD,sCAoDC;AAUD,sDAsDC;;AAlWD,iCAA6E;AAC7E,sCAYuB;AACvB,mDAA2C;AAC3C,2DAAmF;AAEnF;;;;;GAKG;AAEH,+FAA+F;AAC/F,SAAgB,aAAa;IAC3B,MAAM,EAAE,gBAAgB,EAAE,GAAG,IAAA,wBAAQ,GAAE,CAAC;IACxC,OAAO,IAAA,mBAAc,EAAC,gBAAgB,EAAE,OAAO,CAAC,CAAC;AACnD,CAAC;AAED;;;GAGG;AACH,SAAgB,gBAAgB,CAC9B,SAAwB,EACxB,MAAe;IAEf,MAAM,MAAM,GAAG,IAAA,iCAAa,GAAE,CAAC;IAC/B,MAAM,OAAO,GAAG,aAAa,EAAE,CAAC;IAChC,MAAM,UAAU,GAAG,IAAA,cAAM,EAAC,OAAO,CAAC,CAAC;IACnC,UAAU,CAAC,OAAO,GAAG,OAAO,CAAC;IAC7B,MAAM,UAAU,GAAG,IAAA,eAAO,EAAC,GAAG,EAAE,CAAC,IAAA,wBAAmB,EAAC,MAAM,EAAE,GAAG,EAAE,CAAC,UAAU,CAAC,OAAO,CAAC,EAAE,CAAC,MAAM,CAAC,CAAC,CAAC;IAClG,MAAM,CAAC,KAAK,EAAE,QAAQ,CAAC,GAAG,IAAA,gBAAQ,EAAC,UAAU,CAAC,KAAK,CAAC,CAAC;IACrD,IAAA,iBAAS,EAAC,GAAG,EAAE,CAAC,UAAU,CAAC,SAAS,CAAC,QAAQ,CAAC,EAAE,CAAC,UAAU,CAAC,CAAC,CAAC;IAC9D,IAAA,iBAAS,EAAC,GAAG,EAAE;QACb,IAAI,MAAM,IAAI,SAAS;YAAE,UAAU,CAAC,KAAK,CAAC,SAAS,CAAC,CAAC;;YAChD,UAAU,CAAC,KAAK,EAAE,CAAC;IAC1B,CAAC,EAAE,CAAC,UAAU,EAAE,MAAM,EAAE,SAAS,CAAC,CAAC,CAAC;IACpC,OAAO,EAAE,UAAU,EAAE,KAAK,EAAE,CAAC;AAC/B,CAAC;AAED;;;;GAIG;AACH,SAAgB,mBAAmB,CAAC,EAClC,UAAU,EACV,KAAK,EACL,IAAI,EACJ,KAAK,EACL,WAAW,GAOZ;IACC,MAAM,CAAC,GAAG,IAAA,2BAAO,GAAE,CAAC;IACpB,MAAM,GAAG,GAAG,IAAA,8BAAU,GAAE,CAAC;IACzB,MAAM,UAAU,GAAG,IAAA,4BAAQ,EAAC,gBAAgB,EAAE,aAAa,CAAC,CAAC;IAC7D,MAAM,cAAc,GAAG,IAAA,4BAAQ,EAAC,qBAAqB,EAAE,wBAAwB,CAAC,CAAC;IACjF,MAAM,EAAE,MAAM,EAAE,UAAU,EAAE,OAAO,EAAE,GAAG,KAAK,CAAC;IAC9C,MAAM,GAAG,GAAgB,EAAE,CAAC;IAE5B,IAAI,MAAM,KAAK,IAAI,EAAE,CAAC;QACpB,GAAG,CAAC,IAAI,CACN,8BAAgB,SAAS,EAAE,GAAG,CAAC,MAAM,EAAE,YAAY,CAAC,YACjD,CAAC,CAAC,kBAAkB,CAAC,IADjB,QAAQ,CAEX,EACJ,GAAG,OAAO,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CACpB,mCAEE,IAAI,EAAC,QAAQ,EACb,SAAS,EAAE,cAAc,2BACF,CAAC,EACxB,QAAQ,EAAE,IAAI,IAAI,KAAK,CAAC,IAAI,EAC5B,OAAO,EAAE,GAAG,EAAE;gBACZ,WAAW,EAAE,CAAC;gBACd,KAAK,UAAU,CAAC,MAAM,CAAC,CAAC,CAAC,CAAC;YAC5B,CAAC,YAEA,CAAC,CAAC,CAAC,KAAK,MAAM,CAAC,CAAC,CAAC,sBAAsB,CAAC,CAAC,CAAC,qBAAqB,CAAC,IAV5D,CAAC,CAWC,CACV,CAAC,CACH,CAAC;IACJ,CAAC;SAAM,IAAI,MAAM,KAAK,MAAM,EAAE,CAAC;QAC7B,IAAI,CAAC,UAAU,EAAE,CAAC;YAChB,GAAG,CAAC,IAAI,CACN,8BAAmB,SAAS,EAAE,GAAG,CAAC,MAAM,EAAE,YAAY,CAAC,eAAY,QAAQ,YACxE,KAAK,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,CAAC,qBAAqB,CAAC,CAAC,CAAC,CAAC,IAAI,IADxC,WAAW,CAEd,CACL,CAAC;QACJ,CAAC;aAAM,CAAC;YACN,GAAG,CAAC,IAAI,CACN,8BAAc,SAAS,EAAE,GAAG,CAAC,MAAM,EAAE,YAAY,CAAC,YAC/C,CAAC,CAAC,gBAAgB,CAAC,IADf,MAAM,CAET,CACL,CAAC;YACF,IAAI,UAAU,CAAC,MAAM,EAAE,CAAC;gBACtB,GAAG,CAAC,IAAI,CACN,gCAAc,SAAS,EAAC,cAAc,gBAAY,QAAQ,EAAC,GAAG,EAAE,UAAU,CAAC,MAAM,EAAE,GAAG,EAAE,CAAC,CAAC,iBAAiB,CAAC,EAAE,KAAK,EAAE,GAAG,EAAE,MAAM,EAAE,GAAG,IAA5H,IAAI,CAA4H,CAC1I,CAAC;YACJ,CAAC;YACD,IAAI,UAAU,CAAC,MAAM,EAAE,CAAC;gBACtB,GAAG,CAAC,IAAI,CACN,+BAAgB,SAAS,EAAE,GAAG,CAAC,MAAM,EAAE,YAAY,CAAC,gBAAa,eAAe,aAC7E,CAAC,CAAC,oBAAoB,CAAC,QAAG,2CAAO,IAAA,kBAAa,EAAC,UAAU,CAAC,MAAM,CAAC,GAAQ,KADrE,QAAQ,CAEX,CACL,CAAC;YACJ,CAAC;YACD,GAAG,CAAC,IAAI,CAAC,KAAK,CAAC,MAAM,EAAE,0BAA0B,EAAE,MAAM,EAAE,EAAE,YAAY,EAAE,eAAe,EAAE,SAAS,EAAE,SAAS,EAAE,CAAC,CAAC,CAAC;YACrH,IAAI,KAAK,CAAC,SAAS,IAAI,CAAC,EAAE,CAAC;gBACzB,GAAG,CAAC,IAAI,CAAC,KAAK,CAAC,YAAY,EAAE,2BAA2B,EAAE,MAAM,EAAE,EAAE,YAAY,EAAE,eAAe,EAAE,SAAS,EAAE,SAAS,EAAE,CAAC,CAAC,CAAC;YAC9H,CAAC;QACH,CAAC;IACH,CAAC;SAAM,IAAI,CAAC,UAAU,EAAE,CAAC;QACvB,GAAG,CAAC,IAAI,CACN,KAAK,CAAC,OAAO,EAAE,gBAAgB,EAAE,KAAK,EAAE,EAAE,YAAY,EAAE,KAAK,EAAE,SAAS,EAAE,KAAK,EAAE,CAAC,EAClF,8BAAoB,SAAS,EAAE,GAAG,CAAC,MAAM,EAAE,YAAY,CAAC,YACrD,CAAC,CAAC,eAAe,CAAC,IADd,YAAY,CAEf,CACL,CAAC;IACJ,CAAC;SAAM,CAAC;QACN,GAAG,CAAC,IAAI,CACN,8BAAgB,SAAS,EAAE,GAAG,CAAC,MAAM,EAAE,YAAY,CAAC,gBAAa,iBAAiB,eAAW,QAAQ,YAClG,CAAC,CAAC,kBAAkB,EAAE,EAAE,KAAK,EAAE,UAAU,CAAC,KAAK,IAAI,EAAE,EAAE,CAAC,IADpD,QAAQ,CAEX,EACJ,KAAK,CAAC,MAAM,EAAE,eAAe,EAAE,MAAM,EAAE,EAAE,YAAY,EAAE,eAAe,EAAE,SAAS,EAAE,SAAS,EAAE,CAAC,EAC/F,mCAEE,IAAI,EAAC,QAAQ,EACb,SAAS,EAAE,GAAG,CAAC,MAAM,EAAE,YAAY,CAAC,uBAClB,EAAE,EACpB,QAAQ,EAAE,IAAI,IAAI,KAAK,CAAC,IAAI,EAC5B,OAAO,EAAE,GAAG,EAAE,CAAC,KAAK,UAAU,CAAC,MAAM,EAAE,YAEtC,CAAC,CAAC,mBAAmB,CAAC,IAPnB,QAAQ,CAQL,CACV,CAAC;IACJ,CAAC;IAED,KAAK,MAAM,KAAK,IAAI,KAAK,CAAC,MAAM,EAAE,CAAC;QACjC,GAAG,CAAC,IAAI,CACN,8BAA0D,SAAS,EAAE,UAAU,EAAE,IAAI,EAAC,OAAO,YAC1F,KAAK,CAAC,OAAO,IADR,eAAe,KAAK,CAAC,IAAI,IAAI,KAAK,CAAC,KAAK,IAAI,EAAE,EAAE,CAEpD,CACL,CAAC;IACJ,CAAC;IAED,IAAI,MAAM,KAAK,IAAI,IAAI,OAAO,CAAC,MAAM,GAAG,CAAC,EAAE,CAAC;QAC1C,MAAM,KAAK,GAAG,OAAO,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,KAAK,MAAM,CAAE,CAAC;QACjD,GAAG,CAAC,IAAI,CACN,mCAEE,IAAI,EAAC,QAAQ,EACb,SAAS,EAAE,GAAG,CAAC,MAAM,EAAE,YAAY,CAAC,2BACb,KAAK,EAC5B,QAAQ,EAAE,IAAI,IAAI,KAAK,CAAC,IAAI,EAC5B,OAAO,EAAE,GAAG,EAAE;gBACZ,WAAW,EAAE,CAAC;gBACd,KAAK,UAAU,CAAC,MAAM,CAAC,KAAK,CAAC,CAAC;YAChC,CAAC,YAEA,CAAC,CAAC,KAAK,KAAK,MAAM,CAAC,CAAC,CAAC,sBAAsB,CAAC,CAAC,CAAC,qBAAqB,CAAC,IAVjE,QAAQ,CAWL,CACV,CAAC;IACJ,CAAC;IACD,OAAO,2DAAG,GAAG,GAAI,CAAC;AACpB,CAAC;AAED;;;;GAIG;AACH,SAAgB,sBAAsB,CAAC,EAAE,SAAS,EAAE,QAAQ,EAAyD;IACnH,MAAM,MAAM,GAAG,IAAA,iCAAa,GAAE,CAAC;IAC/B,MAAM,CAAC,GAAG,IAAA,2BAAO,GAAE,CAAC;IACpB,MAAM,GAAG,GAAG,IAAA,8BAAU,GAAE,CAAC;IACzB,MAAM,CAAC,KAAK,EAAE,QAAQ,CAAC,GAAG,IAAA,gBAAQ,EAAsD,EAAE,CAAC,CAAC;IAC5F,MAAM,IAAI,GAAG,QAAQ,KAAK,KAAK,CAAC,CAAC,CAAC,mBAAmB,CAAC,CAAC,CAAC,qBAAqB,CAAC;IAC9E,MAAM,IAAI,GAAG,GAAG,EAAE;QAChB,QAAQ,CAAC,EAAE,IAAI,EAAE,IAAI,EAAE,CAAC,CAAC;QACzB,IAAA,4BAAuB,EAAC,MAAM,EAAE,SAAS,EAAE,QAAQ,CAAC;aACjD,IAAI,CAAC,CAAC,EAAE,MAAM,EAAE,EAAE,EAAE,CAAC,QAAQ,CAAC,EAAE,MAAM,EAAE,CAAC,CAAC;aAC1C,KAAK,CAAC,CAAC,CAAU,EAAE,EAAE,CAAC,QAAQ,CAAC,EAAE,KAAK,EAAE,CAAC,YAAY,KAAK,CAAC,CAAC,CAAC,CAAC,CAAC,OAAO,CAAC,CAAC,CAAC,MAAM,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC;IAC5F,CAAC,CAAC;IACF,IAAI,KAAK,CAAC,MAAM,KAAK,SAAS,EAAE,CAAC;QAC/B,OAAO,CACL,8BAAG,SAAS,EAAE,GAAG,CAAC,MAAM,EAAE,YAAY,CAAC,gBAAc,GAAG,IAAI,OAAO,eAAY,QAAQ,YACpF,QAAQ,KAAK,KAAK,CAAC,CAAC,CAAC,CAAC,CAAC,kBAAkB,EAAE,EAAE,KAAK,EAAE,KAAK,CAAC,MAAM,EAAE,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,mBAAmB,EAAE,EAAE,KAAK,EAAE,KAAK,CAAC,MAAM,EAAE,CAAC,GACpH,CACL,CAAC;IACJ,CAAC;IACD,OAAO,CACL,6DACE,mCAAQ,IAAI,EAAC,QAAQ,EAAC,SAAS,EAAE,GAAG,CAAC,MAAM,EAAE,YAAY,CAAC,gBAAc,IAAI,EAAE,QAAQ,EAAE,KAAK,CAAC,IAAI,EAAE,OAAO,EAAE,IAAI,YAC9G,KAAK,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,CAAC,gBAAgB,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,QAAQ,KAAK,KAAK,CAAC,CAAC,CAAC,mBAAmB,CAAC,CAAC,CAAC,wBAAwB,CAAC,GACnG,EACR,KAAK,CAAC,KAAK,CAAC,CAAC,CAAC,CACb,gCAAK,SAAS,EAAE,GAAG,CAAC,OAAO,EAAE,aAAa,CAAC,EAAE,IAAI,EAAC,OAAO,YACtD,KAAK,CAAC,KAAK,GACR,CACP,CAAC,CAAC,CAAC,IAAI,IACP,CACJ,CAAC;AACJ,CAAC;AAED,MAAM,mBAAmB,GAAG;IAC1B,SAAS,EAAE,MAAM;IACjB,OAAO,EAAE,CAAC;IACV,MAAM,EAAE,YAAY;IACpB,OAAO,EAAE,MAAM;IACf,mBAAmB,EAAE,2BAA2B;IAChD,GAAG,EAAE,CAAC;IACN,UAAU,EAAE,gDAAgD;IAC5D,SAAS,EAAE,QAAQ;CACX,CAAC;AAEX;;;;;GAKG;AACH,SAAgB,aAAa,CAAC,EAAE,KAAK,EAAE,IAAI,EAAE,OAAO,EAAuD;IACzG,MAAM,CAAC,GAAG,IAAA,2BAAO,GAAE,CAAC;IACpB,MAAM,GAAG,GAAG,IAAA,8BAAU,GAAE,CAAC;IACzB,MAAM,SAAS,GAAG,IAAA,4BAAQ,EAAC,MAAM,EAAE,YAAY,CAAC,CAAC;IACjD,MAAM,UAAU,GAAG,IAAA,4BAAQ,EAAC,aAAa,EAAE,aAAa,CAAC,CAAC;IAC1D,MAAM,WAAW,GAAG,IAAA,4BAAQ,EAAC,mBAAmB,EAAE,cAAc,CAAC,CAAC;IAClE,MAAM,cAAc,GAAG,IAAA,4BAAQ,EAAC,qBAAqB,EAAE,wBAAwB,CAAC,CAAC;IACjF,MAAM,CAAC,MAAM,EAAE,SAAS,CAAC,GAAG,IAAA,gBAAQ,EAAC,KAAK,CAAC,CAAC;IAC5C,MAAM,OAAO,GAAG,OAAO,SAAS,KAAK,WAAW,IAAI,CAAC,CAAC,SAAS,CAAC,SAAS,EAAE,SAAS,CAAC;IACrF,OAAO,CACL,iCAAK,SAAS,EAAE,SAAS,gBAAa,gBAAgB,aACpD,+BAAI,SAAS,EAAE,UAAU,YAAG,CAAC,CAAC,wBAAwB,CAAC,GAAM,EAC7D,8BAAG,SAAS,EAAE,GAAG,CAAC,MAAM,EAAE,YAAY,CAAC,YAAG,CAAC,CAAC,uBAAuB,CAAC,GAAK,EACzE,6CAAe,qBAAqB,EAAC,KAAK,EAAE,mBAAmB,YAC5D,KAAK,CAAC,GAAG,CAAC,CAAC,IAAI,EAAE,EAAE,CAAC,CACnB,yCACE,2CAAO,IAAI,GAAQ,IADZ,IAAI,CAER,CACN,CAAC,GACC,EACL,iCAAK,SAAS,EAAC,oBAAoB,aAChC,OAAO,CAAC,CAAC,CAAC,CACT,mCACE,IAAI,EAAC,QAAQ,EACb,SAAS,EAAE,cAAc,gBACd,qBAAqB,EAChC,OAAO,EAAE,GAAG,EAAE,CAAC,KAAK,IAAA,sBAAiB,EAAC,KAAK,CAAC,CAAC,IAAI,CAAC,SAAS,CAAC,YAE3D,CAAC,CAAC,uBAAuB,CAAC,GACpB,CACV,CAAC,CAAC,CAAC,IAAI,EACP,IAAA,6BAAwB,GAAE,CAAC,CAAC,CAAC,CAC5B,mCACE,IAAI,EAAC,QAAQ,EACb,SAAS,EAAE,cAAc,gBACd,yBAAyB,EACpC,OAAO,EAAE,GAAG,EAAE,CAAC,IAAA,0BAAqB,EAAC,KAAK,CAAC,YAE1C,CAAC,CAAC,2BAA2B,CAAC,GACxB,CACV,CAAC,CAAC,CAAC,IAAI,IACJ,EACL,MAAM,CAAC,CAAC,CAAC,CACR,8BAAG,SAAS,EAAE,GAAG,CAAC,MAAM,EAAE,YAAY,CAAC,eAAY,QAAQ,gBAAY,uBAAuB,YAC3F,CAAC,CAAC,yBAAyB,CAAC,GAC3B,CACL,CAAC,CAAC,CAAC,IAAI,EACR,mCAAQ,IAAI,EAAC,QAAQ,EAAC,SAAS,EAAE,WAAW,gBAAa,sBAAsB,EAAC,QAAQ,EAAE,IAAI,EAAE,OAAO,EAAE,OAAO,YAC7G,CAAC,CAAC,wBAAwB,CAAC,GACrB,IACL,CACP,CAAC;AACJ,CAAC;AAED,MAAM,WAAW,GAAG,IAAI,CAAC;AACzB,MAAM,cAAc,GAAG,GAAG,CAAC;AAE3B;;;;GAIG;AACH,SAAgB,qBAAqB,CAAC,EAAE,SAAS,EAAE,QAAQ,EAAyE;IAClI,MAAM,MAAM,GAAG,IAAA,iCAAa,GAAE,CAAC;IAC/B,MAAM,GAAG,GAAG,IAAA,8BAAU,GAAE,CAAC;IACzB,MAAM,CAAC,KAAK,EAAE,QAAQ,CAAC,GAAG,IAAA,gBAAQ,EAAwD,EAAE,CAAC,CAAC;IAC9F,MAAM,KAAK,GAAG,IAAA,cAAM,EAAwC,IAAI,CAAC,CAAC;IAClE,MAAM,IAAI,GAAG,GAAG,EAAE;QAChB,IAAI,KAAK,CAAC,OAAO;YAAE,aAAa,CAAC,KAAK,CAAC,OAAO,CAAC,CAAC;QAChD,KAAK,CAAC,OAAO,GAAG,IAAI,CAAC;IACvB,CAAC,CAAC;IACF,IAAA,iBAAS,EAAC,GAAG,EAAE,CAAC,IAAI,EAAE,EAAE,CAAC,CAAC;IAC1B,MAAM,KAAK,GAAG,KAAK,IAAI,EAAE;QACvB,QAAQ,CAAC,EAAE,IAAI,EAAE,IAAI,EAAE,CAAC,CAAC;QACzB,mEAAmE;QACnE,MAAM,KAAK,GAAG,OAAO,MAAM,KAAK,WAAW,CAAC,CAAC,CAAC,MAAM,CAAC,IAAI,CAAC,EAAE,EAAE,WAAW,EAAE,sBAAsB,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC;QAC1G,MAAM,EAAE,MAAM,EAAE,QAAQ,EAAE,GAAG,MAAM,IAAA,eAAU,EAAC,MAAM,EAAE,SAAS,CAAC,CAAC;QACjE,IAAI,CAAC,MAAM,EAAE,CAAC;YACZ,KAAK,EAAE,KAAK,EAAE,CAAC;YACf,QAAQ,CAAC,EAAE,KAAK,EAAE,QAAQ,CAAC,MAAM,CAAC,CAAC,CAAC,EAAE,OAAO,IAAI,iCAAiC,EAAE,CAAC,CAAC;YACtF,OAAO;QACT,CAAC;QACD,IAAI,KAAK;YAAE,KAAK,CAAC,QAAQ,CAAC,IAAI,GAAG,MAAM,CAAC,gBAAgB,CAAC;aACpD,IAAI,OAAO,MAAM,KAAK,WAAW;YAAE,MAAM,CAAC,QAAQ,CAAC,MAAM,CAAC,MAAM,CAAC,gBAAgB,CAAC,CAAC;QACxF,QAAQ,CAAC,EAAE,OAAO,EAAE,IAAI,EAAE,CAAC,CAAC;QAC5B,IAAI,KAAK,GAAG,CAAC,CAAC;QACd,IAAI,EAAE,CAAC;QACP,KAAK,CAAC,OAAO,GAAG,WAAW,CAAC,GAAG,EAAE;YAC/B,KAAK,IAAI,CAAC,CAAC;YACX,IAAI,KAAK,GAAG,cAAc,EAAE,CAAC;gBAC3B,IAAI,EAAE,CAAC;gBACP,QAAQ,CAAC,EAAE,KAAK,EAAE,yCAAyC,EAAE,CAAC,CAAC;gBAC/D,OAAO;YACT,CAAC;YACD,QAAQ,CAAC,EAAE,QAAQ,EAAE,KAAK,EAAE,CAAC,CAAC;QAChC,CAAC,EAAE,WAAW,CAAC,CAAC;IAClB,CAAC,CAAC;IACF,IAAI,KAAK,CAAC,OAAO,EAAE,CAAC;QAClB,OAAO,CACL,8BAAG,SAAS,EAAE,GAAG,CAAC,MAAM,EAAE,YAAY,CAAC,gBAAa,aAAa,eAAW,QAAQ,wGAEhF,CACL,CAAC;IACJ,CAAC;IACD,OAAO,CACL,6DACE,mCAAQ,IAAI,EAAC,QAAQ,EAAC,SAAS,EAAE,GAAG,CAAC,MAAM,EAAE,YAAY,CAAC,gBAAa,mBAAmB,EAAC,QAAQ,EAAE,KAAK,CAAC,IAAI,EAAE,OAAO,EAAE,GAAG,EAAE,CAAC,KAAK,KAAK,EAAE,gCAEnI,EACR,KAAK,CAAC,KAAK,CAAC,CAAC,CAAC,CACb,gCAAK,SAAS,EAAE,GAAG,CAAC,OAAO,EAAE,aAAa,CAAC,EAAE,IAAI,EAAC,OAAO,YACtD,KAAK,CAAC,KAAK,GACR,CACP,CAAC,CAAC,CAAC,IAAI,IACP,CACJ,CAAC;AACJ,CAAC"}
|
|
@@ -0,0 +1,38 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* The tenant-admin widgets that sit inside `<OrganizationProfile adminSections>`
|
|
3
|
+
* (or alone, next to it): SSO connection, directory sync, domains, log streams,
|
|
4
|
+
* API keys, sign-in IP allowlist and webhooks. Each one works on the ACTIVE
|
|
5
|
+
* organization, follows the server's permission gate (it renders nothing for a
|
|
6
|
+
* member who may not manage the organization) and takes its labels as props so
|
|
7
|
+
* an app can localise them. Secrets the server returns once are shown once.
|
|
8
|
+
*/
|
|
9
|
+
type Labels = Record<string, string | undefined>;
|
|
10
|
+
/** `<OrganizationSsoConnection/>` — set up the organization's own OIDC or SAML sign-in. */
|
|
11
|
+
export declare function OrganizationSsoConnection({ labels }?: {
|
|
12
|
+
labels?: Labels;
|
|
13
|
+
}): import("react").JSX.Element | null;
|
|
14
|
+
/** `<OrganizationDirectory/>` — directory sync (SCIM): the endpoint to point the IdP at and its tokens. */
|
|
15
|
+
export declare function OrganizationDirectory({ labels }?: {
|
|
16
|
+
labels?: Labels;
|
|
17
|
+
}): import("react").JSX.Element | null;
|
|
18
|
+
/** `<OrganizationDomains/>` — claim email domains and verify them with a DNS TXT record. */
|
|
19
|
+
export declare function OrganizationDomains({ labels }?: {
|
|
20
|
+
labels?: Labels;
|
|
21
|
+
}): import("react").JSX.Element | null;
|
|
22
|
+
/** `<OrganizationLogStreams/>` — send the organization's audit events to its own SIEM. */
|
|
23
|
+
export declare function OrganizationLogStreams({ labels }?: {
|
|
24
|
+
labels?: Labels;
|
|
25
|
+
}): import("react").JSX.Element | null;
|
|
26
|
+
/** `<OrganizationApiKeys/>` — keys bound to the organization, shown once on creation. */
|
|
27
|
+
export declare function OrganizationApiKeys({ labels }?: {
|
|
28
|
+
labels?: Labels;
|
|
29
|
+
}): import("react").JSX.Element | null;
|
|
30
|
+
/** `<OrganizationIpAllowlist/>` — limit where members of the organization may sign in from. */
|
|
31
|
+
export declare function OrganizationIpAllowlist({ labels }?: {
|
|
32
|
+
labels?: Labels;
|
|
33
|
+
}): import("react").JSX.Element | null;
|
|
34
|
+
/** `<OrganizationWebhooks/>` — the organization's own signed event endpoints. */
|
|
35
|
+
export declare function OrganizationWebhooks({ labels }?: {
|
|
36
|
+
labels?: Labels;
|
|
37
|
+
}): import("react").JSX.Element | null;
|
|
38
|
+
export {};
|
|
@@ -0,0 +1,192 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
'use client';
|
|
3
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
4
|
+
exports.OrganizationSsoConnection = OrganizationSsoConnection;
|
|
5
|
+
exports.OrganizationDirectory = OrganizationDirectory;
|
|
6
|
+
exports.OrganizationDomains = OrganizationDomains;
|
|
7
|
+
exports.OrganizationLogStreams = OrganizationLogStreams;
|
|
8
|
+
exports.OrganizationApiKeys = OrganizationApiKeys;
|
|
9
|
+
exports.OrganizationIpAllowlist = OrganizationIpAllowlist;
|
|
10
|
+
exports.OrganizationWebhooks = OrganizationWebhooks;
|
|
11
|
+
const jsx_runtime_1 = require("react/jsx-runtime");
|
|
12
|
+
const react_1 = require("react");
|
|
13
|
+
const js_1 = require("@atlasauth/js");
|
|
14
|
+
const hooks_1 = require("./hooks");
|
|
15
|
+
const components_shared_1 = require("./components-shared");
|
|
16
|
+
const messageOf = (err) => (err instanceof Error ? err.message : 'The request failed.');
|
|
17
|
+
/** Load one admin resource for the active organization and re-load it after each mutation. */
|
|
18
|
+
function useAdminData(load) {
|
|
19
|
+
const { organization } = (0, hooks_1.useOrganization)();
|
|
20
|
+
const client = (0, components_shared_1.useMeClient)();
|
|
21
|
+
const orgId = organization?.id;
|
|
22
|
+
const [data, setData] = (0, react_1.useState)(null);
|
|
23
|
+
const [loading, setLoading] = (0, react_1.useState)(true);
|
|
24
|
+
const [error, setError] = (0, react_1.useState)(null);
|
|
25
|
+
const [forbidden, setForbidden] = (0, react_1.useState)(false);
|
|
26
|
+
const reload = (0, react_1.useCallback)(async () => {
|
|
27
|
+
if (!orgId)
|
|
28
|
+
return;
|
|
29
|
+
try {
|
|
30
|
+
setData(await load(client, orgId));
|
|
31
|
+
setForbidden(false);
|
|
32
|
+
setError(null);
|
|
33
|
+
}
|
|
34
|
+
catch (err) {
|
|
35
|
+
if (err instanceof js_1.OrganizationRequestError && (err.status === 403 || err.status === 404))
|
|
36
|
+
setForbidden(true);
|
|
37
|
+
else
|
|
38
|
+
setError(messageOf(err));
|
|
39
|
+
}
|
|
40
|
+
finally {
|
|
41
|
+
setLoading(false);
|
|
42
|
+
}
|
|
43
|
+
// `load` is a module-level function in every caller; the org and client drive reloads.
|
|
44
|
+
}, [client, orgId]);
|
|
45
|
+
(0, react_1.useEffect)(() => {
|
|
46
|
+
setLoading(true);
|
|
47
|
+
void reload();
|
|
48
|
+
}, [reload]);
|
|
49
|
+
const act = (0, react_1.useCallback)(async (fn) => {
|
|
50
|
+
try {
|
|
51
|
+
const out = await fn();
|
|
52
|
+
setError(null);
|
|
53
|
+
await reload();
|
|
54
|
+
return out;
|
|
55
|
+
}
|
|
56
|
+
catch (err) {
|
|
57
|
+
setError(messageOf(err));
|
|
58
|
+
return null;
|
|
59
|
+
}
|
|
60
|
+
}, [reload]);
|
|
61
|
+
return { data, loading, error, forbidden, reload, act };
|
|
62
|
+
}
|
|
63
|
+
function Section({ name, title, admin, children, }) {
|
|
64
|
+
const cardClass = (0, components_shared_1.useClass)('card', 'atlas-card');
|
|
65
|
+
const cls = (0, components_shared_1.useClasses)();
|
|
66
|
+
if (admin.forbidden)
|
|
67
|
+
return null;
|
|
68
|
+
return ((0, jsx_runtime_1.jsxs)("div", { className: cardClass, "data-atlas": name, children: [(0, jsx_runtime_1.jsx)("h2", { className: cls('headerTitle', 'atlas-title'), children: title }), admin.error ? ((0, jsx_runtime_1.jsx)("p", { className: cls('alert', 'atlas-alert'), role: "alert", children: admin.error })) : null, admin.loading ? null : children] }));
|
|
69
|
+
}
|
|
70
|
+
function Field({ label, children }) {
|
|
71
|
+
const cls = (0, components_shared_1.useClasses)();
|
|
72
|
+
return ((0, jsx_runtime_1.jsxs)("label", { className: cls('formField', 'atlas-field'), children: [(0, jsx_runtime_1.jsx)("span", { className: cls('formFieldLabel', 'atlas-field-label'), children: label }), children] }));
|
|
73
|
+
}
|
|
74
|
+
/** A value shown exactly once (a new secret) with a note to copy it now. */
|
|
75
|
+
function OneTimeSecret({ value, note }) {
|
|
76
|
+
const cls = (0, components_shared_1.useClasses)();
|
|
77
|
+
if (!value)
|
|
78
|
+
return null;
|
|
79
|
+
return ((0, jsx_runtime_1.jsxs)("p", { className: cls('text', 'atlas-text'), "data-atlas": "one-time-secret", children: [(0, jsx_runtime_1.jsx)("input", { className: cls('formFieldInput', 'atlas-input'), readOnly: true, value: value, "aria-label": note, onFocus: (e) => e.currentTarget.select() }), (0, jsx_runtime_1.jsx)("small", { children: note })] }));
|
|
80
|
+
}
|
|
81
|
+
/** `<OrganizationSsoConnection/>` — set up the organization's own OIDC or SAML sign-in. */
|
|
82
|
+
function OrganizationSsoConnection({ labels = {} } = {}) {
|
|
83
|
+
const admin = useAdminData(js_1.organizationAdmin.getSso);
|
|
84
|
+
const client = (0, components_shared_1.useMeClient)();
|
|
85
|
+
const { organization } = (0, hooks_1.useOrganization)();
|
|
86
|
+
const cls = (0, components_shared_1.useClasses)();
|
|
87
|
+
const [form, setForm] = (0, react_1.useState)({});
|
|
88
|
+
const [type, setType] = (0, react_1.useState)('oidc');
|
|
89
|
+
const conn = admin.data?.connection ?? null;
|
|
90
|
+
(0, react_1.useEffect)(() => {
|
|
91
|
+
if (conn)
|
|
92
|
+
setType(conn.type);
|
|
93
|
+
}, [conn]);
|
|
94
|
+
if (!organization)
|
|
95
|
+
return null;
|
|
96
|
+
const set = (key) => (e) => setForm((f) => ({ ...f, [key]: e.target.value }));
|
|
97
|
+
const sp = admin.data?.sp;
|
|
98
|
+
const save = () => {
|
|
99
|
+
const input = { type };
|
|
100
|
+
for (const [k, v] of Object.entries(form))
|
|
101
|
+
if (v !== '')
|
|
102
|
+
input[k] = v;
|
|
103
|
+
return admin.act(() => js_1.organizationAdmin.saveSso(client, organization.id, input)).then(() => setForm({}));
|
|
104
|
+
};
|
|
105
|
+
return ((0, jsx_runtime_1.jsxs)(Section, { name: "organization-sso-connection", title: labels.title ?? 'Single sign-on', admin: admin, children: [(0, jsx_runtime_1.jsx)("p", { className: cls('headerSubtitle', 'atlas-subtitle'), children: conn ? `${conn.type.toUpperCase()} — ${conn.status}` : (labels.none ?? 'No connection yet.') }), sp ? ((0, jsx_runtime_1.jsxs)(jsx_runtime_1.Fragment, { children: [(0, jsx_runtime_1.jsx)(Field, { label: labels.acsUrl ?? 'ACS URL (SAML)', children: (0, jsx_runtime_1.jsx)("input", { className: cls('formFieldInput', 'atlas-input'), readOnly: true, value: sp.acs_url }) }), (0, jsx_runtime_1.jsx)(Field, { label: labels.redirectUri ?? 'Redirect URI (OIDC)', children: (0, jsx_runtime_1.jsx)("input", { className: cls('formFieldInput', 'atlas-input'), readOnly: true, value: sp.oidc_redirect_uri }) }), sp.sp_entity_id ? ((0, jsx_runtime_1.jsx)(Field, { label: labels.entityId ?? 'SP entity ID / metadata URL', children: (0, jsx_runtime_1.jsx)("input", { className: cls('formFieldInput', 'atlas-input'), readOnly: true, value: sp.sp_entity_id }) })) : null] })) : null, conn ? null : ((0, jsx_runtime_1.jsx)("div", { role: "radiogroup", children: ['oidc', 'saml'].map((t) => ((0, jsx_runtime_1.jsxs)("label", { children: [(0, jsx_runtime_1.jsx)("input", { type: "radio", name: "sso-type", checked: type === t, onChange: () => setType(t) }), " ", t.toUpperCase()] }, t))) })), type === 'oidc' ? ((0, jsx_runtime_1.jsxs)(jsx_runtime_1.Fragment, { children: [(0, jsx_runtime_1.jsx)(Field, { label: labels.issuer ?? 'Issuer URL', children: (0, jsx_runtime_1.jsx)("input", { className: cls('formFieldInput', 'atlas-input'), placeholder: conn?.oidc_issuer ?? '', value: form.oidc_issuer ?? '', onChange: set('oidc_issuer') }) }), (0, jsx_runtime_1.jsx)(Field, { label: labels.clientId ?? 'Client ID', children: (0, jsx_runtime_1.jsx)("input", { className: cls('formFieldInput', 'atlas-input'), placeholder: conn?.oidc_client_id ?? '', value: form.oidc_client_id ?? '', onChange: set('oidc_client_id') }) }), (0, jsx_runtime_1.jsx)(Field, { label: labels.clientSecret ?? 'Client secret', children: (0, jsx_runtime_1.jsx)("input", { className: cls('formFieldInput', 'atlas-input'), type: "password", autoComplete: "off", placeholder: conn?.has_secret ? '••••••••' : '', value: form.oidc_client_secret ?? '', onChange: set('oidc_client_secret') }) })] })) : ((0, jsx_runtime_1.jsxs)(jsx_runtime_1.Fragment, { children: [(0, jsx_runtime_1.jsx)(Field, { label: labels.metadataXml ?? 'IdP metadata XML', children: (0, jsx_runtime_1.jsx)("textarea", { className: cls('formFieldInput', 'atlas-input'), rows: 4, value: form.saml_metadata_xml ?? '', onChange: set('saml_metadata_xml') }) }), (0, jsx_runtime_1.jsx)(Field, { label: labels.certificate ?? 'IdP signing certificate (PEM)', children: (0, jsx_runtime_1.jsx)("textarea", { className: cls('formFieldInput', 'atlas-input'), rows: 4, placeholder: conn?.has_saml_certificate ? '••••••••' : '', value: form.saml_idp_certificate ?? '', onChange: set('saml_idp_certificate') }) })] })), (0, jsx_runtime_1.jsx)("button", { type: "button", className: cls('formButtonPrimary', 'atlas-button'), onClick: () => void save(), children: labels.save ?? 'Save connection' })] }));
|
|
106
|
+
}
|
|
107
|
+
/** `<OrganizationDirectory/>` — directory sync (SCIM): the endpoint to point the IdP at and its tokens. */
|
|
108
|
+
function OrganizationDirectory({ labels = {} } = {}) {
|
|
109
|
+
const admin = useAdminData(js_1.organizationAdmin.getDirectory);
|
|
110
|
+
const client = (0, components_shared_1.useMeClient)();
|
|
111
|
+
const { organization } = (0, hooks_1.useOrganization)();
|
|
112
|
+
const cls = (0, components_shared_1.useClasses)();
|
|
113
|
+
const [secret, setSecret] = (0, react_1.useState)(null);
|
|
114
|
+
if (!organization)
|
|
115
|
+
return null;
|
|
116
|
+
return ((0, jsx_runtime_1.jsxs)(Section, { name: "organization-directory", title: labels.title ?? 'Directory sync', admin: admin, children: [admin.data ? ((0, jsx_runtime_1.jsx)(Field, { label: labels.baseUrl ?? 'SCIM base URL', children: (0, jsx_runtime_1.jsx)("input", { className: cls('formFieldInput', 'atlas-input'), readOnly: true, value: admin.data.base_url }) })) : null, (0, jsx_runtime_1.jsx)("ul", { className: cls('list', 'atlas-list'), children: admin.data?.tokens.map((t) => ((0, jsx_runtime_1.jsxs)("li", { className: cls('listItem', 'atlas-audit-item'), children: [(0, jsx_runtime_1.jsx)("code", { children: t.prefix }), (0, jsx_runtime_1.jsx)("button", { type: "button", className: cls('formButtonSecondary', 'atlas-button-secondary'), onClick: () => void admin.act(() => js_1.organizationAdmin.revokeDirectoryToken(client, organization.id, t.id)), children: labels.revoke ?? 'Revoke' })] }, t.id))) }), (0, jsx_runtime_1.jsx)(OneTimeSecret, { value: secret, note: labels.copyNow ?? 'Copy this token now — it will not be shown again.' }), (0, jsx_runtime_1.jsx)("button", { type: "button", className: cls('formButtonPrimary', 'atlas-button'), onClick: () => void admin.act(() => js_1.organizationAdmin.createDirectoryToken(client, organization.id)).then((r) => r && setSecret(r.token)), children: labels.generate ?? 'Generate token' })] }));
|
|
117
|
+
}
|
|
118
|
+
/** `<OrganizationDomains/>` — claim email domains and verify them with a DNS TXT record. */
|
|
119
|
+
function OrganizationDomains({ labels = {} } = {}) {
|
|
120
|
+
const admin = useAdminData(js_1.organizationAdmin.listDomains);
|
|
121
|
+
const client = (0, components_shared_1.useMeClient)();
|
|
122
|
+
const { organization } = (0, hooks_1.useOrganization)();
|
|
123
|
+
const cls = (0, components_shared_1.useClasses)();
|
|
124
|
+
const [domain, setDomain] = (0, react_1.useState)('');
|
|
125
|
+
const [note, setNote] = (0, react_1.useState)(null);
|
|
126
|
+
if (!organization)
|
|
127
|
+
return null;
|
|
128
|
+
return ((0, jsx_runtime_1.jsxs)(Section, { name: "organization-domains", title: labels.title ?? 'Domains', admin: admin, children: [(0, jsx_runtime_1.jsx)("ul", { className: cls('list', 'atlas-list'), children: admin.data?.map((d) => ((0, jsx_runtime_1.jsxs)("li", { className: cls('listItem', 'atlas-audit-item'), "data-status": d.status, children: [(0, jsx_runtime_1.jsx)("strong", { children: d.domain }), " \u2014 ", d.status, d.status === 'verified' ? null : ((0, jsx_runtime_1.jsxs)("small", { children: [' ', labels.txtHint ?? 'Publish a TXT record', " ", (0, jsx_runtime_1.jsx)("code", { children: d.verification.record_name }), " = ", (0, jsx_runtime_1.jsx)("code", { children: d.verification.record_value })] })), d.status === 'verified' ? null : ((0, jsx_runtime_1.jsx)("button", { type: "button", className: cls('formButtonSecondary', 'atlas-button-secondary'), onClick: () => void admin
|
|
129
|
+
.act(() => js_1.organizationAdmin.verifyDomain(client, organization.id, d.id))
|
|
130
|
+
.then((r) => r && setNote(r.verified ? (labels.verified ?? 'Verified.') : (labels.notFound ?? 'Not found yet — DNS can take a few minutes.'))), children: labels.verify ?? 'Verify' })), (0, jsx_runtime_1.jsx)("button", { type: "button", className: cls('formButtonSecondary', 'atlas-button-secondary'), onClick: () => void admin.act(() => js_1.organizationAdmin.removeDomain(client, organization.id, d.id)), children: labels.remove ?? 'Remove' })] }, d.id))) }), note ? (0, jsx_runtime_1.jsx)("p", { role: "status", children: note }) : null, (0, jsx_runtime_1.jsx)(Field, { label: labels.domain ?? 'Email domain', children: (0, jsx_runtime_1.jsx)("input", { className: cls('formFieldInput', 'atlas-input'), placeholder: "acme.com", value: domain, onChange: (e) => setDomain(e.target.value) }) }), (0, jsx_runtime_1.jsx)("button", { type: "button", className: cls('formButtonPrimary', 'atlas-button'), disabled: !domain.trim(), onClick: () => void admin.act(() => js_1.organizationAdmin.addDomain(client, organization.id, domain.trim())).then((r) => r && setDomain('')), children: labels.add ?? 'Add domain' })] }));
|
|
131
|
+
}
|
|
132
|
+
/** `<OrganizationLogStreams/>` — send the organization's audit events to its own SIEM. */
|
|
133
|
+
function OrganizationLogStreams({ labels = {} } = {}) {
|
|
134
|
+
const admin = useAdminData(js_1.organizationAdmin.listLogStreams);
|
|
135
|
+
const client = (0, components_shared_1.useMeClient)();
|
|
136
|
+
const { organization } = (0, hooks_1.useOrganization)();
|
|
137
|
+
const cls = (0, components_shared_1.useClasses)();
|
|
138
|
+
const [url, setUrl] = (0, react_1.useState)('');
|
|
139
|
+
const [secret, setSecret] = (0, react_1.useState)(null);
|
|
140
|
+
if (!organization)
|
|
141
|
+
return null;
|
|
142
|
+
return ((0, jsx_runtime_1.jsxs)(Section, { name: "organization-log-streams", title: labels.title ?? 'Log streams', admin: admin, children: [(0, jsx_runtime_1.jsx)("ul", { className: cls('list', 'atlas-list'), children: admin.data?.map((s) => ((0, jsx_runtime_1.jsxs)("li", { className: cls('listItem', 'atlas-audit-item'), children: [s.url, (0, jsx_runtime_1.jsx)("button", { type: "button", className: cls('formButtonSecondary', 'atlas-button-secondary'), onClick: () => void admin.act(() => js_1.organizationAdmin.removeLogStream(client, organization.id, s.id)), children: labels.remove ?? 'Remove' })] }, s.id))) }), (0, jsx_runtime_1.jsx)(Field, { label: labels.url ?? 'HTTPS endpoint', children: (0, jsx_runtime_1.jsx)("input", { className: cls('formFieldInput', 'atlas-input'), type: "url", placeholder: "https://siem.example.com/ingest", value: url, onChange: (e) => setUrl(e.target.value) }) }), (0, jsx_runtime_1.jsx)(OneTimeSecret, { value: secret, note: labels.copyNow ?? 'Copy the signing secret now — it will not be shown again.' }), (0, jsx_runtime_1.jsx)("button", { type: "button", className: cls('formButtonPrimary', 'atlas-button'), disabled: !url.trim(), onClick: () => void admin.act(() => js_1.organizationAdmin.addLogStream(client, organization.id, { url: url.trim() })).then((r) => { if (r) {
|
|
143
|
+
setUrl('');
|
|
144
|
+
setSecret(r.secret);
|
|
145
|
+
} }), children: labels.add ?? 'Add destination' })] }));
|
|
146
|
+
}
|
|
147
|
+
/** `<OrganizationApiKeys/>` — keys bound to the organization, shown once on creation. */
|
|
148
|
+
function OrganizationApiKeys({ labels = {} } = {}) {
|
|
149
|
+
const admin = useAdminData(js_1.organizationAdmin.listApiKeys);
|
|
150
|
+
const client = (0, components_shared_1.useMeClient)();
|
|
151
|
+
const { organization } = (0, hooks_1.useOrganization)();
|
|
152
|
+
const cls = (0, components_shared_1.useClasses)();
|
|
153
|
+
const [name, setName] = (0, react_1.useState)('');
|
|
154
|
+
const [secret, setSecret] = (0, react_1.useState)(null);
|
|
155
|
+
if (!organization)
|
|
156
|
+
return null;
|
|
157
|
+
return ((0, jsx_runtime_1.jsxs)(Section, { name: "organization-api-keys", title: labels.title ?? 'API keys', admin: admin, children: [(0, jsx_runtime_1.jsx)("ul", { className: cls('list', 'atlas-list'), children: admin.data?.map((k) => ((0, jsx_runtime_1.jsxs)("li", { className: cls('listItem', 'atlas-audit-item'), children: [(0, jsx_runtime_1.jsx)("strong", { children: k.name || k.prefix }), " ", (0, jsx_runtime_1.jsx)("code", { children: k.prefix }), (0, jsx_runtime_1.jsx)("button", { type: "button", className: cls('formButtonSecondary', 'atlas-button-secondary'), onClick: () => void admin.act(() => js_1.organizationAdmin.revokeApiKey(client, organization.id, k.id)), children: labels.revoke ?? 'Revoke' })] }, k.id))) }), (0, jsx_runtime_1.jsx)(Field, { label: labels.name ?? 'Key name', children: (0, jsx_runtime_1.jsx)("input", { className: cls('formFieldInput', 'atlas-input'), value: name, onChange: (e) => setName(e.target.value) }) }), (0, jsx_runtime_1.jsx)(OneTimeSecret, { value: secret, note: labels.copyNow ?? 'Copy this key now — it will not be shown again.' }), (0, jsx_runtime_1.jsx)("button", { type: "button", className: cls('formButtonPrimary', 'atlas-button'), onClick: () => void admin.act(() => js_1.organizationAdmin.createApiKey(client, organization.id, { name: name.trim() || undefined })).then((r) => { if (r) {
|
|
158
|
+
setName('');
|
|
159
|
+
setSecret(r.secret);
|
|
160
|
+
} }), children: labels.create ?? 'Create key' })] }));
|
|
161
|
+
}
|
|
162
|
+
/** `<OrganizationIpAllowlist/>` — limit where members of the organization may sign in from. */
|
|
163
|
+
function OrganizationIpAllowlist({ labels = {} } = {}) {
|
|
164
|
+
const admin = useAdminData(js_1.organizationAdmin.getIpAllowlist);
|
|
165
|
+
const client = (0, components_shared_1.useMeClient)();
|
|
166
|
+
const { organization } = (0, hooks_1.useOrganization)();
|
|
167
|
+
const cls = (0, components_shared_1.useClasses)();
|
|
168
|
+
const [draft, setDraft] = (0, react_1.useState)(null);
|
|
169
|
+
if (!organization)
|
|
170
|
+
return null;
|
|
171
|
+
const text = draft ?? (admin.data?.entries ?? []).join('\n');
|
|
172
|
+
const save = () => admin
|
|
173
|
+
.act(() => js_1.organizationAdmin.setIpAllowlist(client, organization.id, text.split(/[\s,]+/).filter(Boolean)))
|
|
174
|
+
.then((r) => r && setDraft(null));
|
|
175
|
+
return ((0, jsx_runtime_1.jsxs)(Section, { name: "organization-ip-allowlist", title: labels.title ?? 'Sign-in IP allowlist', admin: admin, children: [(0, jsx_runtime_1.jsxs)("p", { className: cls('headerSubtitle', 'atlas-subtitle'), children: [labels.hint ?? 'One IP address or CIDR range per line. Empty means members can sign in from anywhere.', admin.data ? ` ${labels.yourIp ?? 'Your IP:'} ${admin.data.your_ip}` : ''] }), (0, jsx_runtime_1.jsx)("textarea", { className: cls('formFieldInput', 'atlas-input'), rows: 5, "aria-label": labels.title ?? 'Sign-in IP allowlist', value: text, onChange: (e) => setDraft(e.target.value) }), (0, jsx_runtime_1.jsx)("button", { type: "button", className: cls('formButtonPrimary', 'atlas-button'), onClick: () => void save(), children: labels.save ?? 'Save' })] }));
|
|
176
|
+
}
|
|
177
|
+
/** `<OrganizationWebhooks/>` — the organization's own signed event endpoints. */
|
|
178
|
+
function OrganizationWebhooks({ labels = {} } = {}) {
|
|
179
|
+
const admin = useAdminData(js_1.organizationAdmin.listWebhooks);
|
|
180
|
+
const client = (0, components_shared_1.useMeClient)();
|
|
181
|
+
const { organization } = (0, hooks_1.useOrganization)();
|
|
182
|
+
const cls = (0, components_shared_1.useClasses)();
|
|
183
|
+
const [url, setUrl] = (0, react_1.useState)('');
|
|
184
|
+
const [secret, setSecret] = (0, react_1.useState)(null);
|
|
185
|
+
if (!organization)
|
|
186
|
+
return null;
|
|
187
|
+
return ((0, jsx_runtime_1.jsxs)(Section, { name: "organization-webhooks", title: labels.title ?? 'Webhooks', admin: admin, children: [(0, jsx_runtime_1.jsx)("ul", { className: cls('list', 'atlas-list'), children: admin.data?.map((w) => ((0, jsx_runtime_1.jsxs)("li", { className: cls('listItem', 'atlas-audit-item'), "data-health": w.health, children: [w.url, " \u2014 ", w.health, (0, jsx_runtime_1.jsx)("button", { type: "button", className: cls('formButtonSecondary', 'atlas-button-secondary'), onClick: () => void admin.act(() => js_1.organizationAdmin.rotateWebhookSecret(client, organization.id, w.id)).then((r) => r && setSecret(r.secret)), children: labels.rotate ?? 'Rotate secret' }), (0, jsx_runtime_1.jsx)("button", { type: "button", className: cls('formButtonSecondary', 'atlas-button-secondary'), onClick: () => void admin.act(() => js_1.organizationAdmin.deleteWebhook(client, organization.id, w.id)), children: labels.remove ?? 'Remove' })] }, w.id))) }), (0, jsx_runtime_1.jsx)(Field, { label: labels.url ?? 'HTTPS endpoint', children: (0, jsx_runtime_1.jsx)("input", { className: cls('formFieldInput', 'atlas-input'), type: "url", placeholder: "https://example.com/hooks/atlas", value: url, onChange: (e) => setUrl(e.target.value) }) }), (0, jsx_runtime_1.jsx)(OneTimeSecret, { value: secret, note: labels.copyNow ?? 'Copy the signing secret now — it will not be shown again.' }), (0, jsx_runtime_1.jsx)("button", { type: "button", className: cls('formButtonPrimary', 'atlas-button'), disabled: !url.trim(), onClick: () => void admin.act(() => js_1.organizationAdmin.createWebhook(client, organization.id, { url: url.trim() })).then((r) => { if (r) {
|
|
188
|
+
setUrl('');
|
|
189
|
+
setSecret(r.secret);
|
|
190
|
+
} }), children: labels.add ?? 'Add endpoint' })] }));
|
|
191
|
+
}
|
|
192
|
+
//# sourceMappingURL=organization-admin.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"organization-admin.js","sourceRoot":"","sources":["../src/organization-admin.tsx"],"names":[],"mappings":"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"}
|
package/dist/organization.d.ts
CHANGED
|
@@ -55,14 +55,21 @@ export declare function useOrganizationProfile(): {
|
|
|
55
55
|
export interface OrganizationProfileProps {
|
|
56
56
|
/** Called after the user leaves or deletes the organization (e.g. to navigate away). */
|
|
57
57
|
onExit?(reason: 'left' | 'deleted'): void;
|
|
58
|
+
/**
|
|
59
|
+
* Tenant-admin sections to show under the profile for members who manage the
|
|
60
|
+
* organization: SSO, directory sync, domains, log streams, API keys, sign-in
|
|
61
|
+
* IP allowlist, webhooks and the audit log. Off by default.
|
|
62
|
+
*/
|
|
63
|
+
adminSections?: OrganizationAdminSection[];
|
|
58
64
|
}
|
|
65
|
+
export type OrganizationAdminSection = 'sso' | 'directory' | 'domains' | 'logStreams' | 'apiKeys' | 'ipAllowlist' | 'webhooks' | 'auditLog';
|
|
59
66
|
/**
|
|
60
67
|
* Clerk-parity `<OrganizationProfile>`: the active organization's members
|
|
61
68
|
* (admins change roles and remove), invitations (admins invite, revoke and
|
|
62
69
|
* resend) and settings (leave; an admin deletes, after re-authenticating).
|
|
63
70
|
* Every control is gated on the ACTIVE org role, matching the server's rule.
|
|
64
71
|
*/
|
|
65
|
-
export declare function OrganizationProfile({ onExit }?: OrganizationProfileProps): import("react").JSX.Element | null;
|
|
72
|
+
export declare function OrganizationProfile({ onExit, adminSections }?: OrganizationProfileProps): import("react").JSX.Element | null;
|
|
66
73
|
/** One entry of an organization's audit trail, as the Frontend API returns it. */
|
|
67
74
|
export interface OrganizationAuditLogEntry {
|
|
68
75
|
object: 'audit_log';
|