@portaidentity/server 1.10.0 → 1.11.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/CHANGELOG.md +33 -0
- package/dist/auth/email-service.d.ts +7 -1
- package/dist/auth/email-service.d.ts.map +1 -1
- package/dist/auth/email-service.js +1 -0
- package/dist/auth/email-service.js.map +1 -1
- package/dist/auth/index.d.ts +1 -1
- package/dist/auth/index.d.ts.map +1 -1
- package/dist/auth/index.js +1 -1
- package/dist/auth/index.js.map +1 -1
- package/dist/auth/token-repository.d.ts +83 -32
- package/dist/auth/token-repository.d.ts.map +1 -1
- package/dist/auth/token-repository.js +138 -47
- package/dist/auth/token-repository.js.map +1 -1
- package/dist/cli/commands/init.d.ts.map +1 -1
- package/dist/cli/commands/init.js +10 -6
- package/dist/cli/commands/init.js.map +1 -1
- package/dist/index.js +2 -1
- package/dist/index.js.map +1 -1
- package/dist/organizations/slugs.d.ts.map +1 -1
- package/dist/organizations/slugs.js +1 -0
- package/dist/organizations/slugs.js.map +1 -1
- package/dist/routes/invitation.d.ts.map +1 -1
- package/dist/routes/invitation.js +95 -68
- package/dist/routes/invitation.js.map +1 -1
- package/dist/routes/users.d.ts.map +1 -1
- package/dist/routes/users.js +39 -24
- package/dist/routes/users.js.map +1 -1
- package/dist/users/gdpr.d.ts +2 -2
- package/dist/users/gdpr.js +6 -6
- package/dist/users/gdpr.js.map +1 -1
- package/dist/users/index.d.ts +2 -0
- package/dist/users/index.d.ts.map +1 -1
- package/dist/users/index.js +2 -0
- package/dist/users/index.js.map +1 -1
- package/dist/users/invitation-service.d.ts +38 -0
- package/dist/users/invitation-service.d.ts.map +1 -0
- package/dist/users/invitation-service.js +97 -0
- package/dist/users/invitation-service.js.map +1 -0
- package/dist/users/repository.d.ts +29 -0
- package/dist/users/repository.d.ts.map +1 -1
- package/dist/users/repository.js +41 -12
- package/dist/users/repository.js.map +1 -1
- package/dist/users/service.d.ts.map +1 -1
- package/dist/users/service.js +1 -0
- package/dist/users/service.js.map +1 -1
- package/dist/version.d.ts +9 -0
- package/dist/version.d.ts.map +1 -0
- package/dist/version.js +9 -0
- package/dist/version.js.map +1 -0
- package/locales/default/en/invitation.json +4 -0
- package/migrations/033_invitation_deferred_user_creation.sql +60 -0
- package/package.json +2 -2
- package/templates/default/pages/confirm-invite.hbs +7 -0
package/CHANGELOG.md
CHANGED
|
@@ -5,6 +5,39 @@ All notable changes to this project will be documented in this file.
|
|
|
5
5
|
The format is based on [Keep a Changelog](https://keepachangelog.com/en/1.1.0/),
|
|
6
6
|
and this project adheres to [Semantic Versioning](https://semver.org/spec/v2.0.0.html).
|
|
7
7
|
|
|
8
|
+
## [1.11.1] - 2026-09-30
|
|
9
|
+
|
|
10
|
+
### Changed
|
|
11
|
+
- Updated nodemailer to 10.0.13 and adapted the SMTP transport to its named type exports.
|
|
12
|
+
|
|
13
|
+
### Fixed
|
|
14
|
+
- Remediated production audit findings related to nodemailer.
|
|
15
|
+
- Reserved the new organization slug "new" in the application-paths group.
|
|
16
|
+
- Queried the real custom-claim tables in the GDPR export to retrieve claim name and application.
|
|
17
|
+
- Persisted phoneNumberVerified during user creation to the repository.
|
|
18
|
+
|
|
19
|
+
### Test
|
|
20
|
+
- Covered the GDPR export failure path with a unit case that checks the export service's propagation of database errors.
|
|
21
|
+
- Extended the slug unit suite with reservation cases and similar-word pinning.
|
|
22
|
+
- Pinned GDPR export and user-create ETag contracts with real-schema specification tests.
|
|
23
|
+
- Added create-ETag tests covering the weak ETag format.
|
|
24
|
+
|
|
25
|
+
## [1.11.0] - 2026-09-27
|
|
26
|
+
|
|
27
|
+
Added:
|
|
28
|
+
- Report the running version in the startup log with a new SERVER_VERSION constant.
|
|
29
|
+
- Defer user creation to invitation acceptance for enhanced user flow.
|
|
30
|
+
- Add migration for invitation tokens with a nullable user_id for deferred user creation.
|
|
31
|
+
|
|
32
|
+
Changed:
|
|
33
|
+
- Pin the startup version field to the Server started call using a co-location regex.
|
|
34
|
+
- Stabilize invitation suites for deferred creation with unique addresses per test.
|
|
35
|
+
- Use reserved CI loopback host in server tests to ensure consistency.
|
|
36
|
+
|
|
37
|
+
Fixed:
|
|
38
|
+
- Register the Porta Console callback URI on the admin native client for loopback callbacks.
|
|
39
|
+
- Update tests for consistent handling of invitation enumeration, replay, and token storage.
|
|
40
|
+
|
|
8
41
|
## [1.9.0] - 2026-09-25
|
|
9
42
|
|
|
10
43
|
Added:
|
|
@@ -18,7 +18,11 @@ import type { EmailTransport } from './email-transport.js';
|
|
|
18
18
|
import type { Organization } from '../organizations/types.js';
|
|
19
19
|
/** Minimal user fields needed by email service */
|
|
20
20
|
export interface EmailUser {
|
|
21
|
-
|
|
21
|
+
/**
|
|
22
|
+
* Recipient account id. Optional because a deferred invitation has no account yet; when absent,
|
|
23
|
+
* the related audit row stores no user id.
|
|
24
|
+
*/
|
|
25
|
+
id?: string;
|
|
22
26
|
email: string;
|
|
23
27
|
givenName?: string | null;
|
|
24
28
|
familyName?: string | null;
|
|
@@ -87,6 +91,8 @@ export interface InvitationEmailOptions {
|
|
|
87
91
|
personalMessage?: string;
|
|
88
92
|
/** Display name of the admin who sent the invitation */
|
|
89
93
|
inviterName?: string;
|
|
94
|
+
/** Invitation row id, recorded in the send audit when there is no recipient account yet */
|
|
95
|
+
invitationId?: string;
|
|
90
96
|
}
|
|
91
97
|
/**
|
|
92
98
|
* Send an invitation email to a newly created user.
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"email-service.d.ts","sourceRoot":"","sources":["../../src/auth/email-service.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;GAeG;AAEH,OAAO,KAAK,EAAE,cAAc,EAAE,MAAM,sBAAsB,CAAC;AAM3D,OAAO,KAAK,EAAE,YAAY,EAAE,MAAM,2BAA2B,CAAC;AAM9D,kDAAkD;AAClD,MAAM,WAAW,SAAS;IACxB,EAAE,EAAE,MAAM,CAAC;
|
|
1
|
+
{"version":3,"file":"email-service.d.ts","sourceRoot":"","sources":["../../src/auth/email-service.ts"],"names":[],"mappings":"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"}
|
|
@@ -234,6 +234,7 @@ export async function sendInvitationEmail(user, org, inviteUrl, locale, options)
|
|
|
234
234
|
eventType: 'email.send.invitation',
|
|
235
235
|
eventCategory: 'auth',
|
|
236
236
|
description: `Invitation email sent to ${user.email}`,
|
|
237
|
+
metadata: options?.invitationId ? { invitationId: options.invitationId } : undefined,
|
|
237
238
|
});
|
|
238
239
|
logger.debug({ userId: user.id, email: user.email }, 'Invitation email sent');
|
|
239
240
|
}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"email-service.js","sourceRoot":"","sources":["../../src/auth/email-service.ts"],"names":[],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"email-service.js","sourceRoot":"","sources":["../../src/auth/email-service.ts"],"names":[],"mappings":"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"}
|
package/dist/auth/index.d.ts
CHANGED
|
@@ -10,7 +10,7 @@
|
|
|
10
10
|
*/
|
|
11
11
|
export { generateToken, hashToken } from './tokens.js';
|
|
12
12
|
export type { GeneratedToken } from './tokens.js';
|
|
13
|
-
export { insertToken,
|
|
13
|
+
export { insertToken, findValidToken, findValidInvitationToken, markTokenUsed, deleteExpiredTokens, invalidateUserTokens, } from './token-repository.js';
|
|
14
14
|
export type { TokenTable, GenericInsertTokenTable, TokenRecord, InvitationTokenRecord, } from './token-repository.js';
|
|
15
15
|
export { generateCsrfToken, verifyCsrfToken, setCsrfCookie, getCsrfFromCookie } from './csrf.js';
|
|
16
16
|
export { checkRateLimit, checkRateLimitStrict, resetRateLimit, buildLoginRateLimitKey, buildMagicLinkRateLimitKey, buildMagicLinkCallbackRateLimitKey, buildPasswordResetRateLimitKey, loadLoginRateLimitConfig, loadMagicLinkRateLimitConfig, loadPasswordResetRateLimitConfig, } from './rate-limiter.js';
|
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;;;;;;;;;GASG;AAGH,OAAO,EAAE,aAAa,EAAE,SAAS,EAAE,MAAM,aAAa,CAAC;AACvD,YAAY,EAAE,cAAc,EAAE,MAAM,aAAa,CAAC;AAGlD,OAAO,EACL,WAAW,EACX,
|
|
1
|
+
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/auth/index.ts"],"names":[],"mappings":"AAAA;;;;;;;;;GASG;AAGH,OAAO,EAAE,aAAa,EAAE,SAAS,EAAE,MAAM,aAAa,CAAC;AACvD,YAAY,EAAE,cAAc,EAAE,MAAM,aAAa,CAAC;AAGlD,OAAO,EACL,WAAW,EACX,cAAc,EACd,wBAAwB,EACxB,aAAa,EACb,mBAAmB,EACnB,oBAAoB,GACrB,MAAM,uBAAuB,CAAC;AAC/B,YAAY,EACV,UAAU,EACV,uBAAuB,EACvB,WAAW,EACX,qBAAqB,GACtB,MAAM,uBAAuB,CAAC;AAG/B,OAAO,EAAE,iBAAiB,EAAE,eAAe,EAAE,aAAa,EAAE,iBAAiB,EAAE,MAAM,WAAW,CAAC;AAGjG,OAAO,EACL,cAAc,EACd,oBAAoB,EACpB,cAAc,EACd,sBAAsB,EACtB,0BAA0B,EAC1B,kCAAkC,EAClC,8BAA8B,EAC9B,wBAAwB,EACxB,4BAA4B,EAC5B,gCAAgC,GACjC,MAAM,mBAAmB,CAAC;AAC3B,YAAY,EAAE,eAAe,EAAE,eAAe,EAAE,MAAM,mBAAmB,CAAC;AAG1E,OAAO,EAAE,mBAAmB,EAAE,MAAM,sBAAsB,CAAC;AAC3D,YAAY,EAAE,cAAc,EAAE,gBAAgB,EAAE,WAAW,EAAE,MAAM,sBAAsB,CAAC;AAG1F,OAAO,EAAE,WAAW,EAAE,MAAM,qBAAqB,CAAC;AAGlD,OAAO,EACL,kBAAkB,EAClB,sBAAsB,EACtB,mBAAmB,EACnB,qBAAqB,EACrB,gBAAgB,EAChB,wBAAwB,EACxB,iBAAiB,GAClB,MAAM,oBAAoB,CAAC;AAC5B,YAAY,EAAE,SAAS,EAAE,iBAAiB,EAAE,sBAAsB,EAAE,MAAM,oBAAoB,CAAC;AAG/F,OAAO,EACL,QAAQ,EACR,aAAa,EACb,sBAAsB,EACtB,4BAA4B,GAC7B,MAAM,WAAW,CAAC;AAGnB,OAAO,EAAE,kBAAkB,EAAE,UAAU,EAAE,MAAM,sBAAsB,CAAC;AACtE,YAAY,EAAE,eAAe,EAAE,MAAM,sBAAsB,CAAC;AAG5D,OAAO,EACL,sBAAsB,EACtB,uBAAuB,EACvB,mBAAmB,EACnB,2BAA2B,GAC5B,MAAM,yBAAyB,CAAC;AACjC,YAAY,EAAE,oBAAoB,EAAE,MAAM,yBAAyB,CAAC"}
|
package/dist/auth/index.js
CHANGED
|
@@ -11,7 +11,7 @@
|
|
|
11
11
|
// Token generation and hashing
|
|
12
12
|
export { generateToken, hashToken } from './tokens.js';
|
|
13
13
|
// Token repository (PostgreSQL CRUD for all 3 token tables)
|
|
14
|
-
export { insertToken,
|
|
14
|
+
export { insertToken, findValidToken, findValidInvitationToken, markTokenUsed, deleteExpiredTokens, invalidateUserTokens, } from './token-repository.js';
|
|
15
15
|
// CSRF protection
|
|
16
16
|
export { generateCsrfToken, verifyCsrfToken, setCsrfCookie, getCsrfFromCookie } from './csrf.js';
|
|
17
17
|
// Rate limiting
|
package/dist/auth/index.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/auth/index.ts"],"names":[],"mappings":"AAAA;;;;;;;;;GASG;AAEH,+BAA+B;AAC/B,OAAO,EAAE,aAAa,EAAE,SAAS,EAAE,MAAM,aAAa,CAAC;AAGvD,4DAA4D;AAC5D,OAAO,EACL,WAAW,EACX,
|
|
1
|
+
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/auth/index.ts"],"names":[],"mappings":"AAAA;;;;;;;;;GASG;AAEH,+BAA+B;AAC/B,OAAO,EAAE,aAAa,EAAE,SAAS,EAAE,MAAM,aAAa,CAAC;AAGvD,4DAA4D;AAC5D,OAAO,EACL,WAAW,EACX,cAAc,EACd,wBAAwB,EACxB,aAAa,EACb,mBAAmB,EACnB,oBAAoB,GACrB,MAAM,uBAAuB,CAAC;AAQ/B,kBAAkB;AAClB,OAAO,EAAE,iBAAiB,EAAE,eAAe,EAAE,aAAa,EAAE,iBAAiB,EAAE,MAAM,WAAW,CAAC;AAEjG,gBAAgB;AAChB,OAAO,EACL,cAAc,EACd,oBAAoB,EACpB,cAAc,EACd,sBAAsB,EACtB,0BAA0B,EAC1B,kCAAkC,EAClC,8BAA8B,EAC9B,wBAAwB,EACxB,4BAA4B,EAC5B,gCAAgC,GACjC,MAAM,mBAAmB,CAAC;AAG3B,kBAAkB;AAClB,OAAO,EAAE,mBAAmB,EAAE,MAAM,sBAAsB,CAAC;AAG3D,iBAAiB;AACjB,OAAO,EAAE,WAAW,EAAE,MAAM,qBAAqB,CAAC;AAElD,gBAAgB;AAChB,OAAO,EACL,kBAAkB,EAClB,sBAAsB,EACtB,mBAAmB,EACnB,qBAAqB,EACrB,gBAAgB,EAChB,wBAAwB,EACxB,iBAAiB,GAClB,MAAM,oBAAoB,CAAC;AAG5B,OAAO;AACP,OAAO,EACL,QAAQ,EACR,aAAa,EACb,sBAAsB,EACtB,4BAA4B,GAC7B,MAAM,WAAW,CAAC;AAEnB,kBAAkB;AAClB,OAAO,EAAE,kBAAkB,EAAE,UAAU,EAAE,MAAM,sBAAsB,CAAC;AAGtE,0CAA0C;AAC1C,OAAO,EACL,sBAAsB,EACtB,uBAAuB,EACvB,mBAAmB,EACnB,2BAA2B,GAC5B,MAAM,yBAAyB,CAAC"}
|
|
@@ -27,18 +27,6 @@ export interface TokenRecord {
|
|
|
27
27
|
usedAt: Date | null;
|
|
28
28
|
createdAt: Date;
|
|
29
29
|
}
|
|
30
|
-
/**
|
|
31
|
-
* Extended token record for invitation tokens with optional details.
|
|
32
|
-
*
|
|
33
|
-
* The details JSONB column stores pre-assignment metadata (roles, claims,
|
|
34
|
-
* personal message) that should be applied when the invitation is accepted.
|
|
35
|
-
*/
|
|
36
|
-
export interface InvitationTokenRecord extends TokenRecord {
|
|
37
|
-
/** JSONB details stored with the invitation (roles, claims, personalMessage, inviterName) */
|
|
38
|
-
details: Record<string, unknown> | null;
|
|
39
|
-
/** User ID of the admin who created this invitation */
|
|
40
|
-
invitedBy: string | null;
|
|
41
|
-
}
|
|
42
30
|
/** Input for idempotently creating a recovery-job-owned token. */
|
|
43
31
|
interface EnsureRecoveryTokenBaseInput {
|
|
44
32
|
/** Token table selected by the closed recovery job type. */
|
|
@@ -100,6 +88,48 @@ export interface ConsumedAuthorizedMagicLink {
|
|
|
100
88
|
/** Persisted interaction authority, or null for a standalone artifact. */
|
|
101
89
|
readonly interactionUid: string | null;
|
|
102
90
|
}
|
|
91
|
+
/**
|
|
92
|
+
* Invitation token record.
|
|
93
|
+
*
|
|
94
|
+
* The invitation carries its own tenant authority (`organizationId`) and the invited address
|
|
95
|
+
* (`email`), so it can exist before any account does. `userId` stays null until the invitation is
|
|
96
|
+
* accepted. The details JSONB column stores pre-assignment metadata (roles, claims, personal
|
|
97
|
+
* message) that is applied when the invitation is accepted.
|
|
98
|
+
*/
|
|
99
|
+
export interface InvitationTokenRecord {
|
|
100
|
+
id: string;
|
|
101
|
+
userId: string | null;
|
|
102
|
+
tokenHash: string;
|
|
103
|
+
expiresAt: Date;
|
|
104
|
+
usedAt: Date | null;
|
|
105
|
+
createdAt: Date;
|
|
106
|
+
details: Record<string, unknown> | null;
|
|
107
|
+
invitedBy: string | null;
|
|
108
|
+
organizationId: string;
|
|
109
|
+
email: string;
|
|
110
|
+
givenName: string | null;
|
|
111
|
+
familyName: string | null;
|
|
112
|
+
locale: string | null;
|
|
113
|
+
}
|
|
114
|
+
/** Input for creating (or replacing) an invitation in the deferred flow. */
|
|
115
|
+
export interface InsertInvitationInput {
|
|
116
|
+
organizationId: string;
|
|
117
|
+
email: string;
|
|
118
|
+
tokenHash: string;
|
|
119
|
+
expiresAt: Date;
|
|
120
|
+
givenName?: string | null;
|
|
121
|
+
familyName?: string | null;
|
|
122
|
+
locale?: string | null;
|
|
123
|
+
details?: Record<string, unknown> | null;
|
|
124
|
+
invitedBy?: string | null;
|
|
125
|
+
}
|
|
126
|
+
/**
|
|
127
|
+
* Raised when two invites for the same address race and the loser violates the
|
|
128
|
+
* one-live-invitation uniqueness rule. Callers map this to an invitation conflict.
|
|
129
|
+
*/
|
|
130
|
+
export declare class InvitationConflictError extends Error {
|
|
131
|
+
constructor();
|
|
132
|
+
}
|
|
103
133
|
/**
|
|
104
134
|
* Insert a new token into the specified table.
|
|
105
135
|
*
|
|
@@ -212,33 +242,54 @@ export declare function deleteExpiredTokens(table: TokenTable, olderThan: Date):
|
|
|
212
242
|
*/
|
|
213
243
|
export declare function invalidateUserTokens(table: TokenTable, userId: string): Promise<void>;
|
|
214
244
|
/**
|
|
215
|
-
*
|
|
245
|
+
* Issue a new deferred invitation, replacing any live invitation for the same address.
|
|
216
246
|
*
|
|
217
|
-
*
|
|
218
|
-
*
|
|
247
|
+
* One transaction invalidates every live invitation for the organization/email pair and inserts the
|
|
248
|
+
* new token with no user link, so at most one live invitation exists per address. Two concurrent
|
|
249
|
+
* invites serialize on the live row; the loser violates the partial unique index and receives an
|
|
250
|
+
* {@link InvitationConflictError} instead of a duplicate or a raw database error.
|
|
219
251
|
*
|
|
220
|
-
* @param
|
|
221
|
-
* @
|
|
222
|
-
* @
|
|
223
|
-
* @param details - Optional JSONB details (roles, claims, personalMessage, inviterName)
|
|
224
|
-
* @param invitedBy - Optional UUID of the admin who created this invitation
|
|
252
|
+
* @param input - Invitation facts: tenant, address, token hash, expiry, and profile snapshot.
|
|
253
|
+
* @returns The new invitation row id.
|
|
254
|
+
* @throws InvitationConflictError when another invite wins the same-email race.
|
|
225
255
|
*/
|
|
226
|
-
export declare function
|
|
256
|
+
export declare function replaceInvitation(input: InsertInvitationInput): Promise<{
|
|
257
|
+
id: string;
|
|
258
|
+
}>;
|
|
227
259
|
/**
|
|
228
|
-
* Find a valid invitation
|
|
229
|
-
*
|
|
230
|
-
* Returns the full InvitationTokenRecord including the details JSONB
|
|
231
|
-
* column, which stores pre-assignment metadata for roles, claims, etc.
|
|
260
|
+
* Find a valid invitation by hash within one organization.
|
|
232
261
|
*
|
|
233
|
-
*
|
|
234
|
-
*
|
|
235
|
-
* what rejects a foreign tenant's otherwise-valid token: presenting an
|
|
236
|
-
* invitation under the wrong organization slug resolves no record.
|
|
262
|
+
* Tenant authority comes from the token's own `organization_id`, so the lookup needs no user join and
|
|
263
|
+
* a token presented under another organization resolves nothing.
|
|
237
264
|
*
|
|
238
|
-
* @param tokenHash - SHA-256
|
|
239
|
-
* @param organizationId - Organization
|
|
240
|
-
* @returns The invitation
|
|
265
|
+
* @param tokenHash - SHA-256 digest of the presented token.
|
|
266
|
+
* @param organizationId - Organization resolved from the public route.
|
|
267
|
+
* @returns The valid invitation, or null when it is unknown, used, expired, or foreign.
|
|
241
268
|
*/
|
|
242
269
|
export declare function findValidInvitationToken(tokenHash: string, organizationId: string): Promise<InvitationTokenRecord | null>;
|
|
270
|
+
/**
|
|
271
|
+
* Lock one valid invitation for the acceptance transaction.
|
|
272
|
+
*
|
|
273
|
+
* The row stays locked until the caller commits or rolls back, which serializes concurrent
|
|
274
|
+
* acceptances of the same token.
|
|
275
|
+
*
|
|
276
|
+
* @param client - Active PostgreSQL transaction client.
|
|
277
|
+
* @param tokenHash - SHA-256 digest of the presented token.
|
|
278
|
+
* @param organizationId - Organization resolved from the public route.
|
|
279
|
+
* @returns The locked invitation, or null for every invalid state.
|
|
280
|
+
*/
|
|
281
|
+
export declare function lockValidInvitationForUpdate(client: PoolClient, tokenHash: string, organizationId: string): Promise<InvitationTokenRecord | null>;
|
|
282
|
+
/**
|
|
283
|
+
* Link and consume a locked invitation.
|
|
284
|
+
*
|
|
285
|
+
* The predicates are repeated at mutation time so a second acceptance cannot convert an already-used
|
|
286
|
+
* or expired invitation into a success. Callers must roll back when this returns false.
|
|
287
|
+
*
|
|
288
|
+
* @param client - Transaction client that owns the invitation lock.
|
|
289
|
+
* @param invitationId - Invitation row id.
|
|
290
|
+
* @param userId - Newly created account id.
|
|
291
|
+
* @returns True only when exactly one still-valid invitation was consumed.
|
|
292
|
+
*/
|
|
293
|
+
export declare function consumeInvitation(client: PoolClient, invitationId: string, userId: string): Promise<boolean>;
|
|
243
294
|
export {};
|
|
244
295
|
//# sourceMappingURL=token-repository.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"token-repository.d.ts","sourceRoot":"","sources":["../../src/auth/token-repository.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;GAaG;AAEH,OAAO,KAAK,EAAE,UAAU,EAAE,MAAM,IAAI,CAAC;AAGrC,OAAO,KAAK,EAAE,UAAU,EAAE,MAAM,mBAAmB,CAAC;AAMpD,gFAAgF;AAChF,MAAM,MAAM,UAAU,GAAG,mBAAmB,GAAG,uBAAuB,GAAG,mBAAmB,CAAC;AAE7F,0FAA0F;AAC1F,MAAM,MAAM,uBAAuB,GAAG,OAAO,CAAC,UAAU,EAAE,mBAAmB,CAAC,CAAC;AAE/E,4DAA4D;AAC5D,MAAM,WAAW,WAAW;IAC1B,EAAE,EAAE,MAAM,CAAC;IACX,MAAM,EAAE,MAAM,CAAC;IACf,SAAS,EAAE,MAAM,CAAC;IAClB,SAAS,EAAE,IAAI,CAAC;IAChB,MAAM,EAAE,IAAI,GAAG,IAAI,CAAC;IACpB,SAAS,EAAE,IAAI,CAAC;CACjB;AAED
|
|
1
|
+
{"version":3,"file":"token-repository.d.ts","sourceRoot":"","sources":["../../src/auth/token-repository.ts"],"names":[],"mappings":"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"}
|
|
@@ -14,6 +14,36 @@
|
|
|
14
14
|
*/
|
|
15
15
|
import { getPool } from '../lib/database.js';
|
|
16
16
|
import { logger } from '../lib/logger.js';
|
|
17
|
+
/**
|
|
18
|
+
* Raised when two invites for the same address race and the loser violates the
|
|
19
|
+
* one-live-invitation uniqueness rule. Callers map this to an invitation conflict.
|
|
20
|
+
*/
|
|
21
|
+
export class InvitationConflictError extends Error {
|
|
22
|
+
constructor() {
|
|
23
|
+
super('A live invitation already exists for this email');
|
|
24
|
+
this.name = 'InvitationConflictError';
|
|
25
|
+
}
|
|
26
|
+
}
|
|
27
|
+
/** PostgreSQL unique-violation error code. */
|
|
28
|
+
const UNIQUE_VIOLATION = '23505';
|
|
29
|
+
/** Map an invitation row to its camelCase record. */
|
|
30
|
+
function mapRowToInvitation(row) {
|
|
31
|
+
return {
|
|
32
|
+
id: row.id,
|
|
33
|
+
userId: row.user_id,
|
|
34
|
+
tokenHash: row.token_hash,
|
|
35
|
+
expiresAt: row.expires_at,
|
|
36
|
+
usedAt: row.used_at,
|
|
37
|
+
createdAt: row.created_at,
|
|
38
|
+
details: row.details,
|
|
39
|
+
invitedBy: row.invited_by,
|
|
40
|
+
organizationId: row.organization_id,
|
|
41
|
+
email: row.email,
|
|
42
|
+
givenName: row.given_name,
|
|
43
|
+
familyName: row.family_name,
|
|
44
|
+
locale: row.locale,
|
|
45
|
+
};
|
|
46
|
+
}
|
|
17
47
|
// ---------------------------------------------------------------------------
|
|
18
48
|
// Allowlist validation
|
|
19
49
|
// ---------------------------------------------------------------------------
|
|
@@ -424,61 +454,122 @@ export async function invalidateUserTokens(table, userId) {
|
|
|
424
454
|
// Invitation-specific operations
|
|
425
455
|
// ---------------------------------------------------------------------------
|
|
426
456
|
/**
|
|
427
|
-
*
|
|
457
|
+
* Issue a new deferred invitation, replacing any live invitation for the same address.
|
|
428
458
|
*
|
|
429
|
-
*
|
|
430
|
-
*
|
|
459
|
+
* One transaction invalidates every live invitation for the organization/email pair and inserts the
|
|
460
|
+
* new token with no user link, so at most one live invitation exists per address. Two concurrent
|
|
461
|
+
* invites serialize on the live row; the loser violates the partial unique index and receives an
|
|
462
|
+
* {@link InvitationConflictError} instead of a duplicate or a raw database error.
|
|
431
463
|
*
|
|
432
|
-
* @param
|
|
433
|
-
* @
|
|
434
|
-
* @
|
|
435
|
-
* @param details - Optional JSONB details (roles, claims, personalMessage, inviterName)
|
|
436
|
-
* @param invitedBy - Optional UUID of the admin who created this invitation
|
|
464
|
+
* @param input - Invitation facts: tenant, address, token hash, expiry, and profile snapshot.
|
|
465
|
+
* @returns The new invitation row id.
|
|
466
|
+
* @throws InvitationConflictError when another invite wins the same-email race.
|
|
437
467
|
*/
|
|
438
|
-
export async function
|
|
439
|
-
const
|
|
440
|
-
|
|
441
|
-
|
|
442
|
-
|
|
468
|
+
export async function replaceInvitation(input) {
|
|
469
|
+
const client = await getPool().connect();
|
|
470
|
+
try {
|
|
471
|
+
await client.query('BEGIN');
|
|
472
|
+
await client.query(`UPDATE invitation_tokens
|
|
473
|
+
SET used_at = NOW()
|
|
474
|
+
WHERE organization_id = $1
|
|
475
|
+
AND email = $2
|
|
476
|
+
AND used_at IS NULL`, [input.organizationId, input.email]);
|
|
477
|
+
const result = await client.query(`INSERT INTO invitation_tokens
|
|
478
|
+
(organization_id, email, token_hash, expires_at,
|
|
479
|
+
given_name, family_name, locale, details, invited_by)
|
|
480
|
+
VALUES ($1, $2, $3, $4, $5, $6, $7, $8, $9)
|
|
481
|
+
RETURNING id`, [
|
|
482
|
+
input.organizationId,
|
|
483
|
+
input.email,
|
|
484
|
+
input.tokenHash,
|
|
485
|
+
input.expiresAt,
|
|
486
|
+
input.givenName ?? null,
|
|
487
|
+
input.familyName ?? null,
|
|
488
|
+
input.locale ?? null,
|
|
489
|
+
input.details ? JSON.stringify(input.details) : null,
|
|
490
|
+
input.invitedBy ?? null,
|
|
491
|
+
]);
|
|
492
|
+
await client.query('COMMIT');
|
|
493
|
+
logger.debug({ organizationId: input.organizationId, hasDetails: !!input.details }, 'Deferred invitation stored');
|
|
494
|
+
return { id: result.rows[0].id };
|
|
495
|
+
}
|
|
496
|
+
catch (error) {
|
|
497
|
+
await client.query('ROLLBACK');
|
|
498
|
+
if (typeof error === 'object' &&
|
|
499
|
+
error !== null &&
|
|
500
|
+
'code' in error &&
|
|
501
|
+
error.code === UNIQUE_VIOLATION) {
|
|
502
|
+
throw new InvitationConflictError();
|
|
503
|
+
}
|
|
504
|
+
throw error;
|
|
505
|
+
}
|
|
506
|
+
finally {
|
|
507
|
+
client.release();
|
|
508
|
+
}
|
|
443
509
|
}
|
|
444
510
|
/**
|
|
445
|
-
* Find a valid invitation
|
|
446
|
-
*
|
|
447
|
-
* Returns the full InvitationTokenRecord including the details JSONB
|
|
448
|
-
* column, which stores pre-assignment metadata for roles, claims, etc.
|
|
511
|
+
* Find a valid invitation by hash within one organization.
|
|
449
512
|
*
|
|
450
|
-
*
|
|
451
|
-
*
|
|
452
|
-
* what rejects a foreign tenant's otherwise-valid token: presenting an
|
|
453
|
-
* invitation under the wrong organization slug resolves no record.
|
|
513
|
+
* Tenant authority comes from the token's own `organization_id`, so the lookup needs no user join and
|
|
514
|
+
* a token presented under another organization resolves nothing.
|
|
454
515
|
*
|
|
455
|
-
* @param tokenHash - SHA-256
|
|
456
|
-
* @param organizationId - Organization
|
|
457
|
-
* @returns The invitation
|
|
516
|
+
* @param tokenHash - SHA-256 digest of the presented token.
|
|
517
|
+
* @param organizationId - Organization resolved from the public route.
|
|
518
|
+
* @returns The valid invitation, or null when it is unknown, used, expired, or foreign.
|
|
458
519
|
*/
|
|
459
520
|
export async function findValidInvitationToken(tokenHash, organizationId) {
|
|
460
|
-
const
|
|
461
|
-
|
|
462
|
-
|
|
463
|
-
|
|
464
|
-
|
|
465
|
-
|
|
466
|
-
|
|
467
|
-
|
|
468
|
-
|
|
469
|
-
|
|
470
|
-
|
|
471
|
-
|
|
472
|
-
|
|
473
|
-
|
|
474
|
-
|
|
475
|
-
|
|
476
|
-
|
|
477
|
-
|
|
478
|
-
|
|
479
|
-
|
|
480
|
-
|
|
481
|
-
|
|
482
|
-
|
|
521
|
+
const result = await getPool().query(`SELECT id, user_id, token_hash, expires_at, used_at, created_at,
|
|
522
|
+
details, invited_by, organization_id, email,
|
|
523
|
+
given_name, family_name, locale
|
|
524
|
+
FROM invitation_tokens
|
|
525
|
+
WHERE token_hash = $1
|
|
526
|
+
AND organization_id = $2
|
|
527
|
+
AND used_at IS NULL
|
|
528
|
+
AND expires_at > NOW()`, [tokenHash, organizationId]);
|
|
529
|
+
return result.rows[0] ? mapRowToInvitation(result.rows[0]) : null;
|
|
530
|
+
}
|
|
531
|
+
/**
|
|
532
|
+
* Lock one valid invitation for the acceptance transaction.
|
|
533
|
+
*
|
|
534
|
+
* The row stays locked until the caller commits or rolls back, which serializes concurrent
|
|
535
|
+
* acceptances of the same token.
|
|
536
|
+
*
|
|
537
|
+
* @param client - Active PostgreSQL transaction client.
|
|
538
|
+
* @param tokenHash - SHA-256 digest of the presented token.
|
|
539
|
+
* @param organizationId - Organization resolved from the public route.
|
|
540
|
+
* @returns The locked invitation, or null for every invalid state.
|
|
541
|
+
*/
|
|
542
|
+
export async function lockValidInvitationForUpdate(client, tokenHash, organizationId) {
|
|
543
|
+
const result = await client.query(`SELECT id, user_id, token_hash, expires_at, used_at, created_at,
|
|
544
|
+
details, invited_by, organization_id, email,
|
|
545
|
+
given_name, family_name, locale
|
|
546
|
+
FROM invitation_tokens
|
|
547
|
+
WHERE token_hash = $1
|
|
548
|
+
AND organization_id = $2
|
|
549
|
+
AND used_at IS NULL
|
|
550
|
+
AND expires_at > NOW()
|
|
551
|
+
FOR UPDATE`, [tokenHash, organizationId]);
|
|
552
|
+
return result.rows[0] ? mapRowToInvitation(result.rows[0]) : null;
|
|
553
|
+
}
|
|
554
|
+
/**
|
|
555
|
+
* Link and consume a locked invitation.
|
|
556
|
+
*
|
|
557
|
+
* The predicates are repeated at mutation time so a second acceptance cannot convert an already-used
|
|
558
|
+
* or expired invitation into a success. Callers must roll back when this returns false.
|
|
559
|
+
*
|
|
560
|
+
* @param client - Transaction client that owns the invitation lock.
|
|
561
|
+
* @param invitationId - Invitation row id.
|
|
562
|
+
* @param userId - Newly created account id.
|
|
563
|
+
* @returns True only when exactly one still-valid invitation was consumed.
|
|
564
|
+
*/
|
|
565
|
+
export async function consumeInvitation(client, invitationId, userId) {
|
|
566
|
+
const result = await client.query(`UPDATE invitation_tokens
|
|
567
|
+
SET user_id = $2,
|
|
568
|
+
used_at = NOW()
|
|
569
|
+
WHERE id = $1
|
|
570
|
+
AND used_at IS NULL
|
|
571
|
+
AND expires_at > NOW()
|
|
572
|
+
RETURNING id`, [invitationId, userId]);
|
|
573
|
+
return result.rowCount === 1;
|
|
483
574
|
}
|
|
484
575
|
//# sourceMappingURL=token-repository.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"token-repository.js","sourceRoot":"","sources":["../../src/auth/token-repository.ts"],"names":[],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"token-repository.js","sourceRoot":"","sources":["../../src/auth/token-repository.ts"],"names":[],"mappings":"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"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"init.d.ts","sourceRoot":"","sources":["../../../src/cli/commands/init.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;;;;;;;;;;;;GA4BG;AAEH,OAAO,KAAK,EAAE,aAAa,EAAE,MAAM,OAAO,CAAC;AAC3C,OAAO,KAAK,EAAE,aAAa,EAAE,MAAM,aAAa,CAAC;AAgBjD,wEAAwE;AACxE,UAAU,WAAY,SAAQ,aAAa;IACzC,KAAK,CAAC,EAAE,MAAM,CAAC;IACf,YAAY,CAAC,EAAE,MAAM,CAAC;IACtB,aAAa,CAAC,EAAE,MAAM,CAAC;IACvB,QAAQ,CAAC,EAAE,MAAM,CAAC;CACnB;AAoID;;;;;;GAMG;AACH,eAAO,MAAM,WAAW,EAAE,aAAa,CAAC,aAAa,EAAE,WAAW,
|
|
1
|
+
{"version":3,"file":"init.d.ts","sourceRoot":"","sources":["../../../src/cli/commands/init.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;;;;;;;;;;;;GA4BG;AAEH,OAAO,KAAK,EAAE,aAAa,EAAE,MAAM,OAAO,CAAC;AAC3C,OAAO,KAAK,EAAE,aAAa,EAAE,MAAM,aAAa,CAAC;AAgBjD,wEAAwE;AACxE,UAAU,WAAY,SAAQ,aAAa;IACzC,KAAK,CAAC,EAAE,MAAM,CAAC;IACf,YAAY,CAAC,EAAE,MAAM,CAAC;IACtB,aAAa,CAAC,EAAE,MAAM,CAAC;IACvB,QAAQ,CAAC,EAAE,MAAM,CAAC;CACnB;AAoID;;;;;;GAMG;AACH,eAAO,MAAM,WAAW,EAAE,aAAa,CAAC,aAAa,EAAE,WAAW,CAmPjE,CAAC"}
|