@bitbaum/accountkit 0.10.0 → 0.11.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/README.md +30 -0
- package/dist/auth/claim-errors.d.ts +25 -0
- package/dist/auth/claim-errors.d.ts.map +1 -0
- package/dist/auth/claim-errors.js +13 -0
- package/dist/auth/claim-errors.js.map +1 -0
- package/dist/auth/domain-credentials.d.ts.map +1 -1
- package/dist/auth/domain-credentials.js +1 -0
- package/dist/auth/domain-credentials.js.map +1 -1
- package/dist/auth/index.d.ts +1 -0
- package/dist/auth/index.d.ts.map +1 -1
- package/dist/auth/index.js +1 -0
- package/dist/auth/index.js.map +1 -1
- package/dist/auth/limits.d.ts.map +1 -1
- package/dist/auth/limits.js +1 -0
- package/dist/auth/limits.js.map +1 -1
- package/dist/auth/next.d.ts +2 -0
- package/dist/auth/next.d.ts.map +1 -1
- package/dist/auth/next.js +1 -0
- package/dist/auth/next.js.map +1 -1
- package/dist/auth/provisioning.d.ts +63 -0
- package/dist/auth/provisioning.d.ts.map +1 -0
- package/dist/auth/provisioning.js +121 -0
- package/dist/auth/provisioning.js.map +1 -0
- package/dist/auth/recovery-verification.d.ts +23 -0
- package/dist/auth/recovery-verification.d.ts.map +1 -0
- package/dist/auth/recovery-verification.js +53 -0
- package/dist/auth/recovery-verification.js.map +1 -0
- package/dist/auth/server.d.ts +9 -0
- package/dist/auth/server.d.ts.map +1 -1
- package/dist/auth/server.js +16 -1
- package/dist/auth/server.js.map +1 -1
- package/package.json +1 -1
package/README.md
CHANGED
|
@@ -269,3 +269,33 @@ change account security or list other sessions. Show a password/passkey/provider
|
|
|
269
269
|
sign-in action before offering account management. An account with an enabled
|
|
270
270
|
second factor must use another configured primary method; domain proof alone
|
|
271
271
|
never bypasses MFA. The shared tables require no change for this option.
|
|
272
|
+
|
|
273
|
+
### First passwords and linking a second identity
|
|
274
|
+
|
|
275
|
+
A product that created people before they had a password (an invitation, a
|
|
276
|
+
login code) passes `provisioning.resolve(credential)`. It returns `null`, or
|
|
277
|
+
`{ userId, link?, complete?, release? }` for the shared user that holds the
|
|
278
|
+
identity the proof names. This enables `POST /api/auth/provision/claim` with
|
|
279
|
+
`{ credential, email, password, name?, callbackURL? }`, rate limited as a
|
|
280
|
+
credential. Take a single-use proof inside `resolve` and give it back in
|
|
281
|
+
`release`, which runs on every failure after it.
|
|
282
|
+
|
|
283
|
+
- A user with no password gets one, under its existing id, at the address typed.
|
|
284
|
+
An address that cannot receive mail (`.invalid`) is refused. A verified
|
|
285
|
+
address is never replaced; the same address keeps its verification, a new
|
|
286
|
+
one starts unverified.
|
|
287
|
+
- An address that belongs to another account joins this identity to it only on
|
|
288
|
+
that account's own password, then calls `link(targetUserId)`. Without `link`
|
|
289
|
+
the claim is refused. If that account has no password yet (invited, never
|
|
290
|
+
claimed), the claim is refused with `CLAIM_EMAIL_NEEDS_RECOVERY`: recovery
|
|
291
|
+
through its mailbox comes first.
|
|
292
|
+
- An identity that already has a password is refused; sign in or recover.
|
|
293
|
+
- With mail configured an unverified address gets a verification link and no
|
|
294
|
+
session (`status: "verify_email"`); the link signs them in. An account with a
|
|
295
|
+
second factor is linked but must still sign in (`status: "sign_in"`).
|
|
296
|
+
|
|
297
|
+
Refusals carry the codes in `CLAIM_ERRORS` (`@bitbaum/accountkit/auth`).
|
|
298
|
+
|
|
299
|
+
A used password-reset link verifies the address it was sent to, unless the
|
|
300
|
+
account's address changed after it was sent. Recovery therefore leaves an
|
|
301
|
+
imported or invited account with a usable sign-in when mail is configured.
|
|
@@ -0,0 +1,25 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Why a claim (./provisioning) was refused, as stable codes a product's screen
|
|
3
|
+
* turns into its own words. Safe to import in the browser.
|
|
4
|
+
*/
|
|
5
|
+
export declare const CLAIM_ERRORS: {
|
|
6
|
+
readonly invalid: "CLAIM_INVALID";
|
|
7
|
+
readonly alreadyClaimed: "CLAIM_ALREADY_CLAIMED";
|
|
8
|
+
readonly emailTaken: "CLAIM_EMAIL_TAKEN";
|
|
9
|
+
readonly emailNeedsRecovery: "CLAIM_EMAIL_NEEDS_RECOVERY";
|
|
10
|
+
readonly linkPasswordMismatch: "CLAIM_LINK_PASSWORD_MISMATCH";
|
|
11
|
+
readonly verifiedEmailMismatch: "CLAIM_VERIFIED_EMAIL_MISMATCH";
|
|
12
|
+
};
|
|
13
|
+
export type ClaimError = (typeof CLAIM_ERRORS)[keyof typeof CLAIM_ERRORS];
|
|
14
|
+
/** What a successful claim did: a session, a verification mail, or a sign-in still owed (2FA). */
|
|
15
|
+
export type ClaimResult = {
|
|
16
|
+
status: "signed_in";
|
|
17
|
+
userId: string;
|
|
18
|
+
} | {
|
|
19
|
+
status: "verify_email";
|
|
20
|
+
userId: string;
|
|
21
|
+
} | {
|
|
22
|
+
status: "sign_in";
|
|
23
|
+
userId: string;
|
|
24
|
+
};
|
|
25
|
+
//# sourceMappingURL=claim-errors.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"claim-errors.d.ts","sourceRoot":"","sources":["../../src/auth/claim-errors.ts"],"names":[],"mappings":"AAAA;;;GAGG;AACH,eAAO,MAAM,YAAY;;;;;;;CAOf,CAAC;AAEX,MAAM,MAAM,UAAU,GAAG,CAAC,OAAO,YAAY,CAAC,CAAC,MAAM,OAAO,YAAY,CAAC,CAAC;AAE1E,kGAAkG;AAClG,MAAM,MAAM,WAAW,GACnB;IAAE,MAAM,EAAE,WAAW,CAAC;IAAC,MAAM,EAAE,MAAM,CAAA;CAAE,GACvC;IAAE,MAAM,EAAE,cAAc,CAAC;IAAC,MAAM,EAAE,MAAM,CAAA;CAAE,GAC1C;IAAE,MAAM,EAAE,SAAS,CAAC;IAAC,MAAM,EAAE,MAAM,CAAA;CAAE,CAAC"}
|
|
@@ -0,0 +1,13 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Why a claim (./provisioning) was refused, as stable codes a product's screen
|
|
3
|
+
* turns into its own words. Safe to import in the browser.
|
|
4
|
+
*/
|
|
5
|
+
export const CLAIM_ERRORS = {
|
|
6
|
+
invalid: "CLAIM_INVALID",
|
|
7
|
+
alreadyClaimed: "CLAIM_ALREADY_CLAIMED",
|
|
8
|
+
emailTaken: "CLAIM_EMAIL_TAKEN",
|
|
9
|
+
emailNeedsRecovery: "CLAIM_EMAIL_NEEDS_RECOVERY",
|
|
10
|
+
linkPasswordMismatch: "CLAIM_LINK_PASSWORD_MISMATCH",
|
|
11
|
+
verifiedEmailMismatch: "CLAIM_VERIFIED_EMAIL_MISMATCH",
|
|
12
|
+
};
|
|
13
|
+
//# sourceMappingURL=claim-errors.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"claim-errors.js","sourceRoot":"","sources":["../../src/auth/claim-errors.ts"],"names":[],"mappings":"AAAA;;;GAGG;AACH,MAAM,CAAC,MAAM,YAAY,GAAG;IAC1B,OAAO,EAAE,eAAe;IACxB,cAAc,EAAE,uBAAuB;IACvC,UAAU,EAAE,mBAAmB;IAC/B,kBAAkB,EAAE,4BAA4B;IAChD,oBAAoB,EAAE,8BAA8B;IACpD,qBAAqB,EAAE,+BAA+B;CAC9C,CAAC"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"domain-credentials.d.ts","sourceRoot":"","sources":["../../src/auth/domain-credentials.ts"],"names":[],"mappings":"AAUA,OAAO,EAAE,CAAC,EAAE,MAAM,KAAK,CAAC;AAExB,+EAA+E;AAC/E,MAAM,WAAW,iBAAiB;IAChC,MAAM,CAAC,UAAU,EAAE,MAAM,GAAG,OAAO,CAAC;QAClC,+EAA+E;QAC/E,MAAM,EAAE,MAAM,CAAC;QACf;;;;WAIG;QACH,WAAW,CAAC,EAAE,CAAC,SAAS,EAAE,MAAM,KAAK,OAAO,CAAC,IAAI,CAAC,CAAC;KACpD,GAAG,IAAI,CAAC,CAAC;CACX;AAED,wBAAgB,uBAAuB,CAAC,WAAW,EAAE,iBAAiB;;;;;;;;;;;;;;;;;;;;;;
|
|
1
|
+
{"version":3,"file":"domain-credentials.d.ts","sourceRoot":"","sources":["../../src/auth/domain-credentials.ts"],"names":[],"mappings":"AAUA,OAAO,EAAE,CAAC,EAAE,MAAM,KAAK,CAAC;AAExB,+EAA+E;AAC/E,MAAM,WAAW,iBAAiB;IAChC,MAAM,CAAC,UAAU,EAAE,MAAM,GAAG,OAAO,CAAC;QAClC,+EAA+E;QAC/E,MAAM,EAAE,MAAM,CAAC;QACf;;;;WAIG;QACH,WAAW,CAAC,EAAE,CAAC,SAAS,EAAE,MAAM,KAAK,OAAO,CAAC,IAAI,CAAC,CAAC;KACpD,GAAG,IAAI,CAAC,CAAC;CACX;AAED,wBAAgB,uBAAuB,CAAC,WAAW,EAAE,iBAAiB;;;;;;;;;;;;;;;;;;;;;;EAgHrE"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"domain-credentials.js","sourceRoot":"","sources":["../../src/auth/domain-credentials.ts"],"names":[],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"domain-credentials.js","sourceRoot":"","sources":["../../src/auth/domain-credentials.ts"],"names":[],"mappings":"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"}
|
package/dist/auth/index.d.ts
CHANGED
|
@@ -4,4 +4,5 @@ export { MAX_PASSWORD_LENGTH, MIN_PASSWORD_LENGTH, passwordProblem, } from "./pa
|
|
|
4
4
|
export { authBucket, authLimits, type AuthBucket } from "./limits.js";
|
|
5
5
|
export { DEFAULT_AUTH_LABELS, DEFAULT_RECOVERY_LABELS, authErrorText, fill, type AuthError, type AuthLabels, type RecoveryLabels, } from "./labels.js";
|
|
6
6
|
export { AUTH_LABEL_LOCALES, authLabelsFor } from "./translations.js";
|
|
7
|
+
export { CLAIM_ERRORS, type ClaimError, type ClaimResult, } from "./claim-errors.js";
|
|
7
8
|
//# sourceMappingURL=index.d.ts.map
|
package/dist/auth/index.d.ts.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/auth/index.ts"],"names":[],"mappings":"AAAA,cAAc,cAAc,CAAC;AAC7B,cAAc,YAAY,CAAC;AAC3B,OAAO,EACL,mBAAmB,EACnB,mBAAmB,EACnB,eAAe,GAChB,MAAM,eAAe,CAAC;AACvB,OAAO,EAAE,UAAU,EAAE,UAAU,EAAE,KAAK,UAAU,EAAE,MAAM,aAAa,CAAC;AACtE,OAAO,EACL,mBAAmB,EACnB,uBAAuB,EACvB,aAAa,EACb,IAAI,EACJ,KAAK,SAAS,EACd,KAAK,UAAU,EACf,KAAK,cAAc,GACpB,MAAM,aAAa,CAAC;AACrB,OAAO,EAAE,kBAAkB,EAAE,aAAa,EAAE,MAAM,mBAAmB,CAAC"}
|
|
1
|
+
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/auth/index.ts"],"names":[],"mappings":"AAAA,cAAc,cAAc,CAAC;AAC7B,cAAc,YAAY,CAAC;AAC3B,OAAO,EACL,mBAAmB,EACnB,mBAAmB,EACnB,eAAe,GAChB,MAAM,eAAe,CAAC;AACvB,OAAO,EAAE,UAAU,EAAE,UAAU,EAAE,KAAK,UAAU,EAAE,MAAM,aAAa,CAAC;AACtE,OAAO,EACL,mBAAmB,EACnB,uBAAuB,EACvB,aAAa,EACb,IAAI,EACJ,KAAK,SAAS,EACd,KAAK,UAAU,EACf,KAAK,cAAc,GACpB,MAAM,aAAa,CAAC;AACrB,OAAO,EAAE,kBAAkB,EAAE,aAAa,EAAE,MAAM,mBAAmB,CAAC;AACtE,OAAO,EACL,YAAY,EACZ,KAAK,UAAU,EACf,KAAK,WAAW,GACjB,MAAM,mBAAmB,CAAC"}
|
package/dist/auth/index.js
CHANGED
|
@@ -4,4 +4,5 @@ export { MAX_PASSWORD_LENGTH, MIN_PASSWORD_LENGTH, passwordProblem, } from "./pa
|
|
|
4
4
|
export { authBucket, authLimits } from "./limits.js";
|
|
5
5
|
export { DEFAULT_AUTH_LABELS, DEFAULT_RECOVERY_LABELS, authErrorText, fill, } from "./labels.js";
|
|
6
6
|
export { AUTH_LABEL_LOCALES, authLabelsFor } from "./translations.js";
|
|
7
|
+
export { CLAIM_ERRORS, } from "./claim-errors.js";
|
|
7
8
|
//# sourceMappingURL=index.js.map
|
package/dist/auth/index.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/auth/index.ts"],"names":[],"mappings":"AAAA,cAAc,cAAc,CAAC;AAC7B,cAAc,YAAY,CAAC;AAC3B,OAAO,EACL,mBAAmB,EACnB,mBAAmB,EACnB,eAAe,GAChB,MAAM,eAAe,CAAC;AACvB,OAAO,EAAE,UAAU,EAAE,UAAU,EAAmB,MAAM,aAAa,CAAC;AACtE,OAAO,EACL,mBAAmB,EACnB,uBAAuB,EACvB,aAAa,EACb,IAAI,GAIL,MAAM,aAAa,CAAC;AACrB,OAAO,EAAE,kBAAkB,EAAE,aAAa,EAAE,MAAM,mBAAmB,CAAC"}
|
|
1
|
+
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/auth/index.ts"],"names":[],"mappings":"AAAA,cAAc,cAAc,CAAC;AAC7B,cAAc,YAAY,CAAC;AAC3B,OAAO,EACL,mBAAmB,EACnB,mBAAmB,EACnB,eAAe,GAChB,MAAM,eAAe,CAAC;AACvB,OAAO,EAAE,UAAU,EAAE,UAAU,EAAmB,MAAM,aAAa,CAAC;AACtE,OAAO,EACL,mBAAmB,EACnB,uBAAuB,EACvB,aAAa,EACb,IAAI,GAIL,MAAM,aAAa,CAAC;AACrB,OAAO,EAAE,kBAAkB,EAAE,aAAa,EAAE,MAAM,mBAAmB,CAAC;AACtE,OAAO,EACL,YAAY,GAGb,MAAM,mBAAmB,CAAC"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"limits.d.ts","sourceRoot":"","sources":["../../src/auth/limits.ts"],"names":[],"mappings":"AACA,OAAO,EAAsC,KAAK,WAAW,EAAE,MAAM,UAAU,CAAC;AAEhF;;;;;;GAMG;AACH,eAAO,MAAM,UAAU;IACrB,0DAA0D;;IAE1D,2EAA2E;;IAE3E,uEAAuE;;IAEvE,0EAA0E;;CAE3E,CAAC;AAEF,MAAM,MAAM,UAAU,GAAG,YAAY,GAAG,MAAM,GAAG,MAAM,CAAC;
|
|
1
|
+
{"version":3,"file":"limits.d.ts","sourceRoot":"","sources":["../../src/auth/limits.ts"],"names":[],"mappings":"AACA,OAAO,EAAsC,KAAK,WAAW,EAAE,MAAM,UAAU,CAAC;AAEhF;;;;;;GAMG;AACH,eAAO,MAAM,UAAU;IACrB,0DAA0D;;IAE1D,2EAA2E;;IAE3E,uEAAuE;;IAEvE,0EAA0E;;CAE3E,CAAC;AAEF,MAAM,MAAM,UAAU,GAAG,YAAY,GAAG,MAAM,GAAG,MAAM,CAAC;AA0BxD,qEAAqE;AACrE,wBAAgB,UAAU,CAAC,IAAI,EAAE,MAAM,GAAG,UAAU,CAKnD;AAED,wBAAgB,SAAS,CAAC,OAAO,EAAE,OAAO,EAAE,KAAK,EAAE,MAAM,GAAG,MAAM,CAEjE;AAED,kFAAkF;AAClF,wBAAgB,YAAY,CAAC,KAAK,EAAE,MAAM,GAAG,MAAM,CAElD;AAED,wBAAgB,OAAO,CAAC,MAAM,EAAE,WAAW,GAAG,QAAQ,CAQrD;AAeD,oFAAoF;AACpF,wBAAsB,oBAAoB,CACxC,OAAO,EAAE,OAAO,GACf,OAAO,CAAC,QAAQ,GAAG,IAAI,CAAC,CAgB1B"}
|
package/dist/auth/limits.js
CHANGED
package/dist/auth/limits.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"limits.js","sourceRoot":"","sources":["../../src/auth/limits.ts"],"names":[],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"limits.js","sourceRoot":"","sources":["../../src/auth/limits.ts"],"names":[],"mappings":"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"}
|
package/dist/auth/next.d.ts
CHANGED
|
@@ -13,6 +13,8 @@ export interface AuthRuntimeOptions {
|
|
|
13
13
|
/** See CreateAuthOptions.legacyBcrypt; only needed for imported credentials. */
|
|
14
14
|
legacyBcrypt?: CreateAuthOptions["legacyBcrypt"];
|
|
15
15
|
domainCredentials?: CreateAuthOptions["domainCredentials"];
|
|
16
|
+
/** See CreateAuthOptions.provisioning: first passwords and identity linking. */
|
|
17
|
+
provisioning?: CreateAuthOptions["provisioning"];
|
|
16
18
|
/**
|
|
17
19
|
* For a product whose rows were keyed on an OIDC subject before it had
|
|
18
20
|
* accounts (an OrangeCat actor id). A person who FIRST came in through that
|
package/dist/auth/next.d.ts.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"next.d.ts","sourceRoot":"","sources":["../../src/auth/next.ts"],"names":[],"mappings":"AAKA,OAAO,EAGL,KAAK,IAAI,EACT,KAAK,iBAAiB,EACtB,KAAK,QAAQ,EACb,KAAK,UAAU,EACf,KAAK,UAAU,EAChB,MAAM,aAAa,CAAC;AAErB,MAAM,WAAW,kBAAkB;IACjC,IAAI,EAAE,QAAQ,CAAC;IACf,IAAI,EAAE,UAAU,CAAC;IACjB,qFAAqF;IACrF,GAAG,CAAC,EAAE,MAAM,CAAC,UAAU,CAAC;IACxB,8DAA8D;IAC9D,oBAAoB,EAAE,CAAC,GAAG,EAAE,MAAM,CAAC,UAAU,KAAK,OAAO,CAAC;IAC1D,kEAAkE;IAClE,WAAW,EAAE,MAAM,OAAO,CAAC;IAC3B,8EAA8E;IAC9E,MAAM,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAAC;IACjC,gFAAgF;IAChF,YAAY,CAAC,EAAE,iBAAiB,CAAC,cAAc,CAAC,CAAC;IACjD,iBAAiB,CAAC,EAAE,iBAAiB,CAAC,mBAAmB,CAAC,CAAC;IAC3D;;;;;;OAMG;IACH,sBAAsB,CAAC,EAAE,MAAM,CAAC;IAChC,8CAA8C;IAC9C,gBAAgB,CAAC,EAAE,iBAAiB,CAAC,kBAAkB,CAAC,CAAC;CAC1D;AAED,KAAK,WAAW,GAAG;IAAE,EAAE,EAAE,MAAM,CAAC;IAAC,OAAO,EAAE,MAAM,CAAC;IAAC,IAAI,CAAC,EAAE,OAAO,CAAA;CAAE,CAAC;AAEnE;;;;;;;;;;GAUG;AACH,wBAAgB,iBAAiB,CAAC,OAAO,EAAE,kBAAkB;mBAEvC,IAAI;
|
|
1
|
+
{"version":3,"file":"next.d.ts","sourceRoot":"","sources":["../../src/auth/next.ts"],"names":[],"mappings":"AAKA,OAAO,EAGL,KAAK,IAAI,EACT,KAAK,iBAAiB,EACtB,KAAK,QAAQ,EACb,KAAK,UAAU,EACf,KAAK,UAAU,EAChB,MAAM,aAAa,CAAC;AAErB,MAAM,WAAW,kBAAkB;IACjC,IAAI,EAAE,QAAQ,CAAC;IACf,IAAI,EAAE,UAAU,CAAC;IACjB,qFAAqF;IACrF,GAAG,CAAC,EAAE,MAAM,CAAC,UAAU,CAAC;IACxB,8DAA8D;IAC9D,oBAAoB,EAAE,CAAC,GAAG,EAAE,MAAM,CAAC,UAAU,KAAK,OAAO,CAAC;IAC1D,kEAAkE;IAClE,WAAW,EAAE,MAAM,OAAO,CAAC;IAC3B,8EAA8E;IAC9E,MAAM,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAAC;IACjC,gFAAgF;IAChF,YAAY,CAAC,EAAE,iBAAiB,CAAC,cAAc,CAAC,CAAC;IACjD,iBAAiB,CAAC,EAAE,iBAAiB,CAAC,mBAAmB,CAAC,CAAC;IAC3D,gFAAgF;IAChF,YAAY,CAAC,EAAE,iBAAiB,CAAC,cAAc,CAAC,CAAC;IACjD;;;;;;OAMG;IACH,sBAAsB,CAAC,EAAE,MAAM,CAAC;IAChC,8CAA8C;IAC9C,gBAAgB,CAAC,EAAE,iBAAiB,CAAC,kBAAkB,CAAC,CAAC;CAC1D;AAED,KAAK,WAAW,GAAG;IAAE,EAAE,EAAE,MAAM,CAAC;IAAC,OAAO,EAAE,MAAM,CAAC;IAAC,IAAI,CAAC,EAAE,OAAO,CAAA;CAAE,CAAC;AAEnE;;;;;;;;;;GAUG;AACH,wBAAgB,iBAAiB,CAAC,OAAO,EAAE,kBAAkB;mBAEvC,IAAI;uBAejB,MAAM,CAAC,UAAU,KACrB,UAAU;sBA0DgB,OAAO,CAAC,WAAW,GAAG,IAAI,CAAC;iCAdtC,OAAO,KACtB,OAAO,CAAC,WAAW,GAAG,IAAI,CAAC;2BA6BnB,OAAO,KACf,OAAO,CACN;QAAE,IAAI,EAAE,WAAW,CAAC;QAAC,QAAQ,CAAC,EAAE,KAAK,CAAA;KAAE,GACvC;QAAE,IAAI,CAAC,EAAE,KAAK,CAAC;QAAC,QAAQ,EAAE,QAAQ,CAAA;KAAE,CACvC;mBAsCsB,OAAO;oBAEN,OAAO;EAGhC;AAED,uDAAuD;AACvD,MAAM,WAAW,WAAW;IAC1B,IAAI,EAAE;QACJ,EAAE,EAAE,MAAM,CAAC;QACX,oGAAoG;QACpG,OAAO,EAAE,MAAM,CAAC;QAChB,SAAS,CAAC,EAAE,IAAI,GAAG,MAAM,CAAC;QAC1B,IAAI,EAAE,MAAM,CAAC;QACb,KAAK,EAAE,MAAM,CAAC;QACd,aAAa,EAAE,OAAO,CAAC;QACvB,KAAK,CAAC,EAAE,MAAM,GAAG,IAAI,CAAC;QACtB,IAAI,CAAC,EAAE,MAAM,CAAC;QACd,gBAAgB,CAAC,EAAE,OAAO,CAAC;KAC5B,CAAC;IACF,OAAO,EAAE;QAAE,EAAE,EAAE,MAAM,CAAC;QAAC,SAAS,EAAE,IAAI,CAAA;KAAE,CAAC;CAC1C"}
|
package/dist/auth/next.js
CHANGED
|
@@ -24,6 +24,7 @@ export function createAuthRuntime(options) {
|
|
|
24
24
|
schema: options.schema,
|
|
25
25
|
legacyBcrypt: options.legacyBcrypt,
|
|
26
26
|
domainCredentials: options.domainCredentials,
|
|
27
|
+
provisioning: options.provisioning,
|
|
27
28
|
env: options.env,
|
|
28
29
|
onAccountCreated: options.onAccountCreated,
|
|
29
30
|
database: options.getDatabase(),
|
package/dist/auth/next.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"next.js","sourceRoot":"","sources":["../../src/auth/next.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,OAAO,EAAE,MAAM,iBAAiB,CAAC;AAC1C,OAAO,EAAE,eAAe,EAAE,MAAM,qBAAqB,CAAC;AACtD,OAAO,EAAE,GAAG,EAAE,EAAE,EAAE,MAAM,aAAa,CAAC;AACtC,OAAO,EAAE,oBAAoB,EAAE,MAAM,aAAa,CAAC;AACnD,OAAO,EAAE,UAAU,EAAE,MAAM,aAAa,CAAC;AACzC,OAAO,EACL,aAAa,EACb,kBAAkB,GAMnB,MAAM,aAAa,CAAC;
|
|
1
|
+
{"version":3,"file":"next.js","sourceRoot":"","sources":["../../src/auth/next.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1,63 @@
|
|
|
1
|
+
import { z } from "zod";
|
|
2
|
+
/**
|
|
3
|
+
* A product identity that exists before its person has a password: an invited
|
|
4
|
+
* colleague, a resident who signs in with a code, a placeholder profile.
|
|
5
|
+
*
|
|
6
|
+
* The product proves WHICH identity (a single-use invitation, an exact login
|
|
7
|
+
* code). AccountKit owns everything about the credential: the first password,
|
|
8
|
+
* the address it is attached to, its verification, and the proof of an
|
|
9
|
+
* existing account before a second identity joins it.
|
|
10
|
+
*/
|
|
11
|
+
export interface ProvisionedIdentity {
|
|
12
|
+
/** The shared user that holds this identity now. Never derived from an email. */
|
|
13
|
+
userId: string;
|
|
14
|
+
/**
|
|
15
|
+
* Move this identity onto another shared user, AFTER AccountKit verified that
|
|
16
|
+
* user's own password. Omit to refuse linking: an address already in use
|
|
17
|
+
* then fails the claim. Must be idempotent, and must not touch credentials.
|
|
18
|
+
*/
|
|
19
|
+
link?: (targetUserId: string) => Promise<void>;
|
|
20
|
+
/** Called once the claim succeeded, with the user now holding the identity (consume a single-use proof here). */
|
|
21
|
+
complete?: (userId: string) => Promise<void>;
|
|
22
|
+
/** Called when the claim fails after `resolve`: give back a proof taken for it. */
|
|
23
|
+
release?: () => Promise<void>;
|
|
24
|
+
}
|
|
25
|
+
export interface AccountProvisioning {
|
|
26
|
+
/**
|
|
27
|
+
* Resolve a product proof to the identity it names, or null. A single-use
|
|
28
|
+
* proof should be TAKEN here (and given back in `release`) so that two
|
|
29
|
+
* concurrent claims cannot both succeed.
|
|
30
|
+
*/
|
|
31
|
+
resolve(credential: string): Promise<ProvisionedIdentity | null>;
|
|
32
|
+
}
|
|
33
|
+
export declare function provisioningPlugin(provisioning: AccountProvisioning, options: {
|
|
34
|
+
requireEmailVerification: boolean;
|
|
35
|
+
}): {
|
|
36
|
+
id: string;
|
|
37
|
+
endpoints: {
|
|
38
|
+
claimAccount: import("better-auth").StrictEndpoint<"/provision/claim", {
|
|
39
|
+
method: "POST";
|
|
40
|
+
use: import("better-auth").Middleware<import("better-auth").MiddlewareOptions, (inputContext: import("better-auth").MiddlewareInputContext<import("better-auth").MiddlewareOptions>) => Promise<void>>[];
|
|
41
|
+
body: z.ZodObject<{
|
|
42
|
+
credential: z.ZodString;
|
|
43
|
+
email: z.ZodEmail;
|
|
44
|
+
password: z.ZodString;
|
|
45
|
+
name: z.ZodOptional<z.ZodString>;
|
|
46
|
+
callbackURL: z.ZodOptional<z.ZodString>;
|
|
47
|
+
}, z.core.$strip>;
|
|
48
|
+
}, {
|
|
49
|
+
status: "signed_in";
|
|
50
|
+
userId: string;
|
|
51
|
+
success: boolean;
|
|
52
|
+
} | {
|
|
53
|
+
status: "verify_email";
|
|
54
|
+
userId: string;
|
|
55
|
+
success: boolean;
|
|
56
|
+
} | {
|
|
57
|
+
status: "sign_in";
|
|
58
|
+
userId: string;
|
|
59
|
+
success: boolean;
|
|
60
|
+
}>;
|
|
61
|
+
};
|
|
62
|
+
};
|
|
63
|
+
//# sourceMappingURL=provisioning.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"provisioning.d.ts","sourceRoot":"","sources":["../../src/auth/provisioning.ts"],"names":[],"mappings":"AAQA,OAAO,EAAE,CAAC,EAAE,MAAM,KAAK,CAAC;AAKxB;;;;;;;;GAQG;AACH,MAAM,WAAW,mBAAmB;IAClC,iFAAiF;IACjF,MAAM,EAAE,MAAM,CAAC;IACf;;;;OAIG;IACH,IAAI,CAAC,EAAE,CAAC,YAAY,EAAE,MAAM,KAAK,OAAO,CAAC,IAAI,CAAC,CAAC;IAC/C,iHAAiH;IACjH,QAAQ,CAAC,EAAE,CAAC,MAAM,EAAE,MAAM,KAAK,OAAO,CAAC,IAAI,CAAC,CAAC;IAC7C,mFAAmF;IACnF,OAAO,CAAC,EAAE,MAAM,OAAO,CAAC,IAAI,CAAC,CAAC;CAC/B;AAED,MAAM,WAAW,mBAAmB;IAClC;;;;OAIG;IACH,OAAO,CAAC,UAAU,EAAE,MAAM,GAAG,OAAO,CAAC,mBAAmB,GAAG,IAAI,CAAC,CAAC;CAClE;AAED,wBAAgB,kBAAkB,CAChC,YAAY,EAAE,mBAAmB,EACjC,OAAO,EAAE;IAAE,wBAAwB,EAAE,OAAO,CAAA;CAAE;;;;;;;;;;;;;;;;;;;;;;;;;;;EA2J/C"}
|
|
@@ -0,0 +1,121 @@
|
|
|
1
|
+
import { APIError, createAuthEndpoint, formCsrfMiddleware, originCheckMiddleware, sendVerificationEmailFn, } from "better-auth/api";
|
|
2
|
+
import { setSessionCookie } from "better-auth/cookies";
|
|
3
|
+
import { z } from "zod";
|
|
4
|
+
import { CLAIM_ERRORS } from "./claim-errors.js";
|
|
5
|
+
import { isDeliverable } from "./methods.js";
|
|
6
|
+
import { MAX_PASSWORD_LENGTH, MIN_PASSWORD_LENGTH } from "./password.js";
|
|
7
|
+
export function provisioningPlugin(provisioning, options) {
|
|
8
|
+
return {
|
|
9
|
+
id: "accountkit-provisioning",
|
|
10
|
+
endpoints: {
|
|
11
|
+
claimAccount: createAuthEndpoint("/provision/claim", {
|
|
12
|
+
method: "POST",
|
|
13
|
+
use: [formCsrfMiddleware, originCheckMiddleware],
|
|
14
|
+
body: z.object({
|
|
15
|
+
credential: z.string().min(1).max(1024),
|
|
16
|
+
email: z.email().max(320),
|
|
17
|
+
password: z
|
|
18
|
+
.string()
|
|
19
|
+
.min(MIN_PASSWORD_LENGTH)
|
|
20
|
+
.max(MAX_PASSWORD_LENGTH),
|
|
21
|
+
name: z.string().max(120).optional(),
|
|
22
|
+
callbackURL: z.string().max(2048).optional(),
|
|
23
|
+
}),
|
|
24
|
+
}, async (ctx) => {
|
|
25
|
+
const email = ctx.body.email.trim().toLowerCase();
|
|
26
|
+
const fail = (status, code, message) => new APIError(status, { code, message });
|
|
27
|
+
// An address that cannot receive mail is never a sign-in address.
|
|
28
|
+
if (!isDeliverable(email))
|
|
29
|
+
throw fail("FORBIDDEN", CLAIM_ERRORS.invalid, "Use an address that can receive mail");
|
|
30
|
+
const identity = await provisioning.resolve(ctx.body.credential);
|
|
31
|
+
if (!identity)
|
|
32
|
+
throw fail("UNAUTHORIZED", CLAIM_ERRORS.invalid, "Invalid claim");
|
|
33
|
+
let completed = false;
|
|
34
|
+
try {
|
|
35
|
+
const adapter = ctx.context.internalAdapter;
|
|
36
|
+
const target = await adapter.findUserById(identity.userId);
|
|
37
|
+
if (!target)
|
|
38
|
+
throw fail("UNAUTHORIZED", CLAIM_ERRORS.invalid, "Invalid claim");
|
|
39
|
+
// A finished account recovers its password; it is never claimed again.
|
|
40
|
+
if (await adapter.findCredentialAccount(target.id))
|
|
41
|
+
throw fail("CONFLICT", CLAIM_ERRORS.alreadyClaimed, "This identity already has a password: sign in or reset it");
|
|
42
|
+
const owner = await adapter.findUserByEmail(email);
|
|
43
|
+
let result;
|
|
44
|
+
if (owner && owner.user.id !== target.id) {
|
|
45
|
+
// The address belongs to another person's account. It may absorb
|
|
46
|
+
// this identity only on proof of THAT account, never because the
|
|
47
|
+
// claimant typed its address.
|
|
48
|
+
if (!identity.link)
|
|
49
|
+
throw fail("CONFLICT", CLAIM_ERRORS.emailTaken, "This address belongs to another account");
|
|
50
|
+
const existing = await adapter.findCredentialAccount(owner.user.id);
|
|
51
|
+
if (!existing?.password)
|
|
52
|
+
// Invited, never claimed: its mailbox is the only proof there
|
|
53
|
+
// is. Recover that account first, then claim with its password.
|
|
54
|
+
throw fail("CONFLICT", CLAIM_ERRORS.emailNeedsRecovery, "Set this address's password through recovery, then claim again");
|
|
55
|
+
const valid = await ctx.context.password.verify({
|
|
56
|
+
hash: existing.password,
|
|
57
|
+
password: ctx.body.password,
|
|
58
|
+
});
|
|
59
|
+
if (!valid)
|
|
60
|
+
throw fail("UNAUTHORIZED", CLAIM_ERRORS.linkPasswordMismatch, "Enter the existing account's password to link it");
|
|
61
|
+
await identity.link(owner.user.id);
|
|
62
|
+
await identity.complete?.(owner.user.id);
|
|
63
|
+
completed = true;
|
|
64
|
+
result =
|
|
65
|
+
"twoFactorEnabled" in owner.user && owner.user.twoFactorEnabled
|
|
66
|
+
? // A password is one factor; the session is the sign-in's job.
|
|
67
|
+
{ status: "sign_in", userId: owner.user.id }
|
|
68
|
+
: await finish(owner.user.id);
|
|
69
|
+
return ctx.json({ success: true, ...result });
|
|
70
|
+
}
|
|
71
|
+
const sameAddress = target.email.toLowerCase() === email;
|
|
72
|
+
if (!sameAddress &&
|
|
73
|
+
isDeliverable(target.email) &&
|
|
74
|
+
target.emailVerified)
|
|
75
|
+
// A verified mailbox is not moved by whoever holds the identity proof.
|
|
76
|
+
throw fail("CONFLICT", CLAIM_ERRORS.verifiedEmailMismatch, "Claim with the address this account already uses");
|
|
77
|
+
await adapter.updateUser(target.id, {
|
|
78
|
+
email,
|
|
79
|
+
emailVerified: sameAddress && target.emailVerified,
|
|
80
|
+
...(ctx.body.name && !target.name
|
|
81
|
+
? { name: ctx.body.name.trim() }
|
|
82
|
+
: {}),
|
|
83
|
+
});
|
|
84
|
+
await adapter.createAccount({
|
|
85
|
+
userId: target.id,
|
|
86
|
+
providerId: "credential",
|
|
87
|
+
accountId: target.id,
|
|
88
|
+
password: await ctx.context.password.hash(ctx.body.password),
|
|
89
|
+
});
|
|
90
|
+
await identity.complete?.(target.id);
|
|
91
|
+
completed = true;
|
|
92
|
+
result = await finish(target.id);
|
|
93
|
+
return ctx.json({ success: true, ...result });
|
|
94
|
+
}
|
|
95
|
+
finally {
|
|
96
|
+
if (!completed)
|
|
97
|
+
await identity.release?.();
|
|
98
|
+
}
|
|
99
|
+
async function finish(userId) {
|
|
100
|
+
const user = await ctx.context.internalAdapter.findUserById(userId);
|
|
101
|
+
if (!user)
|
|
102
|
+
throw fail("UNAUTHORIZED", CLAIM_ERRORS.invalid, "Invalid claim");
|
|
103
|
+
if (options.requireEmailVerification && !user.emailVerified) {
|
|
104
|
+
// The same rule as a password sign-in: the mailbox proves the
|
|
105
|
+
// address before it signs anyone in. The link signs them in.
|
|
106
|
+
await sendVerificationEmailFn(ctx, user);
|
|
107
|
+
return { status: "verify_email", userId };
|
|
108
|
+
}
|
|
109
|
+
const session = await ctx.context.internalAdapter.createSession(userId);
|
|
110
|
+
if (!session)
|
|
111
|
+
throw new APIError("INTERNAL_SERVER_ERROR", {
|
|
112
|
+
message: "Unable to create session",
|
|
113
|
+
});
|
|
114
|
+
await setSessionCookie(ctx, { session, user });
|
|
115
|
+
return { status: "signed_in", userId };
|
|
116
|
+
}
|
|
117
|
+
}),
|
|
118
|
+
},
|
|
119
|
+
};
|
|
120
|
+
}
|
|
121
|
+
//# sourceMappingURL=provisioning.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"provisioning.js","sourceRoot":"","sources":["../../src/auth/provisioning.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1,23 @@
|
|
|
1
|
+
export interface RecordResetAddress {
|
|
2
|
+
createVerificationValue(data: {
|
|
3
|
+
identifier: string;
|
|
4
|
+
value: string;
|
|
5
|
+
expiresAt: Date;
|
|
6
|
+
}): Promise<unknown>;
|
|
7
|
+
}
|
|
8
|
+
export declare function recordResetAddress(adapter: RecordResetAddress, token: string, user: {
|
|
9
|
+
id: string;
|
|
10
|
+
email: string;
|
|
11
|
+
}): Promise<void>;
|
|
12
|
+
export declare function recoveryVerificationPlugin(): {
|
|
13
|
+
id: string;
|
|
14
|
+
hooks: {
|
|
15
|
+
after: {
|
|
16
|
+
matcher: (ctx: {
|
|
17
|
+
path?: string;
|
|
18
|
+
}) => boolean;
|
|
19
|
+
handler: import("better-auth").Middleware<import("better-auth").MiddlewareOptions, (inputContext: import("better-auth").MiddlewareInputContext<import("better-auth").MiddlewareOptions>) => Promise<void>>;
|
|
20
|
+
}[];
|
|
21
|
+
};
|
|
22
|
+
};
|
|
23
|
+
//# sourceMappingURL=recovery-verification.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"recovery-verification.d.ts","sourceRoot":"","sources":["../../src/auth/recovery-verification.ts"],"names":[],"mappings":"AAeA,MAAM,WAAW,kBAAkB;IACjC,uBAAuB,CAAC,IAAI,EAAE;QAC5B,UAAU,EAAE,MAAM,CAAC;QACnB,KAAK,EAAE,MAAM,CAAC;QACd,SAAS,EAAE,IAAI,CAAC;KACjB,GAAG,OAAO,CAAC,OAAO,CAAC,CAAC;CACtB;AAED,wBAAsB,kBAAkB,CACtC,OAAO,EAAE,kBAAkB,EAC3B,KAAK,EAAE,MAAM,EACb,IAAI,EAAE;IAAE,EAAE,EAAE,MAAM,CAAC;IAAC,KAAK,EAAE,MAAM,CAAA;CAAE,GAClC,OAAO,CAAC,IAAI,CAAC,CAMf;AAED,wBAAgB,0BAA0B;;;;2BAMjB;gBAAE,IAAI,CAAC,EAAE,MAAM,CAAA;aAAE;;;;EA4BzC"}
|
|
@@ -0,0 +1,53 @@
|
|
|
1
|
+
import { createAuthMiddleware, isAPIError } from "better-auth/api";
|
|
2
|
+
/**
|
|
3
|
+
* A completed password reset proves control of the mailbox the link was sent
|
|
4
|
+
* to, so it verifies that address. better-auth does not: an imported or
|
|
5
|
+
* invited account with an unverified address would set its password and then
|
|
6
|
+
* be refused at sign-in, with mail configured, for the very address it just
|
|
7
|
+
* proved.
|
|
8
|
+
*
|
|
9
|
+
* The address is recorded when the link is SENT and compared when it is used:
|
|
10
|
+
* if the account's address changed in between, nothing is verified.
|
|
11
|
+
*/
|
|
12
|
+
const marker = (token) => `accountkit-reset-address:${token}`;
|
|
13
|
+
const RESET_LINK_SECONDS = 60 * 60;
|
|
14
|
+
export async function recordResetAddress(adapter, token, user) {
|
|
15
|
+
await adapter.createVerificationValue({
|
|
16
|
+
identifier: marker(token),
|
|
17
|
+
value: JSON.stringify({ userId: user.id, email: user.email }),
|
|
18
|
+
expiresAt: new Date(Date.now() + RESET_LINK_SECONDS * 1000),
|
|
19
|
+
});
|
|
20
|
+
}
|
|
21
|
+
export function recoveryVerificationPlugin() {
|
|
22
|
+
return {
|
|
23
|
+
id: "accountkit-recovery-verification",
|
|
24
|
+
hooks: {
|
|
25
|
+
after: [
|
|
26
|
+
{
|
|
27
|
+
matcher: (ctx) => ctx.path === "/reset-password",
|
|
28
|
+
handler: createAuthMiddleware(async (ctx) => {
|
|
29
|
+
const token = ctx.body?.token ??
|
|
30
|
+
ctx.query?.token;
|
|
31
|
+
if (!token)
|
|
32
|
+
return;
|
|
33
|
+
const adapter = ctx.context.internalAdapter;
|
|
34
|
+
const recorded = await adapter.findVerificationValue(marker(token));
|
|
35
|
+
if (!recorded)
|
|
36
|
+
return;
|
|
37
|
+
await adapter.deleteVerificationByIdentifier(marker(token));
|
|
38
|
+
if (isAPIError(ctx.context.returned))
|
|
39
|
+
return;
|
|
40
|
+
const sent = JSON.parse(recorded.value);
|
|
41
|
+
const user = await adapter.findUserById(sent.userId);
|
|
42
|
+
if (!user ||
|
|
43
|
+
user.emailVerified ||
|
|
44
|
+
user.email.toLowerCase() !== sent.email.toLowerCase())
|
|
45
|
+
return;
|
|
46
|
+
await adapter.updateUser(user.id, { emailVerified: true });
|
|
47
|
+
}),
|
|
48
|
+
},
|
|
49
|
+
],
|
|
50
|
+
},
|
|
51
|
+
};
|
|
52
|
+
}
|
|
53
|
+
//# sourceMappingURL=recovery-verification.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"recovery-verification.js","sourceRoot":"","sources":["../../src/auth/recovery-verification.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,oBAAoB,EAAE,UAAU,EAAE,MAAM,iBAAiB,CAAC;AAEnE;;;;;;;;;GASG;AACH,MAAM,MAAM,GAAG,CAAC,KAAa,EAAE,EAAE,CAAC,4BAA4B,KAAK,EAAE,CAAC;AACtE,MAAM,kBAAkB,GAAG,EAAE,GAAG,EAAE,CAAC;AAUnC,MAAM,CAAC,KAAK,UAAU,kBAAkB,CACtC,OAA2B,EAC3B,KAAa,EACb,IAAmC;IAEnC,MAAM,OAAO,CAAC,uBAAuB,CAAC;QACpC,UAAU,EAAE,MAAM,CAAC,KAAK,CAAC;QACzB,KAAK,EAAE,IAAI,CAAC,SAAS,CAAC,EAAE,MAAM,EAAE,IAAI,CAAC,EAAE,EAAE,KAAK,EAAE,IAAI,CAAC,KAAK,EAAE,CAAC;QAC7D,SAAS,EAAE,IAAI,IAAI,CAAC,IAAI,CAAC,GAAG,EAAE,GAAG,kBAAkB,GAAG,IAAI,CAAC;KAC5D,CAAC,CAAC;AACL,CAAC;AAED,MAAM,UAAU,0BAA0B;IACxC,OAAO;QACL,EAAE,EAAE,kCAAkC;QACtC,KAAK,EAAE;YACL,KAAK,EAAE;gBACL;oBACE,OAAO,EAAE,CAAC,GAAsB,EAAE,EAAE,CAAC,GAAG,CAAC,IAAI,KAAK,iBAAiB;oBACnE,OAAO,EAAE,oBAAoB,CAAC,KAAK,EAAE,GAAG,EAAE,EAAE;wBAC1C,MAAM,KAAK,GACR,GAAG,CAAC,IAAuC,EAAE,KAAK;4BAClD,GAAG,CAAC,KAAwC,EAAE,KAAK,CAAC;wBACvD,IAAI,CAAC,KAAK;4BAAE,OAAO;wBACnB,MAAM,OAAO,GAAG,GAAG,CAAC,OAAO,CAAC,eAAe,CAAC;wBAC5C,MAAM,QAAQ,GAAG,MAAM,OAAO,CAAC,qBAAqB,CAAC,MAAM,CAAC,KAAK,CAAC,CAAC,CAAC;wBACpE,IAAI,CAAC,QAAQ;4BAAE,OAAO;wBACtB,MAAM,OAAO,CAAC,8BAA8B,CAAC,MAAM,CAAC,KAAK,CAAC,CAAC,CAAC;wBAC5D,IAAI,UAAU,CAAC,GAAG,CAAC,OAAO,CAAC,QAAQ,CAAC;4BAAE,OAAO;wBAC7C,MAAM,IAAI,GAAG,IAAI,CAAC,KAAK,CAAC,QAAQ,CAAC,KAAK,CAGrC,CAAC;wBACF,MAAM,IAAI,GAAG,MAAM,OAAO,CAAC,YAAY,CAAC,IAAI,CAAC,MAAM,CAAC,CAAC;wBACrD,IACE,CAAC,IAAI;4BACL,IAAI,CAAC,aAAa;4BAClB,IAAI,CAAC,KAAK,CAAC,WAAW,EAAE,KAAK,IAAI,CAAC,KAAK,CAAC,WAAW,EAAE;4BAErD,OAAO;wBACT,MAAM,OAAO,CAAC,UAAU,CAAC,IAAI,CAAC,EAAE,EAAE,EAAE,aAAa,EAAE,IAAI,EAAE,CAAC,CAAC;oBAC7D,CAAC,CAAC;iBACH;aACF;SACF;KACF,CAAC;AACJ,CAAC"}
|
package/dist/auth/server.d.ts
CHANGED
|
@@ -3,6 +3,9 @@ import type { GenericOAuthConfig } from "better-auth/plugins";
|
|
|
3
3
|
import { type OidcClient } from "./methods.js";
|
|
4
4
|
import { type BcryptLike } from "./hash.js";
|
|
5
5
|
import { type DomainCredentials } from "./domain-credentials.js";
|
|
6
|
+
import { type AccountProvisioning } from "./provisioning.js";
|
|
7
|
+
export type { DomainCredentials } from "./domain-credentials.js";
|
|
8
|
+
export type { AccountProvisioning, ProvisionedIdentity, } from "./provisioning.js";
|
|
6
9
|
export type AuthMailKind = "verify" | "magicLink" | "reset";
|
|
7
10
|
export interface AuthMailer {
|
|
8
11
|
/** Whether mail can be sent at all. Without it the methods that need mail are hidden. */
|
|
@@ -32,6 +35,12 @@ export interface CreateAuthOptions {
|
|
|
32
35
|
legacyBcrypt?: BcryptLike;
|
|
33
36
|
/** Optional domain proof (for example an existing housing login code). */
|
|
34
37
|
domainCredentials?: DomainCredentials;
|
|
38
|
+
/**
|
|
39
|
+
* First password for an identity the product created without one (an
|
|
40
|
+
* invitation, a login code), and linking a second identity to an existing
|
|
41
|
+
* account on that account's own password. See ./provisioning.
|
|
42
|
+
*/
|
|
43
|
+
provisioning?: AccountProvisioning;
|
|
35
44
|
mail: AuthMailer;
|
|
36
45
|
env?: NodeJS.ProcessEnv;
|
|
37
46
|
/**
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"server.d.ts","sourceRoot":"","sources":["../../src/auth/server.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,UAAU,EAAE,MAAM,aAAa,CAAC;AAKzC,OAAO,KAAK,EAAE,kBAAkB,EAAE,MAAM,qBAAqB,CAAC;AAC9D,OAAO,EAIL,KAAK,UAAU,EAChB,MAAM,cAAc,CAAC;AAKtB,OAAO,EAAwB,KAAK,UAAU,EAAE,MAAM,WAAW,CAAC;AAClE,OAAO,EAEL,KAAK,iBAAiB,EACvB,MAAM,yBAAyB,CAAC;
|
|
1
|
+
{"version":3,"file":"server.d.ts","sourceRoot":"","sources":["../../src/auth/server.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,UAAU,EAAE,MAAM,aAAa,CAAC;AAKzC,OAAO,KAAK,EAAE,kBAAkB,EAAE,MAAM,qBAAqB,CAAC;AAC9D,OAAO,EAIL,KAAK,UAAU,EAChB,MAAM,cAAc,CAAC;AAKtB,OAAO,EAAwB,KAAK,UAAU,EAAE,MAAM,WAAW,CAAC;AAClE,OAAO,EAEL,KAAK,iBAAiB,EACvB,MAAM,yBAAyB,CAAC;AACjC,OAAO,EAEL,KAAK,mBAAmB,EACzB,MAAM,mBAAmB,CAAC;AAe3B,YAAY,EAAE,iBAAiB,EAAE,MAAM,yBAAyB,CAAC;AACjE,YAAY,EACV,mBAAmB,EACnB,mBAAmB,GACpB,MAAM,mBAAmB,CAAC;AAE3B,MAAM,MAAM,YAAY,GAAG,QAAQ,GAAG,WAAW,GAAG,OAAO,CAAC;AAE5D,MAAM,WAAW,UAAU;IACzB,yFAAyF;IACzF,UAAU,EAAE,OAAO,CAAC;IACpB,uEAAuE;IACvE,IAAI,CAAC,IAAI,EAAE,YAAY,EAAE,EAAE,EAAE,MAAM,EAAE,GAAG,EAAE,MAAM,GAAG,OAAO,CAAC,IAAI,CAAC,CAAC;CAClE;AAED,MAAM,WAAW,QAAQ;IACvB,oFAAoF;IACpF,GAAG,EAAE,MAAM,CAAC;IACZ,uDAAuD;IACvD,KAAK,EAAE,MAAM,CAAC;IACd,qBAAqB;IACrB,IAAI,EAAE,MAAM,CAAC;CACd;AAED,MAAM,WAAW,iBAAiB;IAChC,IAAI,EAAE,QAAQ,CAAC;IACf,iFAAiF;IACjF,QAAQ,EAAE,OAAO,CAAC;IAClB,yEAAyE;IACzE,MAAM,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAAC;IACjC;;;;OAIG;IACH,YAAY,CAAC,EAAE,UAAU,CAAC;IAC1B,0EAA0E;IAC1E,iBAAiB,CAAC,EAAE,iBAAiB,CAAC;IACtC;;;;OAIG;IACH,YAAY,CAAC,EAAE,mBAAmB,CAAC;IACnC,IAAI,EAAE,UAAU,CAAC;IACjB,GAAG,CAAC,EAAE,MAAM,CAAC,UAAU,CAAC;IACxB;;;;;OAKG;IACH,gBAAgB,CAAC,EAAE,CAAC,OAAO,EAAE;QAC3B,MAAM,EAAE,MAAM,CAAC;QACf,UAAU,EAAE,MAAM,CAAC;QACnB,SAAS,EAAE,MAAM,CAAC;KACnB,KAAK,OAAO,CAAC,IAAI,CAAC,CAAC;CACrB;AAED,MAAM,MAAM,UAAU,GACpB;IAAE,KAAK,EAAE,IAAI,CAAA;CAAE,GAAG;IAAE,KAAK,EAAE,KAAK,CAAC;IAAC,MAAM,EAAE,aAAa,GAAG,WAAW,CAAA;CAAE,CAAC;AAE1E;;;;GAIG;AACH,wBAAgB,UAAU,CAAC,GAAG,EAAE,MAAM,CAAC,UAAU,GAAG,MAAM,CAEzD;AAED,wBAAgB,aAAa,CAC3B,kBAAkB,EAAE,OAAO,EAC3B,GAAG,GAAE,MAAM,CAAC,UAAwB,GACnC,UAAU,CAOZ;AAaD,8DAA8D;AAC9D,wBAAgB,YAAY,CAAC,MAAM,EAAE,UAAU,GAAG,kBAAkB,CAiCnE;AAED,MAAM,MAAM,IAAI,GAAG,UAAU,CAAC,OAAO,UAAU,CAAC,CAAC;AAEjD,wBAAgB,kBAAkB,CAAC,OAAO,EAAE,iBAAiB,GAAG,IAAI,CAgMnE"}
|
package/dist/auth/server.js
CHANGED
|
@@ -11,6 +11,8 @@ import { authSchema } from "./schema.js";
|
|
|
11
11
|
import { factorForAllMethods } from "./factor.js";
|
|
12
12
|
import { createPasswordHasher } from "./hash.js";
|
|
13
13
|
import { domainCredentialsPlugin, } from "./domain-credentials.js";
|
|
14
|
+
import { provisioningPlugin, } from "./provisioning.js";
|
|
15
|
+
import { recordResetAddress, recoveryVerificationPlugin, } from "./recovery-verification.js";
|
|
14
16
|
/**
|
|
15
17
|
* Accounts for a bitbaum product: better-auth 1.x on Drizzle + pg, configured
|
|
16
18
|
* the same way everywhere (fleet STACK.md, "Identity"). A product passes in
|
|
@@ -212,7 +214,12 @@ export function createAuthInstance(options) {
|
|
|
212
214
|
requireEmailVerification: methods.verifyEmail,
|
|
213
215
|
revokeSessionsOnPasswordReset: true,
|
|
214
216
|
sendResetPassword: mail.configured
|
|
215
|
-
? async ({ user, url }) =>
|
|
217
|
+
? async ({ user, url, token }) => {
|
|
218
|
+
// Remember which address the link went to, so using it verifies
|
|
219
|
+
// that address (./recovery-verification).
|
|
220
|
+
await recordResetAddress((await auth.$context).internalAdapter, token, user);
|
|
221
|
+
await mail.send("reset", user.email, url);
|
|
222
|
+
}
|
|
216
223
|
: undefined,
|
|
217
224
|
},
|
|
218
225
|
emailVerification: {
|
|
@@ -224,6 +231,14 @@ export function createAuthInstance(options) {
|
|
|
224
231
|
...(options.domainCredentials
|
|
225
232
|
? [domainCredentialsPlugin(options.domainCredentials)]
|
|
226
233
|
: []),
|
|
234
|
+
...(options.provisioning
|
|
235
|
+
? [
|
|
236
|
+
provisioningPlugin(options.provisioning, {
|
|
237
|
+
requireEmailVerification: methods.verifyEmail,
|
|
238
|
+
}),
|
|
239
|
+
]
|
|
240
|
+
: []),
|
|
241
|
+
recoveryVerificationPlugin(),
|
|
227
242
|
// allowPasswordless: someone who signs in only by passkey, link or OIDC can
|
|
228
243
|
// still add a second factor (with a fresh session instead of a password).
|
|
229
244
|
factorForAllMethods(site),
|
package/dist/auth/server.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"server.js","sourceRoot":"","sources":["../../src/auth/server.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,OAAO,EAAE,MAAM,sBAAsB,CAAC;AAC/C,OAAO,EAAE,UAAU,EAAE,MAAM,aAAa,CAAC;AACzC,OAAO,EAAE,YAAY,EAAE,cAAc,EAAE,MAAM,oBAAoB,CAAC;AAClE,OAAO,EAAE,cAAc,EAAE,MAAM,8BAA8B,CAAC;AAC9D,OAAO,EAAE,WAAW,EAAE,MAAM,qBAAqB,CAAC;AAClD,OAAO,EAAE,YAAY,EAAE,SAAS,EAAE,MAAM,qBAAqB,CAAC;AAE9D,OAAO,EACL,WAAW,EACX,gBAAgB,EAChB,aAAa,GAEd,MAAM,cAAc,CAAC;AACtB,OAAO,EAAE,mBAAmB,EAAE,mBAAmB,EAAE,MAAM,eAAe,CAAC;AACzE,OAAO,EAAE,YAAY,EAAE,MAAM,YAAY,CAAC;AAC1C,OAAO,EAAE,UAAU,EAAE,MAAM,aAAa,CAAC;AACzC,OAAO,EAAE,mBAAmB,EAAE,MAAM,aAAa,CAAC;AAClD,OAAO,EAAE,oBAAoB,EAAmB,MAAM,WAAW,CAAC;AAClE,OAAO,EACL,uBAAuB,GAExB,MAAM,yBAAyB,CAAC;
|
|
1
|
+
{"version":3,"file":"server.js","sourceRoot":"","sources":["../../src/auth/server.ts"],"names":[],"mappings":"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"}
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@bitbaum/accountkit",
|
|
3
|
-
"version": "0.
|
|
3
|
+
"version": "0.11.0",
|
|
4
4
|
"description": "One account for every bitbaum product: the account menu, accounts themselves (better-auth: password, magic link, passkeys, 2FA, OIDC) and Sign in with OrangeCat. Styled from @bitbaum/design-tokens.",
|
|
5
5
|
"license": "MIT",
|
|
6
6
|
"author": "Cato",
|