@connextar/house 0.14.0 → 0.14.1
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/README.md +42 -9
- package/dist/auth/step-up-routes.d.ts +7 -0
- package/dist/auth/step-up-routes.d.ts.map +1 -1
- package/dist/auth/step-up-routes.js.map +1 -1
- package/dist/auth/step-up.d.ts +7 -2
- package/dist/auth/step-up.d.ts.map +1 -1
- package/dist/auth/step-up.js +12 -6
- package/dist/auth/step-up.js.map +1 -1
- package/package.json +1 -1
package/README.md
CHANGED
|
@@ -419,13 +419,13 @@ plugins: [
|
|
|
419
419
|
],
|
|
420
420
|
```
|
|
421
421
|
|
|
422
|
-
| Option | Default | What it does
|
|
423
|
-
| ---------------- | ------------------------ |
|
|
424
|
-
| `windowSeconds` | `600` | How long a confirmation lasts, and how young a session must be to count as a recent sign-in.
|
|
425
|
-
| `routes` | `STEP_UP_PASSKEY_ROUTES` | The routes that need a confirmation. To add one, keep the defaults: `[...STEP_UP_PASSKEY_ROUTES, "/my/route"]`. Other routes get a plain message. |
|
|
426
|
-
| `maxAttempts` | `5` | Wrong codes and passwords one session may give before it has to sign in again.
|
|
427
|
-
| `onPasskeyAdded` | none | Called after `/passkey/verify-registration` succeeds. See below.
|
|
428
|
-
| `enabled` | `true` | `false` turns the refusal off and keeps the endpoints, so a client that asks for status still gets an answer. `onPasskeyAdded` still runs.
|
|
422
|
+
| Option | Default | What it does |
|
|
423
|
+
| ---------------- | ------------------------ | -------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- |
|
|
424
|
+
| `windowSeconds` | `600` | How long a confirmation lasts, and how young a session must be to count as a recent sign-in. |
|
|
425
|
+
| `routes` | `STEP_UP_PASSKEY_ROUTES` | The routes that need a confirmation. To add one, keep the defaults: `[...STEP_UP_PASSKEY_ROUTES, "/my/route"]`. Other routes get a plain message. Router endpoints only: a server-only method such as `setPassword` has no path, so listing it guards nothing (see below). |
|
|
426
|
+
| `maxAttempts` | `5` | Wrong codes and passwords one session may give before it has to sign in again. |
|
|
427
|
+
| `onPasskeyAdded` | none | Called after `/passkey/verify-registration` succeeds. See below. |
|
|
428
|
+
| `enabled` | `true` | `false` turns the refusal off and keeps the endpoints, so a client that asks for status still gets an answer. `onPasskeyAdded` still runs. |
|
|
429
429
|
|
|
430
430
|
`POST /step-up/password` is rate-limited the same way as Better Auth's own
|
|
431
431
|
two-factor routes: three tries in ten seconds, wherever the app's rate limiter
|
|
@@ -445,7 +445,7 @@ import { stepUpClient } from "@connextar/house/auth/step-up/client";
|
|
|
445
445
|
export const authClient = createAuthClient({ plugins: [twoFactorClient(), passkeyClient(), stepUpClient()] });
|
|
446
446
|
```
|
|
447
447
|
|
|
448
|
-
`authClient.stepUp.status()` answers `{ needs, confirmed, confirmedUntil, locked }`,
|
|
448
|
+
`authClient.stepUp.status()` answers `{ needs, confirmed, confirmedUntil, locked, sessionFresh }`,
|
|
449
449
|
and `authClient.stepUp.password({ password })` gives the same shape on success.
|
|
450
450
|
Better Auth's client parser turns `confirmedUntil` into a `Date`. The
|
|
451
451
|
client entry imports nothing from Better Auth at runtime. The helpers are also
|
|
@@ -453,7 +453,13 @@ on `@connextar/house/auth`.
|
|
|
453
453
|
|
|
454
454
|
The flow for "Add a passkey":
|
|
455
455
|
|
|
456
|
-
1. `status()`. If `
|
|
456
|
+
1. `status()`. If `sessionFresh` is false, show the sign-in-again message and
|
|
457
|
+
stop: the passkey plugin refuses a session older than Better Auth's
|
|
458
|
+
`session.freshAge` (a day by default) whatever it confirms, and with
|
|
459
|
+
month-long sessions that is most people. Asking for a password first and
|
|
460
|
+
then saying "sign in again" is the thing to avoid. If `confirmed`, go to
|
|
461
|
+
step 3. (Setting a first password has no such limit; that screen can ignore
|
|
462
|
+
`sessionFresh`.)
|
|
457
463
|
2. Show the prompt that `needs` asks for, in the app's own dialog with its own
|
|
458
464
|
`PasswordInput`:
|
|
459
465
|
- `code`: a code field, then `authClient.twoFactor.verifyTotp({ code })`, or
|
|
@@ -491,6 +497,33 @@ undo the add: an error is logged and the passkey stays. If Better Auth's
|
|
|
491
497
|
callback runs in the background. Otherwise the response waits for it. `request`
|
|
492
498
|
is there for the app's own audit line (IP address, user agent).
|
|
493
499
|
|
|
500
|
+
#### Setting a first password is the same hole
|
|
501
|
+
|
|
502
|
+
An account that signs in by email link or Google has no password, and the house
|
|
503
|
+
apps let it add one from Settings through their own `POST /api/auth/set-password`,
|
|
504
|
+
which calls Better Auth's `setPassword`. A session alone was enough, so a
|
|
505
|
+
borrowed session could add a password: a new way in, exactly like a passkey.
|
|
506
|
+
|
|
507
|
+
`routes` cannot guard it. `setPassword` is server-only and has no path (checked
|
|
508
|
+
on 1.7.2 by senco's adoption, which pins `auth.api.setPassword.path` as
|
|
509
|
+
undefined), so a hook never sees it. Check in the route instead:
|
|
510
|
+
|
|
511
|
+
```ts
|
|
512
|
+
const status = await auth.api.stepUpStatus({ headers: request.headers });
|
|
513
|
+
if (!status.confirmed) {
|
|
514
|
+
return Response.json(
|
|
515
|
+
{ code: "STEP_UP_REQUIRED", message: "Confirm it's you before adding a password.", needs: status.needs },
|
|
516
|
+
{ status: 403 },
|
|
517
|
+
);
|
|
518
|
+
}
|
|
519
|
+
await auth.api.setPassword({ body: { newPassword }, headers: request.headers });
|
|
520
|
+
// then email "A password was added to your account", never failing the request
|
|
521
|
+
```
|
|
522
|
+
|
|
523
|
+
The answer has the same shape as the plugin's refusal, so `isStepUpRequired`
|
|
524
|
+
recognises it and the same dialog serves both. Such an account has no password
|
|
525
|
+
to type, so `needs` is `recent-sign-in`, or `code` if it has two-factor.
|
|
526
|
+
|
|
494
527
|
#### Adopting it in an app
|
|
495
528
|
|
|
496
529
|
This applies to AltEd, Quickie, PM Tool, senco, KRP, FB Web (1.7.2) and
|
|
@@ -37,6 +37,13 @@ export interface StepUpStatus {
|
|
|
37
37
|
confirmedUntil: string | null;
|
|
38
38
|
/** Too many wrong answers on this session: it has to sign in again before it can confirm. */
|
|
39
39
|
locked: boolean;
|
|
40
|
+
/**
|
|
41
|
+
* Whether the session is young enough for Better Auth to let it add a passkey at all (`session.freshAge`, a day
|
|
42
|
+
* by default; always true when that check is off). When false, confirming changes nothing: the passkey plugin
|
|
43
|
+
* answers SESSION_NOT_FRESH whatever this session proves. Ask them to sign in again before asking for anything.
|
|
44
|
+
* Setting a first password has no such limit, so a set-password screen can ignore it.
|
|
45
|
+
*/
|
|
46
|
+
sessionFresh: boolean;
|
|
40
47
|
}
|
|
41
48
|
/** The error codes the plugin answers with. Shaped as Better Auth's own `$ERROR_CODES`. */
|
|
42
49
|
export declare const STEP_UP_ERROR_CODES: {
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"step-up-routes.d.ts","sourceRoot":"","sources":["../../src/auth/step-up-routes.ts"],"names":[],"mappings":"AAAA;;;;GAIG;AAEH,oEAAoE;AACpE,eAAO,MAAM,UAAU,YAAY,CAAC;AAEpC;;;GAGG;AACH,eAAO,MAAM,sBAAsB,iFAAkF,CAAC;AAEtH;;;GAGG;AACH,eAAO,MAAM,mBAAmB,wEAAyE,CAAC;AAE1G,+EAA+E;AAC/E,eAAO,MAAM,8BAA8B,MAAM,CAAC;AAElD,kFAAkF;AAClF,eAAO,MAAM,4BAA4B,IAAI,CAAC;AAE9C;;;;;;;GAOG;AACH,MAAM,MAAM,WAAW,GAAG,MAAM,GAAG,UAAU,GAAG,gBAAgB,CAAC;AAEjE,mFAAmF;AACnF,MAAM,WAAW,YAAY;IAC3B,KAAK,EAAE,WAAW,CAAC;IACnB,kDAAkD;IAClD,SAAS,EAAE,OAAO,CAAC;IACnB,2EAA2E;IAC3E,cAAc,EAAE,MAAM,GAAG,IAAI,CAAC;IAC9B,6FAA6F;IAC7F,MAAM,EAAE,OAAO,CAAC;
|
|
1
|
+
{"version":3,"file":"step-up-routes.d.ts","sourceRoot":"","sources":["../../src/auth/step-up-routes.ts"],"names":[],"mappings":"AAAA;;;;GAIG;AAEH,oEAAoE;AACpE,eAAO,MAAM,UAAU,YAAY,CAAC;AAEpC;;;GAGG;AACH,eAAO,MAAM,sBAAsB,iFAAkF,CAAC;AAEtH;;;GAGG;AACH,eAAO,MAAM,mBAAmB,wEAAyE,CAAC;AAE1G,+EAA+E;AAC/E,eAAO,MAAM,8BAA8B,MAAM,CAAC;AAElD,kFAAkF;AAClF,eAAO,MAAM,4BAA4B,IAAI,CAAC;AAE9C;;;;;;;GAOG;AACH,MAAM,MAAM,WAAW,GAAG,MAAM,GAAG,UAAU,GAAG,gBAAgB,CAAC;AAEjE,mFAAmF;AACnF,MAAM,WAAW,YAAY;IAC3B,KAAK,EAAE,WAAW,CAAC;IACnB,kDAAkD;IAClD,SAAS,EAAE,OAAO,CAAC;IACnB,2EAA2E;IAC3E,cAAc,EAAE,MAAM,GAAG,IAAI,CAAC;IAC9B,6FAA6F;IAC7F,MAAM,EAAE,OAAO,CAAC;IAChB;;;;;OAKG;IACH,YAAY,EAAE,OAAO,CAAC;CACvB;AAED,2FAA2F;AAC3F,eAAO,MAAM,mBAAmB;;;;;;;;;;;;;CAUtB,CAAC;AAEX,MAAM,MAAM,eAAe,GAAG,MAAM,OAAO,mBAAmB,CAAC;AAE/D,mGAAmG;AACnG,eAAO,MAAM,gCAAgC,gDAAgD,CAAC;AAa9F;;;GAGG;AACH,wBAAgB,gBAAgB,CAAC,KAAK,EAAE,OAAO,GAAG,OAAO,CAExD;AAED,sHAAsH;AACtH,wBAAgB,aAAa,CAAC,KAAK,EAAE,OAAO,GAAG,WAAW,GAAG,IAAI,CAKhE"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"step-up-routes.js","sourceRoot":"","sources":["../../src/auth/step-up-routes.ts"],"names":[],"mappings":"AAAA;;;;GAIG;AAEH,oEAAoE;AACpE,MAAM,CAAC,MAAM,UAAU,GAAG,SAAS,CAAC;AAEpC;;;GAGG;AACH,MAAM,CAAC,MAAM,sBAAsB,GAAG,CAAC,oCAAoC,EAAE,8BAA8B,CAAU,CAAC;AAEtH;;;GAGG;AACH,MAAM,CAAC,MAAM,mBAAmB,GAAG,CAAC,yBAAyB,EAAE,gCAAgC,CAAU,CAAC;AAE1G,+EAA+E;AAC/E,MAAM,CAAC,MAAM,8BAA8B,GAAG,GAAG,CAAC;AAElD,kFAAkF;AAClF,MAAM,CAAC,MAAM,4BAA4B,GAAG,CAAC,CAAC;
|
|
1
|
+
{"version":3,"file":"step-up-routes.js","sourceRoot":"","sources":["../../src/auth/step-up-routes.ts"],"names":[],"mappings":"AAAA;;;;GAIG;AAEH,oEAAoE;AACpE,MAAM,CAAC,MAAM,UAAU,GAAG,SAAS,CAAC;AAEpC;;;GAGG;AACH,MAAM,CAAC,MAAM,sBAAsB,GAAG,CAAC,oCAAoC,EAAE,8BAA8B,CAAU,CAAC;AAEtH;;;GAGG;AACH,MAAM,CAAC,MAAM,mBAAmB,GAAG,CAAC,yBAAyB,EAAE,gCAAgC,CAAU,CAAC;AAE1G,+EAA+E;AAC/E,MAAM,CAAC,MAAM,8BAA8B,GAAG,GAAG,CAAC;AAElD,kFAAkF;AAClF,MAAM,CAAC,MAAM,4BAA4B,GAAG,CAAC,CAAC;AA8B9C,2FAA2F;AAC3F,MAAM,CAAC,MAAM,mBAAmB,GAAG;IACjC,gBAAgB,EAAE,EAAE,IAAI,EAAE,kBAAkB,EAAE,OAAO,EAAE,2CAA2C,EAAE;IACpG,cAAc,EAAE;QACd,IAAI,EAAE,gBAAgB;QACtB,OAAO,EAAE,gEAAgE;KAC1E;IACD,6BAA6B,EAAE;QAC7B,IAAI,EAAE,+BAA+B;QACrC,OAAO,EAAE,+CAA+C;KACzD;CACO,CAAC;AAIX,mGAAmG;AACnG,MAAM,CAAC,MAAM,gCAAgC,GAAG,6CAA6C,CAAC;AAE9F,MAAM,KAAK,GAAsB,CAAC,MAAM,EAAE,UAAU,EAAE,gBAAgB,CAAyB,CAAC;AAEhG,2HAA2H;AAC3H,SAAS,WAAW,CAAC,KAAc;IACjC,IAAI,CAAC,KAAK,IAAI,OAAO,KAAK,KAAK,QAAQ;QAAE,OAAO,EAAE,CAAC;IACnD,MAAM,KAAK,GAAG,KAAgC,CAAC;IAC/C,OAAO,CAAC,KAAK,EAAE,KAAK,CAAC,KAAK,EAAE,KAAK,CAAC,IAAI,CAAC,CAAC,MAAM,CAC5C,CAAC,IAAI,EAAmC,EAAE,CAAC,CAAC,CAAC,IAAI,IAAI,OAAO,IAAI,KAAK,QAAQ,CAC9E,CAAC;AACJ,CAAC;AAED;;;GAGG;AACH,MAAM,UAAU,gBAAgB,CAAC,KAAc;IAC7C,OAAO,WAAW,CAAC,KAAK,CAAC,CAAC,IAAI,CAAC,CAAC,IAAI,EAAE,EAAE,CAAC,IAAI,CAAC,IAAI,KAAK,mBAAmB,CAAC,gBAAgB,CAAC,IAAI,CAAC,CAAC;AACpG,CAAC;AAED,sHAAsH;AACtH,MAAM,UAAU,aAAa,CAAC,KAAc;IAC1C,KAAK,MAAM,IAAI,IAAI,WAAW,CAAC,KAAK,CAAC,EAAE,CAAC;QACtC,IAAI,OAAO,IAAI,CAAC,KAAK,KAAK,QAAQ,IAAI,KAAK,CAAC,QAAQ,CAAC,IAAI,CAAC,KAAK,CAAC;YAAE,OAAO,IAAI,CAAC,KAAoB,CAAC;IACrG,CAAC;IACD,OAAO,IAAI,CAAC;AACd,CAAC"}
|
package/dist/auth/step-up.d.ts
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
import type { User } from "better-auth";
|
|
2
2
|
import * as z from "zod";
|
|
3
|
-
import { type StepUpStatus } from "./step-up-routes.js";
|
|
3
|
+
import { type StepUpNeeds, type StepUpStatus } from "./step-up-routes.js";
|
|
4
4
|
/**
|
|
5
5
|
* A new way in needs a recent proof of an existing one.
|
|
6
6
|
*
|
|
@@ -43,6 +43,10 @@ export interface StepUpOptions {
|
|
|
43
43
|
/**
|
|
44
44
|
* The routes that need a confirmation. Default {@link STEP_UP_PASSKEY_ROUTES}; to add a route, keep those:
|
|
45
45
|
* `routes: [...STEP_UP_PASSKEY_ROUTES, "/my/route"]`.
|
|
46
|
+
*
|
|
47
|
+
* Only endpoints reached through Better Auth's router have a path to match. A server-only method has none —
|
|
48
|
+
* `auth.api.setPassword` among them — so listing "/set-password" here matches nothing and guards nothing. Check
|
|
49
|
+
* in the caller instead: `auth.api.stepUpStatus({ headers })` before the call, and refuse when not confirmed.
|
|
46
50
|
*/
|
|
47
51
|
routes?: readonly string[];
|
|
48
52
|
/** Wrong answers (codes and passwords together) one session may give before it must sign in again. Default 5. */
|
|
@@ -135,10 +139,11 @@ export declare function stepUp(options?: StepUpOptions): {
|
|
|
135
139
|
};
|
|
136
140
|
}>>[];
|
|
137
141
|
}, {
|
|
138
|
-
needs: "password";
|
|
139
142
|
confirmed: true;
|
|
140
143
|
confirmedUntil: string;
|
|
141
144
|
locked: false;
|
|
145
|
+
needs: StepUpNeeds;
|
|
146
|
+
sessionFresh: boolean;
|
|
142
147
|
}>;
|
|
143
148
|
};
|
|
144
149
|
hooks: {
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"step-up.d.ts","sourceRoot":"","sources":["../../src/auth/step-up.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAoB,IAAI,EAAE,MAAM,aAAa,CAAC;AAS1D,OAAO,KAAK,CAAC,MAAM,KAAK,CAAC;AAEzB,OAAO,
|
|
1
|
+
{"version":3,"file":"step-up.d.ts","sourceRoot":"","sources":["../../src/auth/step-up.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAoB,IAAI,EAAE,MAAM,aAAa,CAAC;AAS1D,OAAO,KAAK,CAAC,MAAM,KAAK,CAAC;AAEzB,OAAO,EAQL,KAAK,WAAW,EAChB,KAAK,YAAY,EAClB,MAAM,qBAAqB,CAAC;AAE7B;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GAiCG;AACH,MAAM,WAAW,aAAa;IAC5B,8GAA8G;IAC9G,OAAO,CAAC,EAAE,OAAO,CAAC;IAClB,gHAAgH;IAChH,aAAa,CAAC,EAAE,MAAM,CAAC;IACvB;;;;;;;OAOG;IACH,MAAM,CAAC,EAAE,SAAS,MAAM,EAAE,CAAC;IAC3B,iHAAiH;IACjH,WAAW,CAAC,EAAE,MAAM,CAAC;IACrB;;;;OAIG;IACH,cAAc,CAAC,EAAE,CAAC,IAAI,EAAE,gBAAgB,KAAK,OAAO,CAAC,IAAI,CAAC,GAAG,IAAI,CAAC;CACnE;AAED,MAAM,WAAW,gBAAgB;IAC/B,IAAI,EAAE,IAAI,CAAC;IACX,OAAO,EAAE;QAAE,EAAE,EAAE,MAAM,CAAC;QAAC,IAAI,CAAC,EAAE,MAAM,CAAC;QAAC,SAAS,CAAC,EAAE,IAAI,CAAA;KAAE,CAAC;IACzD,4FAA4F;IAC5F,OAAO,CAAC,EAAE,OAAO,CAAC;CACnB;AAwCD,wBAAgB,MAAM,CAAC,OAAO,GAAE,aAAkB;;;;;;;QArDhD;;;;WAIG;yBACc,CAAC,IAAI,EAAE,gBAAgB,KAAK,OAAO,CAAC,IAAI,CAAC,GAAG,IAAI;;;;;;;;;;;;;;;iCAOhD,CAAC;iCAGoB,CAAC;;;;;;;;;6BAIxB,CAAA;;;;;;;;;;;;;;;;;;;iCAPE,CAAC;iCAGoB,CAAC;;;;;;;;;6BAIxB,CAAA;;;;;;;;;;;;;;;;;;;;;;;4BA4UqB,MAAM;;;;;;;;;;;;;;;;;;EAG3C"}
|
package/dist/auth/step-up.js
CHANGED
|
@@ -75,18 +75,24 @@ export function stepUp(options = {}) {
|
|
|
75
75
|
const needs = await needsFor(context, live.user);
|
|
76
76
|
const locked = needs !== "recent-sign-in" && (await attemptsUsed(context, live.session.id)) >= maxAttempts;
|
|
77
77
|
const now = Date.now();
|
|
78
|
+
// The passkey plugin's own freshSessionMiddleware rule, so a screen can say "sign in again" before it asks
|
|
79
|
+
// for a password the passkey routes would then refuse anyway.
|
|
80
|
+
const freshAge = context.sessionConfig.freshAge;
|
|
81
|
+
const sessionFresh = freshAge === 0 || now - toDate(live.session.createdAt).getTime() < freshAge * 1000;
|
|
78
82
|
const row = await context.internalAdapter.findVerificationValue(confirmationKey(live.session.id));
|
|
79
83
|
if (row && row.value === live.session.userId && row.value === live.user.id) {
|
|
80
84
|
const until = toDate(row.expiresAt);
|
|
81
|
-
if (until.getTime() > now)
|
|
82
|
-
return { needs, confirmed: true, confirmedUntil: until.toISOString(), locked };
|
|
85
|
+
if (until.getTime() > now) {
|
|
86
|
+
return { needs, confirmed: true, confirmedUntil: until.toISOString(), locked, sessionFresh };
|
|
87
|
+
}
|
|
83
88
|
}
|
|
84
89
|
if (needs === "recent-sign-in") {
|
|
85
90
|
const until = new Date(toDate(live.session.createdAt).getTime() + windowSeconds * 1000);
|
|
86
|
-
if (until.getTime() > now)
|
|
87
|
-
return { needs, confirmed: true, confirmedUntil: until.toISOString(), locked };
|
|
91
|
+
if (until.getTime() > now) {
|
|
92
|
+
return { needs, confirmed: true, confirmedUntil: until.toISOString(), locked, sessionFresh };
|
|
93
|
+
}
|
|
88
94
|
}
|
|
89
|
-
return { needs, confirmed: false, confirmedUntil: null, locked };
|
|
95
|
+
return { needs, confirmed: false, confirmedUntil: null, locked, sessionFresh };
|
|
90
96
|
}
|
|
91
97
|
/** The session as the session store has it now — never the cookie cache, which can outlive a revoked session. */
|
|
92
98
|
async function liveSession(ctx) {
|
|
@@ -282,7 +288,7 @@ export function stepUp(options = {}) {
|
|
|
282
288
|
}
|
|
283
289
|
const until = await recordConfirmation(ctx.context, live.session);
|
|
284
290
|
return ctx.json({
|
|
285
|
-
|
|
291
|
+
...(await statusFor(ctx.context, live)),
|
|
286
292
|
confirmed: true,
|
|
287
293
|
confirmedUntil: until.toISOString(),
|
|
288
294
|
locked: false,
|
package/dist/auth/step-up.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"step-up.js","sourceRoot":"","sources":["../../src/auth/step-up.ts"],"names":[],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"step-up.js","sourceRoot":"","sources":["../../src/auth/step-up.ts"],"names":[],"mappings":"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"}
|