@absolutejs/auth 0.36.0 → 0.38.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/dist/client/index.d.ts +1 -0
- package/dist/client/index.js +555 -1
- package/dist/client/index.js.map +20 -4
- package/dist/client/passkeyHelpers.d.ts +19 -0
- package/dist/client/react.d.ts +25 -0
- package/dist/client/react.js +610 -1
- package/dist/client/react.js.map +20 -4
- package/dist/client/solid.d.ts +25 -0
- package/dist/client/solid.js +611 -1
- package/dist/client/solid.js.map +20 -4
- package/dist/client/svelte.d.ts +25 -0
- package/dist/client/svelte.js +600 -1
- package/dist/client/svelte.js.map +20 -4
- package/dist/client/vue.d.ts +27 -0
- package/dist/client/vue.js +627 -1
- package/dist/client/vue.js.map +20 -4
- package/dist/credentials/backgroundOps.d.ts +45 -0
- package/dist/htmx/index.js +16 -1
- package/dist/htmx/index.js.map +2 -2
- package/dist/index.d.ts +72 -0
- package/dist/index.js +340 -10
- package/dist/index.js.map +9 -7
- package/dist/plugins/index.js +16 -1
- package/dist/plugins/index.js.map +2 -2
- package/dist/scim/config.d.ts +2 -0
- package/dist/scim/extensions.d.ts +30 -0
- package/dist/scim/routes.d.ts +71 -1
- package/dist/scim/serialize.d.ts +40 -2
- package/dist/scim/types.d.ts +2 -0
- package/package.json +6 -1
package/dist/plugins/index.js
CHANGED
|
@@ -1,4 +1,19 @@
|
|
|
1
1
|
// @bun
|
|
2
|
+
var __defProp = Object.defineProperty;
|
|
3
|
+
var __returnValue = (v) => v;
|
|
4
|
+
function __exportSetter(name, newValue) {
|
|
5
|
+
this[name] = __returnValue.bind(null, newValue);
|
|
6
|
+
}
|
|
7
|
+
var __export = (target, all) => {
|
|
8
|
+
for (var name in all)
|
|
9
|
+
__defProp(target, name, {
|
|
10
|
+
get: all[name],
|
|
11
|
+
enumerable: true,
|
|
12
|
+
configurable: true,
|
|
13
|
+
set: __exportSetter.bind(all, name)
|
|
14
|
+
});
|
|
15
|
+
};
|
|
16
|
+
var __esm = (fn, res) => () => (fn && (res = fn(fn = 0)), res);
|
|
2
17
|
var __require = import.meta.require;
|
|
3
18
|
|
|
4
19
|
// src/credentials/emailValidation.ts
|
|
@@ -181,5 +196,5 @@ export {
|
|
|
181
196
|
denyDisposableEmailPlugin
|
|
182
197
|
};
|
|
183
198
|
|
|
184
|
-
//# debugId=
|
|
199
|
+
//# debugId=A678C9E5494B63D064756E2164756E21
|
|
185
200
|
//# sourceMappingURL=index.js.map
|
|
@@ -10,7 +10,7 @@
|
|
|
10
10
|
"// PostHog server-side identify. Pair with audit events that have a `userId` (register,\n// credentials_login, oauth_login, …) to push the user to PostHog with their\n// email/properties so server-side events tie back to the right person.\n//\n// ~25 lines; one POST per event. Drop into the audit chain via composition or use as\n// an `AuditSink` directly.\n\nimport type { AuditEvent, AuditSink } from '../audit/types';\n\nexport type PosthogIdentifyOptions = {\n\thost?: string; // defaults to PostHog Cloud US\n\tprojectApiKey: string;\n\t// Pull the properties to send from the audit event metadata + your own enrichment.\n\tproperties?: (event: AuditEvent) => Record<string, unknown>;\n};\n\nconst DEFAULT_HOST = 'https://us.i.posthog.com';\n\nexport const posthogIdentifyPlugin = ({\n\thost = DEFAULT_HOST,\n\tprojectApiKey,\n\tproperties = (event) => ({ ...(event.metadata ?? {}) })\n}: PosthogIdentifyOptions): AuditSink => ({\n\tappend: async (event) => {\n\t\tif (event.userId === undefined) return;\n\t\tawait fetch(`${host}/capture/`, {\n\t\t\tbody: JSON.stringify({\n\t\t\t\tapi_key: projectApiKey,\n\t\t\t\tdistinct_id: event.userId,\n\t\t\t\tevent: '$identify',\n\t\t\t\tproperties: {\n\t\t\t\t\t$set: properties(event),\n\t\t\t\t\t$set_once: { first_seen_event: event.type }\n\t\t\t\t},\n\t\t\t\ttimestamp: new Date(event.at).toISOString()\n\t\t\t}),\n\t\t\theaders: { 'content-type': 'application/json' },\n\t\t\tmethod: 'POST'\n\t\t}).catch(() => undefined);\n\t}\n});\n",
|
|
11
11
|
"// Slack webhook plugin. Pair with `audit.onAuditEvent` OR drop into the audit chain\n// (it's a valid `AuditSink`) to post a one-line summary of chosen audit events to a\n// Slack channel webhook. Fire-and-forget, ~30 lines — copy + modify if you want a\n// different message shape.\n\nimport type { AuditEvent, AuditEventType, AuditSink } from '../audit/types';\n\nexport type SlackAlertOptions = {\n\t// Optional event-type allow-list. Without it, EVERY event posts — typically you\n\t// want to filter to security-relevant events like login failures + MFA failures.\n\tevents?: readonly AuditEventType[];\n\t// Build the Slack message body from the event. Default is one short line; override\n\t// to use Block Kit, attachments, mentions, etc.\n\tformatMessage?: (event: AuditEvent) => string;\n\twebhookUrl: string;\n};\n\nconst defaultFormat = (event: AuditEvent) => {\n\tconst when = new Date(event.at).toISOString();\n\tconst who = event.userId ?? event.ip ?? 'unknown';\n\n\treturn `🔐 *${event.type}* — ${who} at ${when}`;\n};\n\nexport const slackAlertPlugin = ({\n\tevents,\n\tformatMessage = defaultFormat,\n\twebhookUrl\n}: SlackAlertOptions): AuditSink => ({\n\tappend: async (event) => {\n\t\tif (events !== undefined && !events.includes(event.type)) return;\n\t\tawait fetch(webhookUrl, {\n\t\t\tbody: JSON.stringify({ text: formatMessage(event) }),\n\t\t\theaders: { 'content-type': 'application/json' },\n\t\t\tmethod: 'POST'\n\t\t}).catch(() => undefined);\n\t}\n});\n"
|
|
12
12
|
],
|
|
13
|
-
"mappings": "
|
|
14
|
-
"debugId": "
|
|
13
|
+
"mappings": "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",
|
|
14
|
+
"debugId": "A678C9E5494B63D064756E2164756E21",
|
|
15
15
|
"names": []
|
|
16
16
|
}
|
package/dist/scim/config.d.ts
CHANGED
|
@@ -1,8 +1,10 @@
|
|
|
1
1
|
import type { OrganizationId } from '../tenancy';
|
|
2
2
|
import type { RouteString } from '../types';
|
|
3
|
+
import type { ScimAttributeMap } from './extensions';
|
|
3
4
|
import type { ScimFilter, ScimGroup, ScimGroupInput, ScimTokenStore, ScimUser, ScimUserInput } from './types';
|
|
4
5
|
export declare const DEFAULT_SCIM_ROUTE = "/scim/v2";
|
|
5
6
|
export type ScimConfig = {
|
|
7
|
+
customAttributes?: ScimAttributeMap;
|
|
6
8
|
getScimGroup?: (context: {
|
|
7
9
|
id: string;
|
|
8
10
|
organizationId: OrganizationId;
|
|
@@ -0,0 +1,30 @@
|
|
|
1
|
+
import type { ScimGroupMember } from './types';
|
|
2
|
+
export type ScimAttributeDefinition = {
|
|
3
|
+
caseExact?: boolean;
|
|
4
|
+
description?: string;
|
|
5
|
+
multiValued?: boolean;
|
|
6
|
+
mutability?: 'immutable' | 'readOnly' | 'readWrite' | 'writeOnly';
|
|
7
|
+
name: string;
|
|
8
|
+
required?: boolean;
|
|
9
|
+
returned?: 'always' | 'default' | 'never' | 'request';
|
|
10
|
+
subAttributes?: ScimAttributeDefinition[];
|
|
11
|
+
type: 'boolean' | 'complex' | 'dateTime' | 'decimal' | 'integer' | 'reference' | 'string';
|
|
12
|
+
uniqueness?: 'global' | 'none' | 'server';
|
|
13
|
+
};
|
|
14
|
+
export type ScimSchemaDefinition = {
|
|
15
|
+
attributes: ScimAttributeDefinition[];
|
|
16
|
+
description?: string;
|
|
17
|
+
id: string;
|
|
18
|
+
name: string;
|
|
19
|
+
};
|
|
20
|
+
export type ScimAttributeMap = {
|
|
21
|
+
fromScim: (body: Record<string, unknown>) => Record<string, unknown>;
|
|
22
|
+
schemas?: ScimSchemaDefinition[];
|
|
23
|
+
toScim: (custom: Record<string, unknown>) => Record<string, unknown>;
|
|
24
|
+
};
|
|
25
|
+
export declare const defineScimAttributeMap: (map: ScimAttributeMap) => ScimAttributeMap;
|
|
26
|
+
export type ScimGroupMembershipDelta = {
|
|
27
|
+
added: ScimGroupMember[];
|
|
28
|
+
removed: ScimGroupMember[];
|
|
29
|
+
};
|
|
30
|
+
export declare const diffScimGroupMembers: (current: ScimGroupMember[], next: ScimGroupMember[]) => ScimGroupMembershipDelta;
|
package/dist/scim/routes.d.ts
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
import { Elysia } from 'elysia';
|
|
2
2
|
import { type ScimConfig } from './config';
|
|
3
|
-
export declare const scimRoutes: ({ getScimGroup, getScimUser, listScimGroups, listScimUsers, onScimGroupCreate, onScimGroupDelete, onScimGroupReplace, onScimUserCreate, onScimUserDeactivate, onScimUserReplace, scimRoute, scimTokenStore }: ScimConfig) => Elysia<"", {
|
|
3
|
+
export declare const scimRoutes: ({ customAttributes, getScimGroup, getScimUser, listScimGroups, listScimUsers, onScimGroupCreate, onScimGroupDelete, onScimGroupReplace, onScimUserCreate, onScimUserDeactivate, onScimUserReplace, scimRoute, scimTokenStore }: ScimConfig) => Elysia<"", {
|
|
4
4
|
decorator: {};
|
|
5
5
|
store: {};
|
|
6
6
|
derive: {};
|
|
@@ -281,6 +281,76 @@ export declare const scimRoutes: ({ getScimGroup, getScimUser, listScimGroups, l
|
|
|
281
281
|
};
|
|
282
282
|
};
|
|
283
283
|
};
|
|
284
|
+
} & {
|
|
285
|
+
[x: string]: {
|
|
286
|
+
get: {
|
|
287
|
+
body: unknown;
|
|
288
|
+
params: {};
|
|
289
|
+
query: unknown;
|
|
290
|
+
headers: unknown;
|
|
291
|
+
response: {
|
|
292
|
+
200: Response;
|
|
293
|
+
};
|
|
294
|
+
};
|
|
295
|
+
};
|
|
296
|
+
} & {
|
|
297
|
+
[x: string]: {
|
|
298
|
+
get: {
|
|
299
|
+
body: unknown;
|
|
300
|
+
params: {
|
|
301
|
+
id: string;
|
|
302
|
+
};
|
|
303
|
+
query: unknown;
|
|
304
|
+
headers: unknown;
|
|
305
|
+
response: {
|
|
306
|
+
200: Response;
|
|
307
|
+
422: {
|
|
308
|
+
type: "validation";
|
|
309
|
+
on: string;
|
|
310
|
+
summary?: string;
|
|
311
|
+
message?: string;
|
|
312
|
+
found?: unknown;
|
|
313
|
+
property?: string;
|
|
314
|
+
expected?: string;
|
|
315
|
+
};
|
|
316
|
+
};
|
|
317
|
+
};
|
|
318
|
+
};
|
|
319
|
+
} & {
|
|
320
|
+
[x: string]: {
|
|
321
|
+
get: {
|
|
322
|
+
body: unknown;
|
|
323
|
+
params: {};
|
|
324
|
+
query: unknown;
|
|
325
|
+
headers: unknown;
|
|
326
|
+
response: {
|
|
327
|
+
200: Response;
|
|
328
|
+
};
|
|
329
|
+
};
|
|
330
|
+
};
|
|
331
|
+
} & {
|
|
332
|
+
[x: string]: {
|
|
333
|
+
get: {
|
|
334
|
+
body: unknown;
|
|
335
|
+
params: {
|
|
336
|
+
id: string;
|
|
337
|
+
};
|
|
338
|
+
query: unknown;
|
|
339
|
+
headers: unknown;
|
|
340
|
+
response: {
|
|
341
|
+
200: Response;
|
|
342
|
+
422: {
|
|
343
|
+
type: "validation";
|
|
344
|
+
on: string;
|
|
345
|
+
summary?: string;
|
|
346
|
+
message?: string;
|
|
347
|
+
found?: unknown;
|
|
348
|
+
property?: string;
|
|
349
|
+
expected?: string;
|
|
350
|
+
};
|
|
351
|
+
};
|
|
352
|
+
};
|
|
353
|
+
};
|
|
284
354
|
}, {
|
|
285
355
|
derive: {};
|
|
286
356
|
resolve: {};
|
package/dist/scim/serialize.d.ts
CHANGED
|
@@ -1,6 +1,9 @@
|
|
|
1
|
+
import type { ScimAttributeMap, ScimSchemaDefinition } from './extensions';
|
|
1
2
|
import type { ScimFilter, ScimGroup, ScimGroupInput, ScimUser, ScimUserInput } from './types';
|
|
2
|
-
|
|
3
|
-
|
|
3
|
+
declare const SCHEMA_SCHEMA = "urn:ietf:params:scim:schemas:core:2.0:Schema";
|
|
4
|
+
declare const RESOURCE_TYPE_SCHEMA = "urn:ietf:params:scim:schemas:core:2.0:ResourceType";
|
|
5
|
+
export declare const toUserResource: (user: ScimUser, location: string, map?: ScimAttributeMap) => Record<string, unknown>;
|
|
6
|
+
export declare const parseUserInput: (body: unknown, map?: ScimAttributeMap) => ScimUserInput | undefined;
|
|
4
7
|
export declare const applyPatch: (user: ScimUser, body: unknown) => ScimUserInput;
|
|
5
8
|
export declare const listResponse: (resources: Record<string, unknown>[]) => {
|
|
6
9
|
itemsPerPage: number;
|
|
@@ -13,6 +16,13 @@ export declare const parseFilter: (filter: string | undefined) => ScimFilter | u
|
|
|
13
16
|
export declare const scimError: (httpStatus: number, detail: string, scimType?: string) => Response;
|
|
14
17
|
export declare const scimJson: (resource: unknown, httpStatus: number) => Response;
|
|
15
18
|
export declare const serviceProviderConfig: (location: string) => {
|
|
19
|
+
authenticationSchemes: {
|
|
20
|
+
description: string;
|
|
21
|
+
name: string;
|
|
22
|
+
primary: boolean;
|
|
23
|
+
specUri: string;
|
|
24
|
+
type: string;
|
|
25
|
+
}[];
|
|
16
26
|
bulk: {
|
|
17
27
|
maxOperations: number;
|
|
18
28
|
maxPayloadSize: number;
|
|
@@ -40,6 +50,34 @@ export declare const serviceProviderConfig: (location: string) => {
|
|
|
40
50
|
supported: boolean;
|
|
41
51
|
};
|
|
42
52
|
};
|
|
53
|
+
export declare const schemaList: (location: string, extras?: ScimSchemaDefinition[]) => {
|
|
54
|
+
itemsPerPage: number;
|
|
55
|
+
Resources: Record<string, unknown>[];
|
|
56
|
+
schemas: string[];
|
|
57
|
+
startIndex: number;
|
|
58
|
+
totalResults: number;
|
|
59
|
+
};
|
|
60
|
+
export declare const schemaOne: (location: string, id: string, extras?: ScimSchemaDefinition[]) => Record<string, unknown> | undefined;
|
|
61
|
+
export declare const resourceTypeList: (location: string, usersEndpoint: string, groupsEndpoint: string, extras?: ScimSchemaDefinition[]) => {
|
|
62
|
+
itemsPerPage: number;
|
|
63
|
+
Resources: Record<string, unknown>[];
|
|
64
|
+
schemas: string[];
|
|
65
|
+
startIndex: number;
|
|
66
|
+
totalResults: number;
|
|
67
|
+
};
|
|
68
|
+
export declare const resourceTypeOne: (location: string, id: string, usersEndpoint: string, groupsEndpoint: string, extras?: ScimSchemaDefinition[]) => {
|
|
69
|
+
description: string;
|
|
70
|
+
endpoint: string;
|
|
71
|
+
id: string;
|
|
72
|
+
meta: {
|
|
73
|
+
location: string;
|
|
74
|
+
resourceType: string;
|
|
75
|
+
};
|
|
76
|
+
name: string;
|
|
77
|
+
schema: string;
|
|
78
|
+
schemas: string[];
|
|
79
|
+
} | undefined;
|
|
80
|
+
export { RESOURCE_TYPE_SCHEMA, SCHEMA_SCHEMA };
|
|
43
81
|
export declare const applyGroupPatch: (group: ScimGroup, body: unknown) => ScimGroupInput;
|
|
44
82
|
export declare const parseGroupInput: (body: unknown) => ScimGroupInput | undefined;
|
|
45
83
|
export declare const toGroupResource: (group: ScimGroup, location: string) => Record<string, unknown>;
|
package/dist/scim/types.d.ts
CHANGED
|
@@ -14,6 +14,7 @@ export type ScimTokenStore = {
|
|
|
14
14
|
};
|
|
15
15
|
export type ScimUser = {
|
|
16
16
|
active: boolean;
|
|
17
|
+
custom?: Record<string, unknown>;
|
|
17
18
|
displayName?: string;
|
|
18
19
|
email?: string;
|
|
19
20
|
externalId?: string;
|
|
@@ -24,6 +25,7 @@ export type ScimUser = {
|
|
|
24
25
|
};
|
|
25
26
|
export type ScimUserInput = {
|
|
26
27
|
active: boolean;
|
|
28
|
+
custom?: Record<string, unknown>;
|
|
27
29
|
displayName?: string;
|
|
28
30
|
email?: string;
|
|
29
31
|
externalId?: string;
|
package/package.json
CHANGED
|
@@ -1,5 +1,5 @@
|
|
|
1
1
|
{
|
|
2
|
-
"version": "0.
|
|
2
|
+
"version": "0.38.0",
|
|
3
3
|
"name": "@absolutejs/auth",
|
|
4
4
|
"description": "An authorization library for absolutejs",
|
|
5
5
|
"repository": {
|
|
@@ -32,6 +32,7 @@
|
|
|
32
32
|
"types": "./dist/index.d.ts",
|
|
33
33
|
"peerDependencies": {
|
|
34
34
|
"@opentelemetry/api": ">=1.7",
|
|
35
|
+
"@simplewebauthn/browser": ">=13",
|
|
35
36
|
"elysia": ">= 1.4.26",
|
|
36
37
|
"react": ">=18 <20",
|
|
37
38
|
"solid-js": ">=1.8",
|
|
@@ -42,6 +43,9 @@
|
|
|
42
43
|
"@opentelemetry/api": {
|
|
43
44
|
"optional": true
|
|
44
45
|
},
|
|
46
|
+
"@simplewebauthn/browser": {
|
|
47
|
+
"optional": true
|
|
48
|
+
},
|
|
45
49
|
"react": {
|
|
46
50
|
"optional": true
|
|
47
51
|
},
|
|
@@ -66,6 +70,7 @@
|
|
|
66
70
|
"@eslint/js": "^10.0.1",
|
|
67
71
|
"@opentelemetry/api": "^1.9.1",
|
|
68
72
|
"@opentelemetry/sdk-trace-base": "^2.7.1",
|
|
73
|
+
"@simplewebauthn/browser": "^13.3.0",
|
|
69
74
|
"@stylistic/eslint-plugin": "^5.10.0",
|
|
70
75
|
"@types/bun": "1.2.9",
|
|
71
76
|
"@types/react": "^19.0.0",
|