@atlasauth/react 0.13.0 → 0.15.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 +28 -0
- package/dist/AtlasProvider.d.ts +8 -1
- package/dist/AtlasProvider.js +54 -4
- package/dist/AtlasProvider.js.map +1 -1
- package/dist/account.d.ts +19 -1
- package/dist/account.js +121 -16
- package/dist/account.js.map +1 -1
- package/dist/active-atlas.d.ts +29 -0
- package/dist/active-atlas.js +40 -0
- package/dist/active-atlas.js.map +1 -0
- package/dist/billing.d.ts +55 -1
- package/dist/billing.js +115 -8
- package/dist/billing.js.map +1 -1
- package/dist/captcha.js +1 -1
- package/dist/captcha.js.map +1 -1
- package/dist/compat.d.ts +307 -0
- package/dist/compat.js +387 -0
- package/dist/compat.js.map +1 -0
- package/dist/components.d.ts +10 -4
- package/dist/components.js +15 -1
- package/dist/components.js.map +1 -1
- package/dist/device-authorization.d.ts +42 -0
- package/dist/device-authorization.js +137 -0
- package/dist/device-authorization.js.map +1 -0
- package/dist/flow.d.ts +33 -9
- package/dist/flow.js +130 -11
- package/dist/flow.js.map +1 -1
- package/dist/i18n.js +68 -0
- package/dist/i18n.js.map +1 -1
- package/dist/impersonation.d.ts +25 -0
- package/dist/impersonation.js +52 -0
- package/dist/impersonation.js.map +1 -0
- package/dist/index.js +3 -0
- package/dist/index.js.map +1 -1
- package/dist/mfa-steps.d.ts +53 -0
- package/dist/mfa-steps.js +148 -0
- package/dist/mfa-steps.js.map +1 -0
- package/dist/organization.d.ts +82 -1
- package/dist/organization.js +222 -4
- package/dist/organization.js.map +1 -1
- package/dist/reverification.d.ts +19 -0
- package/dist/reverification.js +49 -1
- package/dist/reverification.js.map +1 -1
- package/dist/sign-in.js +2 -2
- package/dist/sign-in.js.map +1 -1
- package/dist/sign-up.d.ts +6 -0
- package/dist/sign-up.js +69 -13
- package/dist/sign-up.js.map +1 -1
- package/dist/styles.js +8 -0
- package/dist/styles.js.map +1 -1
- package/dist/types.d.ts +52 -0
- package/dist/version.d.ts +1 -1
- package/dist/version.js +1 -1
- package/package.json +15 -4
package/CHANGELOG.md
CHANGED
|
@@ -1,5 +1,33 @@
|
|
|
1
1
|
# @atlasauth/react changelog
|
|
2
2
|
|
|
3
|
+
## 0.15.0 — 2026-10-24
|
|
4
|
+
|
|
5
|
+
### Added
|
|
6
|
+
|
|
7
|
+
- `@atlasauth/react/compat`: drop-in compat helpers for apps migrated from Auth.js, Auth0, Supabase Auth and Better Auth (what `atlas migrate code` rewrites onto): `useNextAuthSession`, `nextAuthSignIn`, `nextAuthSignOut`, `getNextAuthSession`, `useAuth0Compat`, `useAuth0UserCompat`, `withAuthenticationRequiredCompat`, `getSupabaseUserCompat`, `getSupabaseSessionCompat`, `supabaseSignOutCompat`, `supabaseSignInWithOAuthCompat`, `onSupabaseAuthStateChangeCompat`, `useSupabaseUserCompat`, `useSupabaseSessionCompat`, `createBetterAuthCompatClient`, plus `signInRedirect` and the pure projections. The imperative ones act on the mounted `<AtlasProvider>` (`getActiveAtlas()`).
|
|
8
|
+
- `<DeviceAuthorization/>` and `useDeviceAuthorization()`: approve a TV / console / CLI sign-in (RFC 8628) on your own page — enter or scan the code, see the app and the access it asks for, Allow or Deny, with the "Confirm it's you" prompt when the app requires a recent re-authentication. Reads `?user_code=` from the page URL. New strings (`deviceAuth.*`) are in the catalog and in every `@atlasauth/localizations` bundle.
|
|
9
|
+
- `signOut()` follows SAML Single Logout (`saml_logout_url`) as well as upstream (RP-initiated) logout, with the same options and precedence as `@atlasauth/js` (`samlLogout`, `samlLogoutRedirectUrl`, `SignOutResult.samlLogoutUrl`; the upstream URL wins when both are returned).
|
|
10
|
+
- WebAuthn PRF: `passkeyPrf` / `onPasskeyExtensionResults` on `<SignIn>` / `<SignUp>`, and `prf` / `onExtensionResults` on `<ManagePasskeys>` (`ManagePasskeysProps`) when a passkey is added. The outputs never reach Atlas.
|
|
11
|
+
- Billing: `useBilling()` returns `subscriptions` and `addons` (live add-on subscriptions), `changePlan` / `cancel` / `restore` take `subscriptionId`, and `check(feature, { required })` asks whether the subject may use a feature (`AtlasFeatureCheck`). Plans and subscriptions carry `provider`, `kind` and the trial / annual fields.
|
|
12
|
+
- `custom_data` on the session resource (read-only on the client).
|
|
13
|
+
- `<SignIn>` / `<SignUp>` captchas support CaptchaFox and Vercel BotID.
|
|
14
|
+
|
|
15
|
+
## 0.14.0 — 2026-10-23
|
|
16
|
+
|
|
17
|
+
### Added
|
|
18
|
+
|
|
19
|
+
- `<OrganizationAuditLog/>` and `useOrganizationAuditLog()`: the active organization's audit trail for its admins.
|
|
20
|
+
- **Recovery codes after enrolment.** Setting up a second factor at sign-in now shows the account's one-time recovery codes before the sign-in finishes, as the hosted page does: copy them, download them as a .txt file, then "I've saved my codes" continues. Before, the sign-in completed straight away and the codes were never shown. The codes are kept in memory only, never on the attempt or in storage. New strings (`mfa.recoveryCodesTitle`, `mfa.recoveryCodesHelp`, `mfa.recoveryCodesCopy`, `mfa.recoveryCodesCopied`, `mfa.recoveryCodesDownload`, `mfa.recoveryCodesSaved`) are in the catalog and in every `@atlasauth/localizations` bundle.
|
|
21
|
+
- **MFA enrolment at sign-in works end to end.** When the app requires a second factor and the account has none, `<SignIn>` now fetches the authenticator setup and shows its QR code and the setup key, then asks for the code (one or two, as the app requires). Before, the step asked for codes without ever showing the setup.
|
|
22
|
+
- **Text-message enrolment** where the app offers texted codes and can send them: the user picks "Use text messages", enters a phone number, and confirms with the texted code. When both methods are offered the user chooses, and can switch.
|
|
23
|
+
- **"Text me a code instead"** at the second-factor step where the app offers texted codes, beside the existing "Email me a code instead".
|
|
24
|
+
- The new strings are in the catalog (`mfa.enrollChoose`, `mfa.enrollTotpOption`, `mfa.enrollSmsOption`, `mfa.enrollScan`, `mfa.enrollQrAlt`, `mfa.enrollSetupKey`, `mfa.enrollPreparing`, `mfa.phoneLabel`, `mfa.phoneHint`, `mfa.sendCode`, `mfa.codeTextedTo`, `mfa.smsCodeOption`) and in every `@atlasauth/localizations` bundle.
|
|
25
|
+
- Texted codes are offered only where the server says the app can text (`account.mfa` on `/v1/appearance`). A server that does not say gets the authenticator app only.
|
|
26
|
+
|
|
27
|
+
### Changed
|
|
28
|
+
|
|
29
|
+
- Built on `@atlasauth/js` 0.16.0.
|
|
30
|
+
|
|
3
31
|
## 0.13.0
|
|
4
32
|
|
|
5
33
|
### Added
|
package/dist/AtlasProvider.d.ts
CHANGED
|
@@ -1,5 +1,5 @@
|
|
|
1
1
|
import { type ReactNode } from 'react';
|
|
2
|
-
import { type ProviderToken, type SignOutOptions, type SignOutResult, type TombstoneStore, type AtlasInitialState, type SignOutEvent, type SignOutListener, type ReferralConsent } from '@atlasauth/js';
|
|
2
|
+
import { type EndImpersonationResult, type ProviderToken, type SignOutOptions, type SignOutResult, type TombstoneStore, type AtlasInitialState, type SignOutEvent, type SignOutListener, type ReferralConsent } from '@atlasauth/js';
|
|
3
3
|
import { type SupportedLocale } from '@atlasauth/localizations';
|
|
4
4
|
import { type Appearance } from './appearance';
|
|
5
5
|
import { type Catalog } from './i18n';
|
|
@@ -123,6 +123,13 @@ interface AtlasContextValue {
|
|
|
123
123
|
setActiveSession(session: string | {
|
|
124
124
|
id: string;
|
|
125
125
|
}): Promise<void>;
|
|
126
|
+
/**
|
|
127
|
+
* End the active impersonation ("return to admin"). When the impersonation
|
|
128
|
+
* began in a browser where the impersonator was signed in, their own session
|
|
129
|
+
* becomes active again with no sign-in (`resumed: true`); otherwise another
|
|
130
|
+
* account signed in here is promoted, or the browser is signed out.
|
|
131
|
+
*/
|
|
132
|
+
endImpersonation(): Promise<EndImpersonationResult>;
|
|
126
133
|
/** Re-boot from the Frontend API. Resolves true when a session now exists in this browser. */
|
|
127
134
|
reload(): Promise<boolean>;
|
|
128
135
|
}
|
package/dist/AtlasProvider.js
CHANGED
|
@@ -8,6 +8,7 @@ const react_1 = require("react");
|
|
|
8
8
|
const js_1 = require("@atlasauth/js");
|
|
9
9
|
const referral_1 = require("./referral");
|
|
10
10
|
const version_1 = require("./version");
|
|
11
|
+
const active_atlas_1 = require("./active-atlas");
|
|
11
12
|
const localizations_1 = require("@atlasauth/localizations");
|
|
12
13
|
const appearance_1 = require("./appearance");
|
|
13
14
|
const styles_1 = require("./styles");
|
|
@@ -405,7 +406,10 @@ function AtlasProvider(props) {
|
|
|
405
406
|
if (sessionId) {
|
|
406
407
|
// Remember it first: from here on nothing in this tab may re-adopt it.
|
|
407
408
|
tombstones.current?.add(sessionId);
|
|
408
|
-
outcome = await (0, js_1.revokeSession)(call, sessionId
|
|
409
|
+
outcome = await (0, js_1.revokeSession)(call, sessionId, {
|
|
410
|
+
...(options?.returnUrl ? { returnUrl: options.returnUrl } : {}),
|
|
411
|
+
...(options?.samlLogoutRedirectUrl ? { samlLogoutRedirectUrl: options.samlLogoutRedirectUrl } : {}),
|
|
412
|
+
});
|
|
409
413
|
// OIDC Front-Channel Logout: let the apps signed in through this session
|
|
410
414
|
// clear theirs in this browser (hidden iframes, capped at 5 s). Best-effort.
|
|
411
415
|
if (options?.frontchannel !== false)
|
|
@@ -430,9 +434,28 @@ function AtlasProvider(props) {
|
|
|
430
434
|
if (!outcome.revoked && options?.strict) {
|
|
431
435
|
throw new js_1.SignOutError(sessionId ?? '', outcome.status);
|
|
432
436
|
}
|
|
433
|
-
|
|
434
|
-
|
|
435
|
-
|
|
437
|
+
// Upstream (RP-initiated) logout: signed out locally, now end the upstream
|
|
438
|
+
// provider's session too — unless the app handles it itself.
|
|
439
|
+
// A browser follows one logout redirect: the upstream provider's first
|
|
440
|
+
// (it has no server-to-server fallback), else SAML Single Logout — not
|
|
441
|
+
// when another account was promoted (the user is still signed in here).
|
|
442
|
+
const followedUpstream = outcome.upstreamLogoutUrl && options?.upstreamLogout !== false
|
|
443
|
+
? (0, js_1.followUpstreamLogout)(outcome.upstreamLogoutUrl)
|
|
444
|
+
: false;
|
|
445
|
+
if (!followedUpstream &&
|
|
446
|
+
outcome.samlLogoutUrl &&
|
|
447
|
+
options?.samlLogout !== false &&
|
|
448
|
+
!outcome.activeSessionId &&
|
|
449
|
+
typeof window !== 'undefined' &&
|
|
450
|
+
typeof window.location?.assign === 'function') {
|
|
451
|
+
window.location.assign(outcome.samlLogoutUrl);
|
|
452
|
+
}
|
|
453
|
+
return {
|
|
454
|
+
revoked: outcome.revoked,
|
|
455
|
+
...(outcome.activeSessionId ? { activeSessionId: outcome.activeSessionId } : {}),
|
|
456
|
+
...(outcome.upstreamLogoutUrl ? { upstreamLogoutUrl: outcome.upstreamLogoutUrl } : {}),
|
|
457
|
+
...(outcome.samlLogoutUrl ? { samlLogoutUrl: outcome.samlLogoutUrl } : {}),
|
|
458
|
+
};
|
|
436
459
|
}, [announceSessionChange, call, reload]);
|
|
437
460
|
const setActiveOrganization = (0, react_1.useCallback)(async (organizationId) => {
|
|
438
461
|
const current = cache.current.peek();
|
|
@@ -466,6 +489,25 @@ function AtlasProvider(props) {
|
|
|
466
489
|
// §R3.2 the active account is session state other tabs reflect — nudge them.
|
|
467
490
|
announceSessionChange();
|
|
468
491
|
}, [announceSessionChange, applyToken, call, reload]);
|
|
492
|
+
const endImpersonation = (0, react_1.useCallback)(async () => {
|
|
493
|
+
const sessionId = cache.current.peek()?.sessionId ?? sessionIdRef.current;
|
|
494
|
+
if (!sessionId)
|
|
495
|
+
return { ended: false, resumed: false, status: 0 };
|
|
496
|
+
const outcome = await (0, js_1.endImpersonation)(call, sessionId);
|
|
497
|
+
if (!outcome.ended)
|
|
498
|
+
return outcome;
|
|
499
|
+
// The impersonation session is over: never re-adopt it from a stale cookie.
|
|
500
|
+
tombstones.current?.add(sessionId);
|
|
501
|
+
if (outcome.activeSessionId && outcome.jwt) {
|
|
502
|
+
applyToken(outcome.jwt, outcome.activeSessionId);
|
|
503
|
+
}
|
|
504
|
+
else if (!outcome.activeSessionId) {
|
|
505
|
+
notifier.current?.expect('user');
|
|
506
|
+
}
|
|
507
|
+
await reload();
|
|
508
|
+
announceSessionChange([sessionId]);
|
|
509
|
+
return outcome;
|
|
510
|
+
}, [announceSessionChange, applyToken, call, reload]);
|
|
469
511
|
const catalog = (0, react_1.useMemo)(() => {
|
|
470
512
|
// A built-in language bundle, then the app's own overrides key by key.
|
|
471
513
|
const base = locale ? (0, localizations_1.resolveLocale)(locale) : undefined;
|
|
@@ -554,6 +596,7 @@ function AtlasProvider(props) {
|
|
|
554
596
|
broadcastSessionChange,
|
|
555
597
|
setActiveOrganization,
|
|
556
598
|
setActiveSession,
|
|
599
|
+
endImpersonation,
|
|
557
600
|
reload,
|
|
558
601
|
}), [
|
|
559
602
|
appearance,
|
|
@@ -579,10 +622,17 @@ function AtlasProvider(props) {
|
|
|
579
622
|
sessions,
|
|
580
623
|
setActiveOrganization,
|
|
581
624
|
setActiveSession,
|
|
625
|
+
endImpersonation,
|
|
582
626
|
signOut,
|
|
583
627
|
status,
|
|
584
628
|
user,
|
|
585
629
|
]);
|
|
630
|
+
// The imperative compat helpers (`nextAuthSignOut()`, `getSupabaseUserCompat()`,
|
|
631
|
+
// …) act on the mounted provider without a hook: publish its state to them.
|
|
632
|
+
(0, react_1.useEffect)(() => {
|
|
633
|
+
(0, active_atlas_1.publishActiveAtlas)(value);
|
|
634
|
+
}, [value]);
|
|
635
|
+
(0, react_1.useEffect)(() => () => (0, active_atlas_1.publishActiveAtlas)(null), []);
|
|
586
636
|
/**
|
|
587
637
|
* The design configured in the Atlas dashboard, from `GET /v1/appearance`.
|
|
588
638
|
* Best-effort: a failure (older server, network) leaves it null and the
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"AtlasProvider.js","sourceRoot":"","sources":["../src/AtlasProvider.tsx"],"names":[],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"AtlasProvider.js","sourceRoot":"","sources":["../src/AtlasProvider.tsx"],"names":[],"mappings":"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"}
|
package/dist/account.d.ts
CHANGED
|
@@ -1,4 +1,5 @@
|
|
|
1
1
|
import { type ReactNode } from 'react';
|
|
2
|
+
import { type PasskeyExtensionResults, type PasskeyPrfRequest } from '@atlasauth/js';
|
|
2
3
|
/**
|
|
3
4
|
* §2 The signed-in user's active devices, with per-device and "sign out everyone
|
|
4
5
|
* else" revocation. A drop-in for a settings page — the composable half of the
|
|
@@ -27,7 +28,24 @@ export declare function ManageMfa(): import("react").JSX.Element;
|
|
|
27
28
|
* removal, in one composable drop-in. Nothing renders the "Add" affordance when the
|
|
28
29
|
* runtime has no WebAuthn support, so it degrades cleanly on older browsers.
|
|
29
30
|
*/
|
|
30
|
-
export
|
|
31
|
+
export interface ManagePasskeysProps {
|
|
32
|
+
/**
|
|
33
|
+
* Request the WebAuthn `prf` extension when a passkey is added: a secret
|
|
34
|
+
* derived from the passkey and your salt, for client-side encryption keys. It
|
|
35
|
+
* never reaches Atlas.
|
|
36
|
+
*/
|
|
37
|
+
prf?: PasskeyPrfRequest;
|
|
38
|
+
/** Receives the new passkey's client extension results (PRF support and outputs). */
|
|
39
|
+
onExtensionResults?: (results: PasskeyExtensionResults) => void;
|
|
40
|
+
}
|
|
41
|
+
export declare function ManagePasskeys({ prf, onExtensionResults }?: ManagePasskeysProps): import("react").JSX.Element;
|
|
42
|
+
/**
|
|
43
|
+
* Manage phone numbers: add one (a code is texted to it), verify it, pick the
|
|
44
|
+
* primary, remove one. Adding, re-pointing the primary and removing need a recent
|
|
45
|
+
* sign-in; a stale session gets the "Confirm it's you" prompt and the action
|
|
46
|
+
* retries once the user re-authenticates.
|
|
47
|
+
*/
|
|
48
|
+
export declare function ManagePhoneNumbers(): import("react").JSX.Element;
|
|
31
49
|
/**
|
|
32
50
|
* §2 The drop-in post-login account surface. Composes the account-management
|
|
33
51
|
* pieces (profile, 2FA, passkeys, devices). Each piece is also exported on its own
|
package/dist/account.js
CHANGED
|
@@ -5,6 +5,7 @@ exports.ActiveSessions = ActiveSessions;
|
|
|
5
5
|
exports.ProfileCard = ProfileCard;
|
|
6
6
|
exports.ManageMfa = ManageMfa;
|
|
7
7
|
exports.ManagePasskeys = ManagePasskeys;
|
|
8
|
+
exports.ManagePhoneNumbers = ManagePhoneNumbers;
|
|
8
9
|
exports.UserProfile = UserProfile;
|
|
9
10
|
const jsx_runtime_1 = require("react/jsx-runtime");
|
|
10
11
|
const react_1 = require("react");
|
|
@@ -12,6 +13,7 @@ const js_1 = require("@atlasauth/js");
|
|
|
12
13
|
const AtlasProvider_1 = require("./AtlasProvider");
|
|
13
14
|
const hooks_1 = require("./hooks");
|
|
14
15
|
const components_shared_1 = require("./components-shared");
|
|
16
|
+
const reverification_1 = require("./reverification");
|
|
15
17
|
/**
|
|
16
18
|
* §2 The signed-in user's active devices, with per-device and "sign out everyone
|
|
17
19
|
* else" revocation. A drop-in for a settings page — the composable half of the
|
|
@@ -130,6 +132,9 @@ function ManageMfa() {
|
|
|
130
132
|
const [backupCodes, setBackupCodes] = (0, react_1.useState)(null);
|
|
131
133
|
const [error, setError] = (0, react_1.useState)(null);
|
|
132
134
|
const [busy, setBusy] = (0, react_1.useState)(false);
|
|
135
|
+
// Turning 2FA off (and, when the app enabled it, turning it on) needs a recent
|
|
136
|
+
// sign-in; a stale session parks the call behind the "Confirm it's you" prompt.
|
|
137
|
+
const reverification = (0, reverification_1.useReverification)();
|
|
133
138
|
const load = (0, react_1.useCallback)(async () => {
|
|
134
139
|
const res = await client.get('/v1/client/me/mfa');
|
|
135
140
|
setFactors(res.data?.data ?? []);
|
|
@@ -143,7 +148,16 @@ function ManageMfa() {
|
|
|
143
148
|
setError(null);
|
|
144
149
|
setBackupCodes(null);
|
|
145
150
|
setBusy(true);
|
|
146
|
-
|
|
151
|
+
let res;
|
|
152
|
+
try {
|
|
153
|
+
res = await reverification.withReverification(() => client.post('/v1/client/me/mfa/totp'));
|
|
154
|
+
}
|
|
155
|
+
catch (err) {
|
|
156
|
+
setBusy(false);
|
|
157
|
+
if (!(0, reverification_1.isReverificationCancelled)(err))
|
|
158
|
+
setError('Could not start enrollment.');
|
|
159
|
+
return;
|
|
160
|
+
}
|
|
147
161
|
setBusy(false);
|
|
148
162
|
if (!res.ok || !res.data) {
|
|
149
163
|
setError(res.errors[0] ? errorText(res.errors[0]) : 'Could not start enrollment.');
|
|
@@ -169,21 +183,23 @@ function ManageMfa() {
|
|
|
169
183
|
await load();
|
|
170
184
|
};
|
|
171
185
|
const disable = async (id) => {
|
|
186
|
+
setError(null);
|
|
172
187
|
setBusy(true);
|
|
173
|
-
|
|
188
|
+
try {
|
|
189
|
+
const res = await reverification.withReverification(() => client.request(`/v1/client/me/mfa/${id}`, { method: 'DELETE' }));
|
|
190
|
+
if (!res.ok)
|
|
191
|
+
setError(res.errors[0] ? errorText(res.errors[0]) : 'Could not turn off two-factor.');
|
|
192
|
+
}
|
|
193
|
+
catch (err) {
|
|
194
|
+
if (!(0, reverification_1.isReverificationCancelled)(err))
|
|
195
|
+
setError('Could not turn off two-factor.');
|
|
196
|
+
}
|
|
174
197
|
await load();
|
|
175
198
|
setBusy(false);
|
|
176
199
|
};
|
|
177
|
-
return ((0, jsx_runtime_1.jsxs)("section", { className: cardClass, "data-atlas": "manage-mfa", children: [(0, jsx_runtime_1.jsx)("h2", { className: cls('sectionTitle', 'atlas-section-title'), children: "Two-factor authentication" }), totp ? ((0, jsx_runtime_1.jsxs)(jsx_runtime_1.Fragment, { children: [(0, jsx_runtime_1.jsxs)("p", { className: cls('text', 'atlas-text'), children: ["Authenticator app is on.", remaining != null ? ` ${remaining} backup codes remaining.` : ''] }), (0, jsx_runtime_1.jsx)("button", { className: cls('formButtonSecondary', 'atlas-button-secondary'), type: "button", disabled: busy, onClick: () => void disable(totp.id), children: "Turn off" })] })) : enroll ? ((0, jsx_runtime_1.jsxs)("div", { children: [(0, jsx_runtime_1.jsx)("p", { className: cls('text', 'atlas-text'), children: "Add this to your authenticator app \u2014 scan the QR you render from the URI, or enter the key:" }), (0, jsx_runtime_1.jsx)("code", { "data-atlas": "totp-secret", children: enroll.secret }), (0, jsx_runtime_1.jsx)("p", { className: cls('text', 'atlas-text'), children: (0, jsx_runtime_1.jsx)("a", { className: cls('link', 'atlas-link'), href: enroll.uri, children: "Open in an authenticator app" }) }), codes.map((c, i) => ((0, jsx_runtime_1.jsx)("input", { className: cls('formFieldInput', 'atlas-account-input'), inputMode: "numeric", autoComplete: "one-time-code", value: c, placeholder: enroll.requiredCodes > 1 ? `Code ${i + 1}` : 'Enter the 6-digit code', onChange: (e) => setCodes((prev) => prev.map((v, j) => (j === i ? e.target.value : v))) }, i))), (0, jsx_runtime_1.jsx)("button", { className: cls('formButtonSecondary', 'atlas-button-secondary'), type: "button", disabled: busy, onClick: () => void verify(), children: "Verify & enable" })] })) : backupCodes ? ((0, jsx_runtime_1.jsxs)("div", { children: [(0, jsx_runtime_1.jsx)("p", { className: cls('text', 'atlas-text'), children: "Two-factor is on. Save these backup codes now \u2014 they are shown only once:" }), (0, jsx_runtime_1.jsx)("ul", { className: cls('list', 'atlas-list'), "data-atlas": "backup-codes", children: backupCodes.map((c) => ((0, jsx_runtime_1.jsx)("li", { className: cls('listItem', 'atlas-list-item'), children: (0, jsx_runtime_1.jsx)("code", { children: c }) }, c))) })] })) : ((0, jsx_runtime_1.jsx)("button", { className: cls('formButtonSecondary', 'atlas-button-secondary'), type: "button", disabled: busy, onClick: () => void startEnroll(), children: "Enable authenticator app" })), error ? ((0, jsx_runtime_1.jsx)("p", { className: cls('alert', 'atlas-alert'), "data-atlas": "mfa-error", role: "alert", children: error })) : null] }));
|
|
200
|
+
return ((0, jsx_runtime_1.jsxs)("section", { className: cardClass, "data-atlas": "manage-mfa", children: [(0, jsx_runtime_1.jsx)("h2", { className: cls('sectionTitle', 'atlas-section-title'), children: "Two-factor authentication" }), totp ? ((0, jsx_runtime_1.jsxs)(jsx_runtime_1.Fragment, { children: [(0, jsx_runtime_1.jsxs)("p", { className: cls('text', 'atlas-text'), children: ["Authenticator app is on.", remaining != null ? ` ${remaining} backup codes remaining.` : ''] }), (0, jsx_runtime_1.jsx)("button", { className: cls('formButtonSecondary', 'atlas-button-secondary'), type: "button", disabled: busy, onClick: () => void disable(totp.id), children: "Turn off" })] })) : enroll ? ((0, jsx_runtime_1.jsxs)("div", { children: [(0, jsx_runtime_1.jsx)("p", { className: cls('text', 'atlas-text'), children: "Add this to your authenticator app \u2014 scan the QR you render from the URI, or enter the key:" }), (0, jsx_runtime_1.jsx)("code", { "data-atlas": "totp-secret", children: enroll.secret }), (0, jsx_runtime_1.jsx)("p", { className: cls('text', 'atlas-text'), children: (0, jsx_runtime_1.jsx)("a", { className: cls('link', 'atlas-link'), href: enroll.uri, children: "Open in an authenticator app" }) }), codes.map((c, i) => ((0, jsx_runtime_1.jsx)("input", { className: cls('formFieldInput', 'atlas-account-input'), inputMode: "numeric", autoComplete: "one-time-code", value: c, placeholder: enroll.requiredCodes > 1 ? `Code ${i + 1}` : 'Enter the 6-digit code', onChange: (e) => setCodes((prev) => prev.map((v, j) => (j === i ? e.target.value : v))) }, i))), (0, jsx_runtime_1.jsx)("button", { className: cls('formButtonSecondary', 'atlas-button-secondary'), type: "button", disabled: busy, onClick: () => void verify(), children: "Verify & enable" })] })) : backupCodes ? ((0, jsx_runtime_1.jsxs)("div", { children: [(0, jsx_runtime_1.jsx)("p", { className: cls('text', 'atlas-text'), children: "Two-factor is on. Save these backup codes now \u2014 they are shown only once:" }), (0, jsx_runtime_1.jsx)("ul", { className: cls('list', 'atlas-list'), "data-atlas": "backup-codes", children: backupCodes.map((c) => ((0, jsx_runtime_1.jsx)("li", { className: cls('listItem', 'atlas-list-item'), children: (0, jsx_runtime_1.jsx)("code", { children: c }) }, c))) })] })) : ((0, jsx_runtime_1.jsx)("button", { className: cls('formButtonSecondary', 'atlas-button-secondary'), type: "button", disabled: busy, onClick: () => void startEnroll(), children: "Enable authenticator app" })), (0, jsx_runtime_1.jsx)(reverification_1.ReverificationPrompt, { reverification: reverification, name: "mfa-reverification" }), error ? ((0, jsx_runtime_1.jsx)("p", { className: cls('alert', 'atlas-alert'), "data-atlas": "mfa-error", role: "alert", children: error })) : null] }));
|
|
178
201
|
}
|
|
179
|
-
|
|
180
|
-
* §2 Manage passkeys (WebAuthn). Lists the user's registered credentials and runs
|
|
181
|
-
* the full add ceremony — `POST /passkeys/begin` → `navigator.credentials.create`
|
|
182
|
-
* (via the SDK's {@link createPasskey}) → `POST /passkeys/finish` — plus rename-free
|
|
183
|
-
* removal, in one composable drop-in. Nothing renders the "Add" affordance when the
|
|
184
|
-
* runtime has no WebAuthn support, so it degrades cleanly on older browsers.
|
|
185
|
-
*/
|
|
186
|
-
function ManagePasskeys() {
|
|
202
|
+
function ManagePasskeys({ prf, onExtensionResults } = {}) {
|
|
187
203
|
const client = (0, components_shared_1.useMeClient)();
|
|
188
204
|
const errorText = (0, components_shared_1.useErrorText)();
|
|
189
205
|
const cardClass = (0, components_shared_1.useClass)('card', 'atlas-card');
|
|
@@ -193,6 +209,8 @@ function ManagePasskeys() {
|
|
|
193
209
|
const [error, setError] = (0, react_1.useState)(null);
|
|
194
210
|
const [busy, setBusy] = (0, react_1.useState)(false);
|
|
195
211
|
const supported = (0, js_1.passkeysSupported)();
|
|
212
|
+
// Adding or removing a passkey needs a recent sign-in (STEP_UP_REQUIRED otherwise).
|
|
213
|
+
const reverification = (0, reverification_1.useReverification)();
|
|
196
214
|
const load = (0, react_1.useCallback)(async () => {
|
|
197
215
|
const res = await client.get('/v1/client/me/passkeys');
|
|
198
216
|
setPasskeys(res.data?.data ?? []);
|
|
@@ -204,12 +222,16 @@ function ManagePasskeys() {
|
|
|
204
222
|
setError(null);
|
|
205
223
|
setBusy(true);
|
|
206
224
|
try {
|
|
207
|
-
const begin = await client.post('/v1/client/me/passkeys/begin');
|
|
225
|
+
const begin = await reverification.withReverification(() => client.post('/v1/client/me/passkeys/begin'));
|
|
208
226
|
if (!begin.ok || !begin.data) {
|
|
209
227
|
setError(begin.errors[0] ? errorText(begin.errors[0]) : 'Could not start passkey setup.');
|
|
210
228
|
return;
|
|
211
229
|
}
|
|
212
|
-
const body = await (0, js_1.createPasskey)(begin.data, {
|
|
230
|
+
const body = await (0, js_1.createPasskey)(begin.data, {
|
|
231
|
+
name: name.trim() || undefined,
|
|
232
|
+
...(prf ? { prf } : {}),
|
|
233
|
+
...(onExtensionResults ? { onExtensionResults } : {}),
|
|
234
|
+
});
|
|
213
235
|
const finish = await client.post('/v1/client/me/passkeys/finish', body);
|
|
214
236
|
if (!finish.ok) {
|
|
215
237
|
setError(finish.errors[0] ? errorText(finish.errors[0]) : 'Could not save the passkey.');
|
|
@@ -226,15 +248,98 @@ function ManagePasskeys() {
|
|
|
226
248
|
}
|
|
227
249
|
};
|
|
228
250
|
const remove = async (id) => {
|
|
251
|
+
setError(null);
|
|
229
252
|
setBusy(true);
|
|
230
|
-
|
|
253
|
+
try {
|
|
254
|
+
const res = await reverification.withReverification(() => client.request(`/v1/client/me/passkeys/${id}`, { method: 'DELETE' }));
|
|
255
|
+
if (!res.ok)
|
|
256
|
+
setError(res.errors[0] ? errorText(res.errors[0]) : 'Could not remove the passkey.');
|
|
257
|
+
}
|
|
258
|
+
catch (err) {
|
|
259
|
+
if (!(0, reverification_1.isReverificationCancelled)(err))
|
|
260
|
+
setError('Could not remove the passkey.');
|
|
261
|
+
}
|
|
231
262
|
await load();
|
|
232
263
|
setBusy(false);
|
|
233
264
|
};
|
|
234
265
|
const fmt = (ms) => (ms ? new Date(ms).toLocaleDateString() : null);
|
|
235
266
|
return ((0, jsx_runtime_1.jsxs)("section", { className: cardClass, "data-atlas": "manage-passkeys", children: [(0, jsx_runtime_1.jsx)("h2", { className: cls('sectionTitle', 'atlas-section-title'), children: "Passkeys" }), (0, jsx_runtime_1.jsx)("ul", { className: cls('list', 'atlas-list'), "data-atlas": "passkey-list", children: passkeys.map((pk) => ((0, jsx_runtime_1.jsxs)("li", { className: cls('listItem', 'atlas-list-item'), children: [(0, jsx_runtime_1.jsx)("strong", { children: pk.name || 'Passkey' }), (0, jsx_runtime_1.jsx)("div", { children: [pk.last_used_at ? `Last used ${fmt(pk.last_used_at)}` : `Added ${fmt(pk.created_at)}`]
|
|
236
267
|
.filter(Boolean)
|
|
237
|
-
.join(' · ') }), (0, jsx_runtime_1.jsx)("button", { className: cls('formButtonSecondary', 'atlas-button-secondary'), type: "button", disabled: busy, onClick: () => void remove(pk.id), children: "Remove" })] }, pk.id))) }), supported ? ((0, jsx_runtime_1.jsxs)("div", { "data-atlas": "passkey-add", children: [(0, jsx_runtime_1.jsx)("input", { className: cls('formFieldInput', 'atlas-account-input'), value: name, placeholder: "Name this device (optional)", onChange: (e) => setName(e.target.value) }), (0, jsx_runtime_1.jsx)("button", { className: cls('formButtonSecondary', 'atlas-button-secondary'), type: "button", disabled: busy, onClick: () => void add(), children: "Add a passkey" })] })) : ((0, jsx_runtime_1.jsx)("p", { className: cls('text', 'atlas-text'), children: "Passkeys are not supported in this browser." })), error ? ((0, jsx_runtime_1.jsx)("p", { className: cls('alert', 'atlas-alert'), "data-atlas": "passkey-error", role: "alert", children: error })) : null] }));
|
|
268
|
+
.join(' · ') }), (0, jsx_runtime_1.jsx)("button", { className: cls('formButtonSecondary', 'atlas-button-secondary'), type: "button", disabled: busy, onClick: () => void remove(pk.id), children: "Remove" })] }, pk.id))) }), supported ? ((0, jsx_runtime_1.jsxs)("div", { "data-atlas": "passkey-add", children: [(0, jsx_runtime_1.jsx)("input", { className: cls('formFieldInput', 'atlas-account-input'), value: name, placeholder: "Name this device (optional)", onChange: (e) => setName(e.target.value) }), (0, jsx_runtime_1.jsx)("button", { className: cls('formButtonSecondary', 'atlas-button-secondary'), type: "button", disabled: busy, onClick: () => void add(), children: "Add a passkey" })] })) : ((0, jsx_runtime_1.jsx)("p", { className: cls('text', 'atlas-text'), children: "Passkeys are not supported in this browser." })), (0, jsx_runtime_1.jsx)(reverification_1.ReverificationPrompt, { reverification: reverification, name: "passkey-reverification" }), error ? ((0, jsx_runtime_1.jsx)("p", { className: cls('alert', 'atlas-alert'), "data-atlas": "passkey-error", role: "alert", children: error })) : null] }));
|
|
269
|
+
}
|
|
270
|
+
/**
|
|
271
|
+
* Manage phone numbers: add one (a code is texted to it), verify it, pick the
|
|
272
|
+
* primary, remove one. Adding, re-pointing the primary and removing need a recent
|
|
273
|
+
* sign-in; a stale session gets the "Confirm it's you" prompt and the action
|
|
274
|
+
* retries once the user re-authenticates.
|
|
275
|
+
*/
|
|
276
|
+
function ManagePhoneNumbers() {
|
|
277
|
+
const client = (0, components_shared_1.useMeClient)();
|
|
278
|
+
const errorText = (0, components_shared_1.useErrorText)();
|
|
279
|
+
const cardClass = (0, components_shared_1.useClass)('card', 'atlas-card');
|
|
280
|
+
const cls = (0, components_shared_1.useClasses)();
|
|
281
|
+
const reverification = (0, reverification_1.useReverification)();
|
|
282
|
+
const [phones, setPhones] = (0, react_1.useState)([]);
|
|
283
|
+
const [draft, setDraft] = (0, react_1.useState)('');
|
|
284
|
+
const [verifying, setVerifying] = (0, react_1.useState)(null);
|
|
285
|
+
const [code, setCode] = (0, react_1.useState)('');
|
|
286
|
+
const [error, setError] = (0, react_1.useState)(null);
|
|
287
|
+
const [busy, setBusy] = (0, react_1.useState)(false);
|
|
288
|
+
const load = (0, react_1.useCallback)(async () => {
|
|
289
|
+
try {
|
|
290
|
+
setPhones(await (0, js_1.listPhoneNumbers)(client));
|
|
291
|
+
}
|
|
292
|
+
catch {
|
|
293
|
+
setPhones([]);
|
|
294
|
+
}
|
|
295
|
+
}, [client]);
|
|
296
|
+
(0, react_1.useEffect)(() => {
|
|
297
|
+
void load();
|
|
298
|
+
}, [load]);
|
|
299
|
+
const run = async (action, fallback) => {
|
|
300
|
+
setError(null);
|
|
301
|
+
setBusy(true);
|
|
302
|
+
try {
|
|
303
|
+
await reverification.withReverification(action);
|
|
304
|
+
return true;
|
|
305
|
+
}
|
|
306
|
+
catch (err) {
|
|
307
|
+
if (!(0, reverification_1.isReverificationCancelled)(err))
|
|
308
|
+
setError(err instanceof Error ? errorText(err) : fallback);
|
|
309
|
+
return false;
|
|
310
|
+
}
|
|
311
|
+
finally {
|
|
312
|
+
setBusy(false);
|
|
313
|
+
await load();
|
|
314
|
+
}
|
|
315
|
+
};
|
|
316
|
+
const add = async () => {
|
|
317
|
+
const value = draft.trim();
|
|
318
|
+
if (!value)
|
|
319
|
+
return;
|
|
320
|
+
let added;
|
|
321
|
+
const ok = await run(async () => {
|
|
322
|
+
added = await (0, js_1.addPhoneNumber)(client, value);
|
|
323
|
+
}, 'Could not add that number.');
|
|
324
|
+
if (ok && added) {
|
|
325
|
+
setDraft('');
|
|
326
|
+
setCode('');
|
|
327
|
+
setVerifying(added.id);
|
|
328
|
+
}
|
|
329
|
+
};
|
|
330
|
+
const confirm = async () => {
|
|
331
|
+
if (!verifying)
|
|
332
|
+
return;
|
|
333
|
+
const ok = await run(() => (0, js_1.attemptPhoneNumberVerification)(client, verifying, code), 'That code was not accepted.');
|
|
334
|
+
if (ok)
|
|
335
|
+
setVerifying(null);
|
|
336
|
+
};
|
|
337
|
+
return ((0, jsx_runtime_1.jsxs)("section", { className: cardClass, "data-atlas": "manage-phone-numbers", children: [(0, jsx_runtime_1.jsx)("h2", { className: cls('sectionTitle', 'atlas-section-title'), children: "Phone numbers" }), (0, jsx_runtime_1.jsx)("ul", { className: cls('list', 'atlas-list'), "data-atlas": "phone-list", children: phones.map((phone) => ((0, jsx_runtime_1.jsxs)("li", { className: cls('listItem', 'atlas-list-item'), children: [phone.phone_number, phone.verified ? null : (0, jsx_runtime_1.jsx)("em", { children: " \u2014 unverified" }), phone.primary ? (0, jsx_runtime_1.jsx)("em", { children: " \u2014 primary" }) : null, phone.verified ? null : verifying === phone.id ? ((0, jsx_runtime_1.jsxs)("span", { "data-atlas": "phone-verify", children: [(0, jsx_runtime_1.jsx)("input", { className: cls('formFieldInput', 'atlas-account-input'), inputMode: "numeric", autoComplete: "one-time-code", placeholder: "Code from the text", value: code, onChange: (e) => setCode(e.target.value) }), (0, jsx_runtime_1.jsx)("button", { className: cls('formButtonSecondary', 'atlas-button-secondary'), type: "button", disabled: busy, onClick: () => void confirm(), children: "Confirm" })] })) : ((0, jsx_runtime_1.jsx)("button", { className: cls('formButtonSecondary', 'atlas-button-secondary'), type: "button", disabled: busy, onClick: () => void run(() => (0, js_1.preparePhoneNumberVerification)(client, phone.id), 'Could not send a code.').then((ok) => {
|
|
338
|
+
if (ok) {
|
|
339
|
+
setCode('');
|
|
340
|
+
setVerifying(phone.id);
|
|
341
|
+
}
|
|
342
|
+
}), children: "Verify" })), phone.verified && !phone.primary ? ((0, jsx_runtime_1.jsx)("button", { className: cls('formButtonSecondary', 'atlas-button-secondary'), type: "button", disabled: busy, onClick: () => void run(() => (0, js_1.setPrimaryPhoneNumber)(client, phone.id), 'Could not change the primary number.'), children: "Make primary" })) : null, (0, jsx_runtime_1.jsx)("button", { className: cls('formButtonSecondary', 'atlas-button-secondary'), type: "button", disabled: busy, onClick: () => void run(() => (0, js_1.removePhoneNumber)(client, phone.id), 'Could not remove that number.'), children: "Remove" })] }, phone.id))) }), (0, jsx_runtime_1.jsxs)("div", { "data-atlas": "phone-add", children: [(0, jsx_runtime_1.jsx)("input", { className: cls('formFieldInput', 'atlas-account-input'), type: "tel", autoComplete: "tel", placeholder: "+15551234567", value: draft, onChange: (e) => setDraft(e.target.value) }), (0, jsx_runtime_1.jsx)("button", { className: cls('formButtonSecondary', 'atlas-button-secondary'), type: "button", disabled: busy, onClick: () => void add(), children: "Add phone number" })] }), (0, jsx_runtime_1.jsx)(reverification_1.ReverificationPrompt, { reverification: reverification, name: "phone-reverification" }), error ? ((0, jsx_runtime_1.jsx)("p", { className: cls('alert', 'atlas-alert'), "data-atlas": "phone-error", role: "alert", children: error })) : null] }));
|
|
238
343
|
}
|
|
239
344
|
/** A custom content tab inside `<UserProfile>`. Renders nothing on its own. */
|
|
240
345
|
function UserProfilePage(_props) {
|
|
@@ -256,7 +361,7 @@ function UserProfile({ children } = {}) {
|
|
|
256
361
|
const [tab, setTab] = (0, react_1.useState)(0);
|
|
257
362
|
if (!user)
|
|
258
363
|
return null;
|
|
259
|
-
return ((0, jsx_runtime_1.jsxs)("div", { className: cardClass, "data-atlas": "user-profile", children: [(0, jsx_runtime_1.jsx)("h1", { className: cls('headerTitle', 'atlas-heading'), children: t('userProfile.title') }), pages.length || links.length ? ((0, jsx_runtime_1.jsxs)("nav", { className: cls('tabs', 'atlas-tabs'), role: "tablist", children: [(0, jsx_runtime_1.jsx)("button", { className: tabClass, role: "tab", "aria-selected": tab === 0, onClick: () => setTab(0), children: t('userProfile.title') }), pages.map((p, i) => ((0, jsx_runtime_1.jsxs)("button", { className: tabClass, role: "tab", "aria-selected": tab === i + 1, onClick: () => setTab(i + 1), children: [p.labelIcon, p.label] }, `p${i}`))), links.map((l, i) => ((0, jsx_runtime_1.jsxs)("a", { className: tabClass, href: l.url, children: [l.labelIcon, l.label] }, `l${i}`)))] })) : null, tab === 0 ? ((0, jsx_runtime_1.jsxs)("div", { "data-atlas": "user-profile-account", role: "tabpanel", children: [(0, jsx_runtime_1.jsx)(ProfileCard, {}), (0, jsx_runtime_1.jsx)(ManageMfa, {}), (0, jsx_runtime_1.jsx)(ManagePasskeys, {}), (0, jsx_runtime_1.jsx)(ActiveSessions, {})] })) : ((0, jsx_runtime_1.jsx)("div", { "data-atlas": "user-profile-custom", role: "tabpanel", children: pages[tab - 1]?.children }))] }));
|
|
364
|
+
return ((0, jsx_runtime_1.jsxs)("div", { className: cardClass, "data-atlas": "user-profile", children: [(0, jsx_runtime_1.jsx)("h1", { className: cls('headerTitle', 'atlas-heading'), children: t('userProfile.title') }), pages.length || links.length ? ((0, jsx_runtime_1.jsxs)("nav", { className: cls('tabs', 'atlas-tabs'), role: "tablist", children: [(0, jsx_runtime_1.jsx)("button", { className: tabClass, role: "tab", "aria-selected": tab === 0, onClick: () => setTab(0), children: t('userProfile.title') }), pages.map((p, i) => ((0, jsx_runtime_1.jsxs)("button", { className: tabClass, role: "tab", "aria-selected": tab === i + 1, onClick: () => setTab(i + 1), children: [p.labelIcon, p.label] }, `p${i}`))), links.map((l, i) => ((0, jsx_runtime_1.jsxs)("a", { className: tabClass, href: l.url, children: [l.labelIcon, l.label] }, `l${i}`)))] })) : null, tab === 0 ? ((0, jsx_runtime_1.jsxs)("div", { "data-atlas": "user-profile-account", role: "tabpanel", children: [(0, jsx_runtime_1.jsx)(ProfileCard, {}), (0, jsx_runtime_1.jsx)(ManagePhoneNumbers, {}), (0, jsx_runtime_1.jsx)(ManageMfa, {}), (0, jsx_runtime_1.jsx)(ManagePasskeys, {}), (0, jsx_runtime_1.jsx)(ActiveSessions, {})] })) : ((0, jsx_runtime_1.jsx)("div", { "data-atlas": "user-profile-custom", role: "tabpanel", children: pages[tab - 1]?.children }))] }));
|
|
260
365
|
}
|
|
261
366
|
UserProfile.Page = UserProfilePage;
|
|
262
367
|
UserProfile.Link = UserProfileLink;
|