@memberjunction/server 5.39.0 → 5.40.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/dist/auth/index.js +1 -1
- package/dist/auth/index.js.map +1 -1
- package/dist/auth/magicLink/MagicLinkKeys.d.ts +58 -0
- package/dist/auth/magicLink/MagicLinkKeys.d.ts.map +1 -0
- package/dist/auth/magicLink/MagicLinkKeys.js +99 -0
- package/dist/auth/magicLink/MagicLinkKeys.js.map +1 -0
- package/dist/auth/magicLink/MagicLinkRouter.d.ts +33 -0
- package/dist/auth/magicLink/MagicLinkRouter.d.ts.map +1 -0
- package/dist/auth/magicLink/MagicLinkRouter.js +184 -0
- package/dist/auth/magicLink/MagicLinkRouter.js.map +1 -0
- package/dist/auth/magicLink/MagicLinkService.d.ts +123 -0
- package/dist/auth/magicLink/MagicLinkService.d.ts.map +1 -0
- package/dist/auth/magicLink/MagicLinkService.js +605 -0
- package/dist/auth/magicLink/MagicLinkService.js.map +1 -0
- package/dist/auth/magicLink/index.d.ts +6 -0
- package/dist/auth/magicLink/index.d.ts.map +1 -0
- package/dist/auth/magicLink/index.js +6 -0
- package/dist/auth/magicLink/index.js.map +1 -0
- package/dist/auth/magicLink/magicLinkCore.d.ts +82 -0
- package/dist/auth/magicLink/magicLinkCore.d.ts.map +1 -0
- package/dist/auth/magicLink/magicLinkCore.js +164 -0
- package/dist/auth/magicLink/magicLinkCore.js.map +1 -0
- package/dist/auth/magicLink/redeemLanding.d.ts +22 -0
- package/dist/auth/magicLink/redeemLanding.d.ts.map +1 -0
- package/dist/auth/magicLink/redeemLanding.js +61 -0
- package/dist/auth/magicLink/redeemLanding.js.map +1 -0
- package/dist/auth/magicLink/types.d.ts +131 -0
- package/dist/auth/magicLink/types.d.ts.map +1 -0
- package/dist/auth/magicLink/types.js +6 -0
- package/dist/auth/magicLink/types.js.map +1 -0
- package/dist/config.d.ts +411 -0
- package/dist/config.d.ts.map +1 -1
- package/dist/config.js +60 -0
- package/dist/config.js.map +1 -1
- package/dist/context.d.ts.map +1 -1
- package/dist/context.js +225 -2
- package/dist/context.js.map +1 -1
- package/dist/generated/generated.d.ts +877 -4
- package/dist/generated/generated.d.ts.map +1 -1
- package/dist/generated/generated.js +17779 -12750
- package/dist/generated/generated.js.map +1 -1
- package/dist/generic/ResolverBase.d.ts.map +1 -1
- package/dist/generic/ResolverBase.js +35 -7
- package/dist/generic/ResolverBase.js.map +1 -1
- package/dist/index.d.ts +2 -0
- package/dist/index.d.ts.map +1 -1
- package/dist/index.js +25 -0
- package/dist/index.js.map +1 -1
- package/dist/resolvers/CurrentUserContextResolver.d.ts +9 -3
- package/dist/resolvers/CurrentUserContextResolver.d.ts.map +1 -1
- package/dist/resolvers/CurrentUserContextResolver.js +19 -5
- package/dist/resolvers/CurrentUserContextResolver.js.map +1 -1
- package/dist/resolvers/EntityResolver.d.ts.map +1 -1
- package/dist/resolvers/EntityResolver.js +13 -2
- package/dist/resolvers/EntityResolver.js.map +1 -1
- package/dist/resolvers/GenerateSeedTaxonomyResolver.d.ts +28 -0
- package/dist/resolvers/GenerateSeedTaxonomyResolver.d.ts.map +1 -0
- package/dist/resolvers/GenerateSeedTaxonomyResolver.js +100 -0
- package/dist/resolvers/GenerateSeedTaxonomyResolver.js.map +1 -0
- package/dist/resolvers/RunClusterAnalysisResolver.d.ts +74 -0
- package/dist/resolvers/RunClusterAnalysisResolver.d.ts.map +1 -0
- package/dist/resolvers/RunClusterAnalysisResolver.js +243 -0
- package/dist/resolvers/RunClusterAnalysisResolver.js.map +1 -0
- package/dist/resolvers/UserResolver.d.ts +16 -2
- package/dist/resolvers/UserResolver.d.ts.map +1 -1
- package/dist/resolvers/UserResolver.js +45 -2
- package/dist/resolvers/UserResolver.js.map +1 -1
- package/dist/rest/SignatureWebhookHandler.d.ts +19 -0
- package/dist/rest/SignatureWebhookHandler.d.ts.map +1 -0
- package/dist/rest/SignatureWebhookHandler.js +86 -0
- package/dist/rest/SignatureWebhookHandler.js.map +1 -0
- package/package.json +75 -71
- package/src/__tests__/magicLink.test.ts +387 -0
- package/src/auth/index.ts +2 -2
- package/src/auth/magicLink/MagicLinkKeys.ts +122 -0
- package/src/auth/magicLink/MagicLinkRouter.ts +209 -0
- package/src/auth/magicLink/MagicLinkService.ts +724 -0
- package/src/auth/magicLink/index.ts +17 -0
- package/src/auth/magicLink/magicLinkCore.ts +216 -0
- package/src/auth/magicLink/redeemLanding.ts +62 -0
- package/src/auth/magicLink/types.ts +137 -0
- package/src/config.ts +62 -0
- package/src/context.ts +252 -3
- package/src/generated/generated.ts +12302 -8878
- package/src/generic/ResolverBase.ts +35 -7
- package/src/index.ts +28 -0
- package/src/resolvers/CurrentUserContextResolver.ts +21 -5
- package/src/resolvers/EntityResolver.ts +17 -5
- package/src/resolvers/GenerateSeedTaxonomyResolver.ts +90 -0
- package/src/resolvers/RunClusterAnalysisResolver.ts +249 -0
- package/src/resolvers/UserResolver.ts +38 -2
- package/src/rest/SignatureWebhookHandler.ts +103 -0
package/dist/context.d.ts.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"context.d.ts","sourceRoot":"","sources":["../src/context.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,eAAe,EAAE,MAAM,MAAM,CAAC;AAGvC,OAAO,kBAAkB,CAAC;AAC1B,OAAO,EAAE,OAAO,EAAkB,MAAM,MAAM,CAAC;AAE/C,OAAO,GAAG,MAAM,OAAO,CAAC;AAMxB,OAAO,EAAE,cAAc,EAAE,WAAW,EAAE,MAAM,YAAY,CAAC;AAIzD,OAAO,KAAK,EAAE,cAAc,EAAmC,MAAM,SAAS,CAAC;AAC/E,OAAO,EAAE,oBAAoB,
|
|
1
|
+
{"version":3,"file":"context.d.ts","sourceRoot":"","sources":["../src/context.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,eAAe,EAAE,MAAM,MAAM,CAAC;AAGvC,OAAO,kBAAkB,CAAC;AAC1B,OAAO,EAAE,OAAO,EAAkB,MAAM,MAAM,CAAC;AAE/C,OAAO,GAAG,MAAM,OAAO,CAAC;AAMxB,OAAO,EAAE,cAAc,EAAE,WAAW,EAAE,MAAM,YAAY,CAAC;AAIzD,OAAO,KAAK,EAAE,cAAc,EAAmC,MAAM,SAAS,CAAC;AAC/E,OAAO,EAAE,oBAAoB,EAAiC,MAAM,sBAAsB,CAAC;AAyQ3F;;GAEG;AACH,MAAM,WAAW,cAAc;IAC7B,uDAAuD;IACvD,QAAQ,EAAE,MAAM,CAAC;IACjB,wCAAwC;IACxC,MAAM,EAAE,MAAM,CAAC;IACf,0CAA0C;IAC1C,aAAa,CAAC,EAAE,MAAM,CAAC;IACvB,wBAAwB;IACxB,SAAS,CAAC,EAAE,MAAM,CAAC;IACnB,wBAAwB;IACxB,SAAS,CAAC,EAAE,MAAM,CAAC;CACpB;AAED,eAAO,MAAM,cAAc,GACzB,aAAa,MAAM,EACnB,iBAAqB,EACrB,aAAa,cAAc,EAAE,EAC7B,gBAAgB,MAAM,EACtB,eAAe,MAAM,EACrB,aAAa,MAAM,EACnB,iBAAiB,cAAc,KAC9B,OAAO,CAAC,WAAW,CAwJrB,CAAC;AAwCF;;;;;;;;GAQG;AACH,wBAAgB,2BAA2B,CACzC,WAAW,EAAE,cAAc,EAAE,GAC5B,cAAc,CAiDhB;AAED;;;;;GAKG;AACH,eAAO,MAAM,eAAe,GACzB,6CAA6C;IAAE,cAAc,EAAE,OAAO,CAAC,OAAO,CAAC,CAAC;IAAC,UAAU,EAAE,GAAG,CAAC,cAAc,CAAC;IAAC,WAAW,EAAE,cAAc,EAAE,CAAA;CAAE,MAC1I,SAAS;IAAE,GAAG,EAAE,eAAe,CAAA;CAAE;;;;;kBAwCb,oBAAoB;cAAQ,YAAY,GAAG,WAAW;;EAThF,CAAC"}
|
package/dist/context.js
CHANGED
|
@@ -9,11 +9,214 @@ import { authCache } from './cache.js';
|
|
|
9
9
|
import { userEmailMap, apiKey, mj_core_schema } from './config.js';
|
|
10
10
|
import { buildBoundaryLogPayload } from './logging/boundaryLogPayload.js';
|
|
11
11
|
import { GetReadOnlyDataSource, GetReadWriteDataSource } from './util.js';
|
|
12
|
+
import { UserInfo } from '@memberjunction/core';
|
|
12
13
|
import { SQLServerDataProvider, SQLServerProviderConfigData, UserCache } from '@memberjunction/sqlserver-dataprovider';
|
|
13
14
|
import { Metadata } from '@memberjunction/core';
|
|
14
15
|
import { UUIDsEqual } from '@memberjunction/global';
|
|
15
16
|
import { resolveDbPlatformFromEnv } from '@memberjunction/generic-database-provider';
|
|
16
17
|
import { GetAPIKeyEngine } from '@memberjunction/api-keys';
|
|
18
|
+
// ── Session / login audit (Phase 3) ───────────────────────────────────────────
|
|
19
|
+
// Writes one `MJ: Audit Logs` row per session establishment (and per auth failure),
|
|
20
|
+
// across EVERY provider, hooked at token validation below. Deduped by (iss, sub, iat)
|
|
21
|
+
// in a bounded, no-TTL map so a given issued token logs ONCE per process — not per
|
|
22
|
+
// request. (We deliberately do NOT reuse authCache for this: its 1h TTL would re-log
|
|
23
|
+
// long-lived sessions every hour.) Reviewers asked to audit all user access with
|
|
24
|
+
// timestamp/IP/browser — that payload lives in the Details JSON; the table has no
|
|
25
|
+
// dedicated columns. Best-effort throughout: an audit failure NEVER blocks auth.
|
|
26
|
+
const SESSION_AUDIT_TYPE = 'Session Established';
|
|
27
|
+
const LOGIN_FAILED_AUDIT_TYPE = 'Login Failed';
|
|
28
|
+
const SESSION_AUDIT_CACHE_MAX = 50_000;
|
|
29
|
+
const sessionAuditSeen = new Map(); // insertion-ordered → evict oldest
|
|
30
|
+
function sessionAuditKey(prefix, payload) {
|
|
31
|
+
return `${prefix}|${payload?.iss ?? 'unknown'}|${payload?.sub ?? 'nosub'}|${payload?.iat ?? 0}`;
|
|
32
|
+
}
|
|
33
|
+
/** First-seen guard: true the first time a key is seen this process; bounds the map. */
|
|
34
|
+
function markSessionAuditSeen(key) {
|
|
35
|
+
if (sessionAuditSeen.has(key)) {
|
|
36
|
+
return false;
|
|
37
|
+
}
|
|
38
|
+
if (sessionAuditSeen.size >= SESSION_AUDIT_CACHE_MAX) {
|
|
39
|
+
const oldest = sessionAuditSeen.keys().next().value;
|
|
40
|
+
if (oldest !== undefined) {
|
|
41
|
+
sessionAuditSeen.delete(oldest);
|
|
42
|
+
}
|
|
43
|
+
}
|
|
44
|
+
sessionAuditSeen.set(key, Date.now());
|
|
45
|
+
return true;
|
|
46
|
+
}
|
|
47
|
+
let _usersEntityId; // resolved lazily; null once known-missing
|
|
48
|
+
function resolveUsersEntityId() {
|
|
49
|
+
if (_usersEntityId === undefined) {
|
|
50
|
+
const md = Metadata.Provider; // global-provider-ok: server auth path; Users entity ID is process-global metadata
|
|
51
|
+
_usersEntityId = md?.EntityByName('Users')?.ID ?? md?.EntityByName('MJ: Users')?.ID ?? null;
|
|
52
|
+
}
|
|
53
|
+
return _usersEntityId;
|
|
54
|
+
}
|
|
55
|
+
/**
|
|
56
|
+
* Writes one session/login audit row via the provider's CreateAuditLogRecord helper
|
|
57
|
+
* (resolves the audit-log type by name from the in-memory cache, fire-and-forget save).
|
|
58
|
+
* EntityID points at the Users entity + the user's ID as RecordID — a session event
|
|
59
|
+
* is "about" the user. Full IP/UA/origin go in Details (per reviewer request); a
|
|
60
|
+
* deployment may later truncate/hash them via an audit-policy knob.
|
|
61
|
+
*/
|
|
62
|
+
async function writeSessionAudit(args) {
|
|
63
|
+
try {
|
|
64
|
+
// global-provider-ok: pre-context auth path; the audit-log-type cache is process-global metadata.
|
|
65
|
+
const provider = Metadata.Provider; // global-provider-ok: server auth audit path; runs under the server's single default provider
|
|
66
|
+
const usersEntityId = resolveUsersEntityId();
|
|
67
|
+
if (!provider || !usersEntityId) {
|
|
68
|
+
return;
|
|
69
|
+
}
|
|
70
|
+
// Audit rows MUST be saved under a PRIVILEGED context. The session user may be a
|
|
71
|
+
// permission-less magic-link guest with no create rights on MJ: Audit Logs — saving
|
|
72
|
+
// as them silently fails the permission check (this is exactly why the built-in
|
|
73
|
+
// CreateAuditLogRecord, which saves as `user`, drops guest session rows). We record
|
|
74
|
+
// the real session user in UserID but write the row as the system user.
|
|
75
|
+
const writer = await getSystemUser();
|
|
76
|
+
const auditType = provider.AuditLogTypes?.find((t) => t?.Name?.trim().toLowerCase() === args.auditTypeName.trim().toLowerCase());
|
|
77
|
+
if (!writer || !auditType) {
|
|
78
|
+
return;
|
|
79
|
+
}
|
|
80
|
+
const details = JSON.stringify({
|
|
81
|
+
provider: args.payload?.iss ?? null,
|
|
82
|
+
sub: args.payload?.sub ?? null,
|
|
83
|
+
iat: args.payload?.iat ?? null,
|
|
84
|
+
ipAddress: args.requestContext?.ipAddress ?? null,
|
|
85
|
+
userAgent: args.requestContext?.userAgent ?? null,
|
|
86
|
+
origin: args.requestDomain ?? null,
|
|
87
|
+
endpoint: args.requestContext?.endpoint ?? null,
|
|
88
|
+
...(args.extraDetails ?? {}),
|
|
89
|
+
});
|
|
90
|
+
const row = await provider.GetEntityObject('MJ: Audit Logs', writer);
|
|
91
|
+
row.NewRecord();
|
|
92
|
+
row.Set('UserID', args.user.ID);
|
|
93
|
+
row.Set('AuditLogTypeID', auditType.ID);
|
|
94
|
+
row.Set('Status', args.status);
|
|
95
|
+
row.Set('EntityID', usersEntityId);
|
|
96
|
+
row.Set('RecordID', args.user.ID);
|
|
97
|
+
row.Set('Details', details);
|
|
98
|
+
row.Set('Description', args.description);
|
|
99
|
+
if (!(await row.Save())) {
|
|
100
|
+
console.warn('[SessionAudit] audit row save returned false:', row.LatestResult?.CompleteMessage ?? 'unknown');
|
|
101
|
+
}
|
|
102
|
+
}
|
|
103
|
+
catch (e) {
|
|
104
|
+
console.warn('[SessionAudit] failed to write audit row:', e instanceof Error ? e.message : String(e));
|
|
105
|
+
}
|
|
106
|
+
}
|
|
107
|
+
/** Best-effort failure audit: decodes the attempted identity, dedupes, attributes to the system user. */
|
|
108
|
+
async function auditLoginFailure(bearerToken, error, requestContext, requestDomain) {
|
|
109
|
+
try {
|
|
110
|
+
const token = bearerToken ? bearerToken.replace('Bearer ', '') : '';
|
|
111
|
+
if (!token) {
|
|
112
|
+
// No credential was presented — a public/unauthenticated request (favicon, health
|
|
113
|
+
// checks, anonymous GraphQL), NOT a failed login. Auditing these is pure noise.
|
|
114
|
+
return;
|
|
115
|
+
}
|
|
116
|
+
let payload = null;
|
|
117
|
+
const decoded = jwt.decode(token);
|
|
118
|
+
if (decoded && typeof decoded !== 'string') {
|
|
119
|
+
payload = decoded;
|
|
120
|
+
}
|
|
121
|
+
// Dedup by (iss,sub,iat) when the token decodes; otherwise by the token tail so that
|
|
122
|
+
// a scan presenting many DIFFERENT garbage tokens doesn't collapse into a single row.
|
|
123
|
+
const key = payload ? sessionAuditKey('fail', payload) : `fail|raw|${token.slice(-24)}`;
|
|
124
|
+
if (!markSessionAuditSeen(key)) {
|
|
125
|
+
return; // already logged this failing identity/token — don't let a retry loop spam
|
|
126
|
+
}
|
|
127
|
+
// No-arg: getSystemUser pulls from the process-global UserCache (no ConnectionPool needed here).
|
|
128
|
+
const systemUser = await getSystemUser();
|
|
129
|
+
if (!systemUser) {
|
|
130
|
+
return;
|
|
131
|
+
}
|
|
132
|
+
await writeSessionAudit({
|
|
133
|
+
user: systemUser,
|
|
134
|
+
auditTypeName: LOGIN_FAILED_AUDIT_TYPE,
|
|
135
|
+
status: 'Failed',
|
|
136
|
+
payload,
|
|
137
|
+
requestContext,
|
|
138
|
+
requestDomain,
|
|
139
|
+
description: 'Authentication failed during token validation',
|
|
140
|
+
extraDetails: {
|
|
141
|
+
attemptedEmail: payload && typeof payload === 'object' ? payload['email'] ?? null : null,
|
|
142
|
+
reason: error instanceof Error ? error.message : String(error),
|
|
143
|
+
},
|
|
144
|
+
});
|
|
145
|
+
}
|
|
146
|
+
catch (e) {
|
|
147
|
+
console.warn('[SessionAudit] failed to write login-failure row:', e instanceof Error ? e.message : String(e));
|
|
148
|
+
}
|
|
149
|
+
}
|
|
150
|
+
// ── Phase 5: magic-link session scoping (resource scope + anonymous role synthesis) ──
|
|
151
|
+
// Builds the per-request UserInfo for a magic-link session, carrying:
|
|
152
|
+
// • a per-session RESOURCE scope (ResourceID/ResourceType from the verified claims) so
|
|
153
|
+
// resource-pinned RLS (`{{ScopeResourceID}}`) confines a share to one resource + its
|
|
154
|
+
// FK-reachable dependents — the granted role stays narrow. Applies to named AND anon.
|
|
155
|
+
// • for ANONYMOUS sessions only, the claimed role(s) synthesized in memory (the shared
|
|
156
|
+
// Anonymous principal holds no DB roles, by design — so anon sessions can't accrete).
|
|
157
|
+
// Always returns a FRESH UserInfo when it sets per-session state, because the resolved
|
|
158
|
+
// userRecord may be a SHARED cached instance (e.g. multiple recruiters on one per-company
|
|
159
|
+
// link) — mutating it would leak one session's scope to another. Non-magic-link sessions,
|
|
160
|
+
// and named sessions with no resource scope, are returned untouched.
|
|
161
|
+
function buildMagicLinkSessionUser(userRecord, payload) {
|
|
162
|
+
if (payload['mj_magic_link'] !== true) {
|
|
163
|
+
return userRecord;
|
|
164
|
+
}
|
|
165
|
+
const md = Metadata.Provider; // global-provider-ok: server-side magic-link session built under the server's single default provider
|
|
166
|
+
const isAnon = payload['mj_anon'] === true;
|
|
167
|
+
const scopes = payload['mj_scopes'];
|
|
168
|
+
// Per-session resource scope (single-resource share; multi-resource union is a follow-on).
|
|
169
|
+
let scope;
|
|
170
|
+
if (Array.isArray(scopes)) {
|
|
171
|
+
const withResource = scopes.find((s) => s && typeof s.resourceId === 'string' && s.resourceId);
|
|
172
|
+
if (withResource) {
|
|
173
|
+
scope = {
|
|
174
|
+
ResourceID: withResource.resourceId,
|
|
175
|
+
ResourceType: typeof withResource.resourceType === 'string' ? withResource.resourceType : undefined,
|
|
176
|
+
};
|
|
177
|
+
}
|
|
178
|
+
}
|
|
179
|
+
// Anonymous: synthesize the claimed role(s) (persisted nowhere). Named: keep real DB roles.
|
|
180
|
+
let synthesizedRoles;
|
|
181
|
+
if (isAnon) {
|
|
182
|
+
const roleNames = new Set();
|
|
183
|
+
if (Array.isArray(scopes)) {
|
|
184
|
+
for (const s of scopes) {
|
|
185
|
+
if (s && typeof s.role === 'string') {
|
|
186
|
+
roleNames.add(s.role);
|
|
187
|
+
}
|
|
188
|
+
}
|
|
189
|
+
}
|
|
190
|
+
if (typeof payload['mj_role'] === 'string') {
|
|
191
|
+
roleNames.add(payload['mj_role']);
|
|
192
|
+
}
|
|
193
|
+
synthesizedRoles = [];
|
|
194
|
+
for (const rn of roleNames) {
|
|
195
|
+
const role = md?.Roles.find((r) => r.Name?.trim().toLowerCase() === rn.trim().toLowerCase());
|
|
196
|
+
if (role) {
|
|
197
|
+
synthesizedRoles.push({ UserID: userRecord.ID, RoleID: role.ID, RoleName: role.Name });
|
|
198
|
+
}
|
|
199
|
+
}
|
|
200
|
+
}
|
|
201
|
+
// Named session with no resource scope → no per-request state needed, use the cached user.
|
|
202
|
+
if (!isAnon && !scope) {
|
|
203
|
+
return userRecord;
|
|
204
|
+
}
|
|
205
|
+
const sessionUser = new UserInfo(md, {
|
|
206
|
+
...userRecord,
|
|
207
|
+
_UserRoles: undefined,
|
|
208
|
+
UserRoles: isAnon ? synthesizedRoles : userRecord.UserRoles,
|
|
209
|
+
});
|
|
210
|
+
if (scope) {
|
|
211
|
+
sessionUser.MagicLinkScope = scope;
|
|
212
|
+
}
|
|
213
|
+
if (isAnon) {
|
|
214
|
+
// Mark the session so the CurrentUser field resolver serves these synthesized roles
|
|
215
|
+
// (the shared Anonymous principal holds none in the DB). See UserInfo.IsMagicLinkAnonymous.
|
|
216
|
+
sessionUser.IsMagicLinkAnonymous = true;
|
|
217
|
+
}
|
|
218
|
+
return sessionUser;
|
|
219
|
+
}
|
|
17
220
|
const verifyAsync = async (issuer, token) => new Promise((resolve, reject) => {
|
|
18
221
|
const options = getValidationOptions(issuer);
|
|
19
222
|
if (!options) {
|
|
@@ -136,13 +339,33 @@ export const getUserPayload = async (bearerToken, sessionId = 'default', dataSou
|
|
|
136
339
|
console.error(`User ${email} found but inactive`);
|
|
137
340
|
throw new AuthorizationError();
|
|
138
341
|
}
|
|
139
|
-
|
|
342
|
+
// Claims authorizer: for anonymous magic-link sessions, replace the role-less
|
|
343
|
+
// Anonymous principal with an in-memory UserInfo carrying the claimed role(s), so
|
|
344
|
+
// the session enforces exactly the link's granted scope (no DB accretion). No-op
|
|
345
|
+
// for everything else.
|
|
346
|
+
const sessionUser = buildMagicLinkSessionUser(userRecord, payload);
|
|
347
|
+
// Session-established audit — once per issued token (deduped), fire-and-forget so
|
|
348
|
+
// it never adds latency to the request. The dedup mark is set synchronously here.
|
|
349
|
+
if (markSessionAuditSeen(sessionAuditKey('sess', payload))) {
|
|
350
|
+
void writeSessionAudit({
|
|
351
|
+
user: sessionUser,
|
|
352
|
+
auditTypeName: SESSION_AUDIT_TYPE,
|
|
353
|
+
status: 'Success',
|
|
354
|
+
payload,
|
|
355
|
+
requestContext,
|
|
356
|
+
requestDomain,
|
|
357
|
+
description: `Session established via ${payload.iss ?? 'unknown provider'}`,
|
|
358
|
+
});
|
|
359
|
+
}
|
|
360
|
+
return { userRecord: sessionUser, email: sessionUser.Email, sessionId };
|
|
140
361
|
}
|
|
141
362
|
catch (error) {
|
|
142
363
|
console.error(error);
|
|
143
364
|
if (error instanceof TokenExpiredError) {
|
|
144
|
-
throw error;
|
|
365
|
+
throw error; // expected for long-lived sessions; not a failure worth auditing
|
|
145
366
|
}
|
|
367
|
+
// Best-effort failure audit (token scanning / brute-force signal). Never blocks auth.
|
|
368
|
+
void auditLoginFailure(bearerToken, error, requestContext, requestDomain);
|
|
146
369
|
throw new AuthenticationError('Unable to authenticate user');
|
|
147
370
|
}
|
|
148
371
|
};
|
package/dist/context.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"context.js","sourceRoot":"","sources":["../src/context.ts"],"names":[],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"context.js","sourceRoot":"","sources":["../src/context.ts"],"names":[],"mappings":"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"}
|