@owlmeans/server-auth-identity 0.1.18-rc.44 → 0.1.18-rc.46

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 CHANGED
@@ -10,7 +10,7 @@ whose grants decide access (use `@owlmeans/server-oidc-rp`'s guard and gate, or
10
10
  ## Installation
11
11
 
12
12
  ```bash
13
- bun add @owlmeans/server-auth-identity@^0.1.18-rc.44
13
+ bun add @owlmeans/server-auth-identity@^0.1.18-rc.46
14
14
  ```
15
15
 
16
16
  ## Concepts
@@ -308,7 +308,7 @@ This package ships embedded agent skills under `agent-meta/`. After installing y
308
308
  your project's skill store (`.agents/skills/`):
309
309
 
310
310
  ```sh
311
- npx @owlmeans/agent-skills@^0.1.18-rc.46
311
+ npx @owlmeans/agent-skills@^0.1.18-rc.48
312
312
  ```
313
313
 
314
314
  The embedded files are version-matched to this package release. Do not edit them
@@ -1,8 +1,8 @@
1
1
  {
2
2
  "schemaVersion": 2,
3
3
  "package": "@owlmeans/server-auth-identity",
4
- "version": "0.1.18-rc.44",
5
- "generatedAt": "2026-10-03T11:19:50.771Z",
4
+ "version": "0.1.18-rc.46",
5
+ "generatedAt": "2026-10-05T08:32:19.089Z",
6
6
  "canonicalRepo": "https://github.com/owlmeans/common",
7
7
  "entries": [
8
8
  {
@@ -8,7 +8,7 @@ user-invocable: false
8
8
  # @owlmeans/server-auth-identity
9
9
 
10
10
  **Layer:** Server
11
- **Install:** `"@owlmeans/server-auth-identity": "^0.1.18-rc.44"` in `dependencies`
11
+ **Install:** `"@owlmeans/server-auth-identity": "^0.1.18-rc.46"` in `dependencies`
12
12
 
13
13
  The identity store a deployment owns when it does not delegate identity to an external IAM. It
14
14
  answers *who is this person* (account + credentials), *what are they in this app and organization*
@@ -0,0 +1,10 @@
1
+ /**
2
+ * How long a resolution is trusted without re-reading the registry.
3
+ *
4
+ * Every authenticated request resolves an entity, so an uncached resolver would put a database
5
+ * round-trip in front of the whole API. The cost of the cache is a rename taking up to this long
6
+ * to be seen by other replicas — which is survivable precisely because the old slug keeps
7
+ * resolving through `formerSlugs` rather than failing.
8
+ */
9
+ export declare const CACHE_TTL = 30000;
10
+ //# sourceMappingURL=consts.local.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"consts.local.d.ts","sourceRoot":"","sources":["../src/consts.local.ts"],"names":[],"mappings":"AAAA;;;;;;;GAOG;AACH,eAAO,MAAM,SAAS,QAAS,CAAA"}
@@ -0,0 +1,10 @@
1
+ /**
2
+ * How long a resolution is trusted without re-reading the registry.
3
+ *
4
+ * Every authenticated request resolves an entity, so an uncached resolver would put a database
5
+ * round-trip in front of the whole API. The cost of the cache is a rename taking up to this long
6
+ * to be seen by other replicas — which is survivable precisely because the old slug keeps
7
+ * resolving through `formerSlugs` rather than failing.
8
+ */
9
+ export const CACHE_TTL = 30_000;
10
+ //# sourceMappingURL=consts.local.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"consts.local.js","sourceRoot":"","sources":["../src/consts.local.ts"],"names":[],"mappings":"AAAA;;;;;;;GAOG;AACH,MAAM,CAAC,MAAM,SAAS,GAAG,MAAM,CAAA"}
@@ -1 +1 @@
1
- {"version":3,"file":"events.d.ts","sourceRoot":"","sources":["../src/events.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,YAAY,EAAE,MAAM,mBAAmB,CAAA;AAGrD,OAAO,KAAK,EAC8B,qBAAqB,EAC9D,MAAM,YAAY,CAAA;AAEnB,eAAO,MAAM,yBAAyB,WAC7B,MAAM,KACZ,qBAuCF,CAAA;AAED;;;GAGG;AACH,eAAO,MAAM,cAAc,QACpB,YAAY,CAAC,GAAG,CAAC,UAAS,MAAM,KACpC,qBAAqB,GAAG,IAC+C,CAAA"}
1
+ {"version":3,"file":"events.d.ts","sourceRoot":"","sources":["../src/events.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,YAAY,EAAE,MAAM,mBAAmB,CAAA;AAGrD,OAAO,KAAK,EAC8B,qBAAqB,EAC9D,MAAM,YAAY,CAAA;AAKnB,eAAO,MAAM,yBAAyB,WAC7B,MAAM,KACZ,qBAuCF,CAAA;AAED;;;GAGG;AACH,eAAO,MAAM,cAAc,QACpB,YAAY,CAAC,GAAG,CAAC,UAAS,MAAM,KACpC,qBAAqB,GAAG,IAC+C,CAAA"}
package/build/events.js CHANGED
@@ -1,5 +1,7 @@
1
1
  import { createLazyService } from '@owlmeans/context';
2
2
  import { AUTH_IDENTITY_EVENTS } from './consts.js';
3
+ import { logger } from '@owlmeans/log';
4
+ const log = logger('server-auth-identity');
3
5
  export const makeIdentityEventsService = (alias = AUTH_IDENTITY_EVENTS) => {
4
6
  const created = [];
5
7
  const profiles = [];
@@ -13,7 +15,7 @@ export const makeIdentityEventsService = (alias = AUTH_IDENTITY_EVENTS) => {
13
15
  await callback(event, service.assertCtx());
14
16
  }
15
17
  catch (error) {
16
- console.error(`${alias}: ${what} listener failed`, error);
18
+ log.error('Identity event listener failed', { alias, listener: what, error });
17
19
  }
18
20
  }
19
21
  };
@@ -1 +1 @@
1
- {"version":3,"file":"events.js","sourceRoot":"","sources":["../src/events.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,iBAAiB,EAAE,MAAM,mBAAmB,CAAA;AACrD,OAAO,EAAE,oBAAoB,EAAE,MAAM,aAAa,CAAA;AAKlD,MAAM,CAAC,MAAM,yBAAyB,GAAG,CACvC,KAAK,GAAW,oBAAoB,EACb,EAAE;IACzB,MAAM,OAAO,GAA4B,EAAE,CAAA;IAC3C,MAAM,QAAQ,GAA6B,EAAE,CAAA;IAE7C;;;OAGG;IACH,MAAM,OAAO,GAAG,KAAK,EACnB,SAAmE,EAAE,KAAQ,EAAE,IAAY,EAC5E,EAAE;QACjB,KAAK,MAAM,QAAQ,IAAI,SAAS,EAAE,CAAC;YACjC,IAAI,CAAC;gBACH,MAAM,QAAQ,CAAC,KAAK,EAAE,OAAO,CAAC,SAAS,EAA2C,CAAC,CAAA;YACrF,CAAC;YAAC,OAAO,KAAK,EAAE,CAAC;gBACf,OAAO,CAAC,KAAK,CAAC,GAAG,KAAK,KAAK,IAAI,kBAAkB,EAAE,KAAK,CAAC,CAAA;YAC3D,CAAC;QACH,CAAC;IACH,CAAC,CAAA;IAED,MAAM,OAAO,GAA0B,iBAAiB,CAAwB,KAAK,EAAE;QACrF,eAAe,EAAE,QAAQ,CAAC,EAAE;YAC1B,OAAO,CAAC,IAAI,CAAC,QAAQ,CAAC,CAAA;QACxB,CAAC;QAED,sBAAsB,EAAE,KAAK,EAAC,KAAK,EAAC,EAAE;YACpC,MAAM,OAAO,CAAC,OAAO,EAAE,KAAK,EAAE,kBAAkB,KAAK,CAAC,QAAQ,GAAG,CAAC,CAAA;QACpE,CAAC;QAED,gBAAgB,EAAE,QAAQ,CAAC,EAAE;YAC3B,QAAQ,CAAC,IAAI,CAAC,QAAQ,CAAC,CAAA;QACzB,CAAC;QAED,uBAAuB,EAAE,KAAK,EAAC,KAAK,EAAC,EAAE;YACrC,MAAM,OAAO,CAAC,QAAQ,EAAE,KAAK,EAAE,mBAAmB,KAAK,CAAC,OAAO,IAAI,KAAK,CAAC,QAAQ,GAAG,CAAC,CAAA;QACvF,CAAC;KACF,CAAC,CAAA;IAEF,OAAO,OAAO,CAAA;AAChB,CAAC,CAAA;AAED;;;GAGG;AACH,MAAM,CAAC,MAAM,cAAc,GAAG,CAC5B,GAAsB,EAAE,KAAK,GAAW,oBAAoB,EAC9B,EAAE,CAChC,GAAG,CAAC,UAAU,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,GAAG,CAAC,OAAO,CAAwB,KAAK,CAAC,CAAC,CAAC,CAAC,IAAI,CAAA"}
1
+ {"version":3,"file":"events.js","sourceRoot":"","sources":["../src/events.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,iBAAiB,EAAE,MAAM,mBAAmB,CAAA;AACrD,OAAO,EAAE,oBAAoB,EAAE,MAAM,aAAa,CAAA;AAIlD,OAAO,EAAE,MAAM,EAAE,MAAM,eAAe,CAAA;AAEtC,MAAM,GAAG,GAAG,MAAM,CAAC,sBAAsB,CAAC,CAAA;AAE1C,MAAM,CAAC,MAAM,yBAAyB,GAAG,CACvC,KAAK,GAAW,oBAAoB,EACb,EAAE;IACzB,MAAM,OAAO,GAA4B,EAAE,CAAA;IAC3C,MAAM,QAAQ,GAA6B,EAAE,CAAA;IAE7C;;;OAGG;IACH,MAAM,OAAO,GAAG,KAAK,EACnB,SAAmE,EAAE,KAAQ,EAAE,IAAY,EAC5E,EAAE;QACjB,KAAK,MAAM,QAAQ,IAAI,SAAS,EAAE,CAAC;YACjC,IAAI,CAAC;gBACH,MAAM,QAAQ,CAAC,KAAK,EAAE,OAAO,CAAC,SAAS,EAA2C,CAAC,CAAA;YACrF,CAAC;YAAC,OAAO,KAAK,EAAE,CAAC;gBACf,GAAG,CAAC,KAAK,CAAC,gCAAgC,EAAE,EAAE,KAAK,EAAE,QAAQ,EAAE,IAAI,EAAE,KAAK,EAAE,CAAC,CAAA;YAC/E,CAAC;QACH,CAAC;IACH,CAAC,CAAA;IAED,MAAM,OAAO,GAA0B,iBAAiB,CAAwB,KAAK,EAAE;QACrF,eAAe,EAAE,QAAQ,CAAC,EAAE;YAC1B,OAAO,CAAC,IAAI,CAAC,QAAQ,CAAC,CAAA;QACxB,CAAC;QAED,sBAAsB,EAAE,KAAK,EAAC,KAAK,EAAC,EAAE;YACpC,MAAM,OAAO,CAAC,OAAO,EAAE,KAAK,EAAE,kBAAkB,KAAK,CAAC,QAAQ,GAAG,CAAC,CAAA;QACpE,CAAC;QAED,gBAAgB,EAAE,QAAQ,CAAC,EAAE;YAC3B,QAAQ,CAAC,IAAI,CAAC,QAAQ,CAAC,CAAA;QACzB,CAAC;QAED,uBAAuB,EAAE,KAAK,EAAC,KAAK,EAAC,EAAE;YACrC,MAAM,OAAO,CAAC,QAAQ,EAAE,KAAK,EAAE,mBAAmB,KAAK,CAAC,OAAO,IAAI,KAAK,CAAC,QAAQ,GAAG,CAAC,CAAA;QACvF,CAAC;KACF,CAAC,CAAA;IAEF,OAAO,OAAO,CAAA;AAChB,CAAC,CAAA;AAED;;;GAGG;AACH,MAAM,CAAC,MAAM,cAAc,GAAG,CAC5B,GAAsB,EAAE,KAAK,GAAW,oBAAoB,EAC9B,EAAE,CAChC,GAAG,CAAC,UAAU,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,GAAG,CAAC,OAAO,CAAwB,KAAK,CAAC,CAAC,CAAC,CAAC,IAAI,CAAA"}
package/build/groups.d.ts CHANGED
@@ -1,6 +1,5 @@
1
- import type { BasicContext } from '@owlmeans/context';
2
1
  import type { OrgGroup } from './types.js';
3
- type Context = BasicContext<any>;
2
+ import type { Context } from './types.local.js';
4
3
  /** The groups one app keeps in an organization. */
5
4
  export declare const listOrgGroups: (ctx: Context, entityId: string, service: string) => Promise<OrgGroup[]>;
6
5
  /**
@@ -19,5 +18,4 @@ export declare const putOrgGroup: (ctx: Context, entityId: string, group: OrgGro
19
18
  * name it in their `groups` are the caller's to update.
20
19
  */
21
20
  export declare const removeOrgGroup: (ctx: Context, entityId: string, service: string, key: string) => Promise<boolean>;
22
- export {};
23
21
  //# sourceMappingURL=groups.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"groups.d.ts","sourceRoot":"","sources":["../src/groups.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,YAAY,EAAE,MAAM,mBAAmB,CAAA;AAGrD,OAAO,KAAK,EAAqB,QAAQ,EAAE,MAAM,YAAY,CAAA;AAI7D,KAAK,OAAO,GAAG,YAAY,CAAC,GAAG,CAAC,CAAA;AAIhC,mDAAmD;AACnD,eAAO,MAAM,aAAa,QAAe,OAAO,YAAY,MAAM,WAAW,MAAM,KAAG,OAAO,CAAC,QAAQ,EAAE,CACT,CAAA;AAE/F;;;;;;;;;GASG;AACH,eAAO,MAAM,WAAW,QAAe,OAAO,YAAY,MAAM,SAAS,QAAQ,KAAG,OAAO,CAAC,QAAQ,CA2BnG,CAAA;AAED;;;GAGG;AACH,eAAO,MAAM,cAAc,QAAe,OAAO,YAAY,MAAM,WAAW,MAAM,OAAO,MAAM,KAAG,OAAO,CAAC,OAAO,CAQlH,CAAA"}
1
+ {"version":3,"file":"groups.d.ts","sourceRoot":"","sources":["../src/groups.ts"],"names":[],"mappings":"AAEA,OAAO,KAAK,EAAqB,QAAQ,EAAE,MAAM,YAAY,CAAA;AAG7D,OAAO,KAAK,EAAE,OAAO,EAAE,MAAM,kBAAkB,CAAA;AAI/C,mDAAmD;AACnD,eAAO,MAAM,aAAa,QAAe,OAAO,YAAY,MAAM,WAAW,MAAM,KAAG,OAAO,CAAC,QAAQ,EAAE,CACT,CAAA;AAE/F;;;;;;;;;GASG;AACH,eAAO,MAAM,WAAW,QAAe,OAAO,YAAY,MAAM,SAAS,QAAQ,KAAG,OAAO,CAAC,QAAQ,CA2BnG,CAAA;AAED;;;GAGG;AACH,eAAO,MAAM,cAAc,QAAe,OAAO,YAAY,MAAM,WAAW,MAAM,OAAO,MAAM,KAAG,OAAO,CAAC,OAAO,CAQlH,CAAA"}
@@ -1 +1 @@
1
- {"version":3,"file":"groups.js","sourceRoot":"","sources":["../src/groups.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"groups.js","sourceRoot":"","sources":["../src/groups.ts"],"names":[],"mappings":"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"}
@@ -1,7 +1,6 @@
1
- import type { BasicContext } from '@owlmeans/context';
2
1
  import type { ProviderProfileDetails } from '@owlmeans/oidc';
3
2
  import type { EnsureAccountArgs, EnsuredAccount, EnsureProfileArgs, IdentityAccount, IdentityCredentials, IdentityProfile } from './types.js';
4
- type Context = BasicContext<any>;
3
+ import type { Context } from './types.local.js';
5
4
  /**
6
5
  * The profile id of an (account, app) — computed, never minted, the same on every row of the pair.
7
6
  *
@@ -45,5 +44,4 @@ export declare const ensureAccount: (ctx: Context, args: EnsureAccountArgs, deta
45
44
  * membership without it.
46
45
  */
47
46
  export declare const ensureProfile: (ctx: Context, args: EnsureProfileArgs) => Promise<IdentityProfile>;
48
- export {};
49
47
  //# sourceMappingURL=identity.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"identity.d.ts","sourceRoot":"","sources":["../src/identity.ts"],"names":[],"mappings":"AAEA,OAAO,KAAK,EAAE,YAAY,EAAE,MAAM,mBAAmB,CAAA;AAErD,OAAO,KAAK,EAAE,sBAAsB,EAAE,MAAM,gBAAgB,CAAA;AAK5D,OAAO,KAAK,EACV,iBAAiB,EAAE,cAAc,EAAE,iBAAiB,EAAE,eAAe,EACrE,mBAAmB,EAA+B,eAAe,EAElE,MAAM,YAAY,CAAA;AASnB,KAAK,OAAO,GAAG,YAAY,CAAC,GAAG,CAAC,CAAA;AAEhC;;;;;;;GAOG;AACH,eAAO,MAAM,WAAW,YAAa,MAAM,aAAa,MAAM,KAAG,MAE3B,CAAA;AAEtC;;;GAGG;AACH,eAAO,MAAM,eAAe,YAAa,sBAAsB,KAAG,IAAI,CAAC,mBAAmB,EAAE,MAAM,GAAG,QAAQ,GAAG,YAAY,CAI1H,CAAA;AAEF,iEAAiE;AACjE,eAAO,MAAM,cAAc,UAAW,MAAM,KAAG,MAAoC,CAAA;AAOnF,oFAAoF;AACpF,eAAO,MAAM,YAAY,QAClB,OAAO,WAAW,sBAAsB,KAC5C,OAAO,CAAC;IAAE,UAAU,EAAE,mBAAmB,CAAC;IAAC,OAAO,EAAE,eAAe,GAAG,IAAI,CAAA;CAAE,GAAG,IAAI,CAKrF,CAAA;AA0ED;;;;;;;;;;GAUG;AACH,eAAO,MAAM,aAAa,QACnB,OAAO,QAAQ,iBAAiB,YAAY,sBAAsB,KACtE,OAAO,CAAC,cAAc,CAwBxB,CAAA;AA8CD;;;;;;;;GAQG;AACH,eAAO,MAAM,aAAa,QAAe,OAAO,QAAQ,iBAAiB,KAAG,OAAO,CAAC,eAAe,CAWlG,CAAA"}
1
+ {"version":3,"file":"identity.d.ts","sourceRoot":"","sources":["../src/identity.ts"],"names":[],"mappings":"AAGA,OAAO,KAAK,EAAE,sBAAsB,EAAE,MAAM,gBAAgB,CAAA;AAI5D,OAAO,KAAK,EACV,iBAAiB,EAAE,cAAc,EAAE,iBAAiB,EAAE,eAAe,EACrE,mBAAmB,EAA+B,eAAe,EAElE,MAAM,YAAY,CAAA;AAQnB,OAAO,KAAK,EAAE,OAAO,EAAE,MAAM,kBAAkB,CAAA;AAE/C;;;;;;;GAOG;AACH,eAAO,MAAM,WAAW,YAAa,MAAM,aAAa,MAAM,KAAG,MAE3B,CAAA;AAEtC;;;GAGG;AACH,eAAO,MAAM,eAAe,YAAa,sBAAsB,KAAG,IAAI,CAAC,mBAAmB,EAAE,MAAM,GAAG,QAAQ,GAAG,YAAY,CAI1H,CAAA;AAEF,iEAAiE;AACjE,eAAO,MAAM,cAAc,UAAW,MAAM,KAAG,MAAoC,CAAA;AAOnF,oFAAoF;AACpF,eAAO,MAAM,YAAY,QAClB,OAAO,WAAW,sBAAsB,KAC5C,OAAO,CAAC;IAAE,UAAU,EAAE,mBAAmB,CAAC;IAAC,OAAO,EAAE,eAAe,GAAG,IAAI,CAAA;CAAE,GAAG,IAAI,CAKrF,CAAA;AA0ED;;;;;;;;;;GAUG;AACH,eAAO,MAAM,aAAa,QACnB,OAAO,QAAQ,iBAAiB,YAAY,sBAAsB,KACtE,OAAO,CAAC,cAAc,CAwBxB,CAAA;AA8CD;;;;;;;;GAQG;AACH,eAAO,MAAM,aAAa,QAAe,OAAO,QAAQ,iBAAiB,KAAG,OAAO,CAAC,eAAe,CAWlG,CAAA"}
@@ -1 +1 @@
1
- {"version":3,"file":"identity.js","sourceRoot":"","sources":["../src/identity.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"identity.js","sourceRoot":"","sources":["../src/identity.ts"],"names":[],"mappings":"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"}
@@ -1,3 +1,3 @@
1
- import type { EntityResolverService } from '@owlmeans/auth-common';
1
+ import { type EntityResolverService } from '@owlmeans/auth-common';
2
2
  export declare const makeEntityResolverService: (alias?: string) => EntityResolverService;
3
3
  //# sourceMappingURL=resolver.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"resolver.d.ts","sourceRoot":"","sources":["../src/resolver.ts"],"names":[],"mappings":"AAGA,OAAO,KAAK,EAAE,qBAAqB,EAAgB,MAAM,uBAAuB,CAAA;AAiChF,eAAO,MAAM,yBAAyB,WAC7B,MAAM,KACZ,qBA2JF,CAAA"}
1
+ {"version":3,"file":"resolver.d.ts","sourceRoot":"","sources":["../src/resolver.ts"],"names":[],"mappings":"AAEA,OAAO,EAAE,KAAK,qBAAqB,EAA2D,MAAM,uBAAuB,CAAA;AAiB3H,eAAO,MAAM,yBAAyB,WAC7B,MAAM,KACZ,qBA2JF,CAAA"}
package/build/resolver.js CHANGED
@@ -3,15 +3,7 @@ import { ENTITY_RESOLVER, ENTITY_SLUG_PATTERN } from '@owlmeans/auth-common';
3
3
  import { generateWordSlug, nextSlugCandidate } from '@owlmeans/basic-ids';
4
4
  import { AUTH_IDENTITY_ORG_ENTITY, MAX_ENTITY_SLUG_ATTEMPTS, MAX_GUARDED_UPDATE_ATTEMPTS } from './consts.js';
5
5
  import { idFilter, isDuplicateKey } from './native.js';
6
- /**
7
- * How long a resolution is trusted without re-reading the registry.
8
- *
9
- * Every authenticated request resolves an entity, so an uncached resolver would put a database
10
- * round-trip in front of the whole API. The cost of the cache is a rename taking up to this long
11
- * to be seen by other replicas — which is survivable precisely because the old slug keeps
12
- * resolving through `formerSlugs` rather than failing.
13
- */
14
- const CACHE_TTL = 30_000;
6
+ import { CACHE_TTL } from './consts.local.js';
15
7
  /**
16
8
  * A stored record as the contract exposes it. Persisted records always carry an id. The cache keeps
17
9
  * only this: the record itself carries groups and minted names nobody resolving a request needs.
@@ -1 +1 @@
1
- {"version":3,"file":"resolver.js","sourceRoot":"","sources":["../src/resolver.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"resolver.js","sourceRoot":"","sources":["../src/resolver.ts"],"names":[],"mappings":"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"}
@@ -1 +1 @@
1
- {"version":3,"file":"service.d.ts","sourceRoot":"","sources":["../src/service.ts"],"names":[],"mappings":"AAMA,OAAO,KAAK,EACkF,sBAAsB,EAClH,wBAAwB,EACzB,MAAM,YAAY,CAAA;AAYnB;;;GAGG;AACH,eAAO,MAAM,0BAA0B,UAAU,wBAAwB,KAAQ,sBAqJhF,CAAA"}
1
+ {"version":3,"file":"service.d.ts","sourceRoot":"","sources":["../src/service.ts"],"names":[],"mappings":"AAIA,OAAO,KAAK,EAA8F,sBAAsB,EAAE,wBAAwB,EAAwC,MAAM,YAAY,CAAA;AAYpN;;;GAGG;AACH,eAAO,MAAM,0BAA0B,UAAU,wBAAwB,KAAQ,sBAwJhF,CAAA"}
package/build/service.js CHANGED
@@ -4,6 +4,8 @@ import { ENTITY_RESOLVER } from '@owlmeans/auth-common';
4
4
  import { AUTH_IDENTITY_ACCOUNT, AUTH_IDENTITY_PROFILE, AUTH_IDENTITY_CREDENTIALS, AUTH_IDENTITY_LINKING, DEFAULT_APP_SERVICE, } from './consts.js';
5
5
  import { identityEvents } from './events.js';
6
6
  import { credentialKeyOf, credentialOf, ensureAccount, ensureProfile, profileIdOf } from './identity.js';
7
+ import { logger } from '@owlmeans/log';
8
+ const log = logger('server-auth-identity');
7
9
  /**
8
10
  * The deployment's own sign-in over the identity store: every payload names the row of THIS
9
11
  * deployment's app (`opts.service`) in the account's main organization.
@@ -84,6 +86,9 @@ export const makeIdentityLinkingService = (opts = {}) => {
84
86
  }
85
87
  const linked = (await credentialOf(ctx, details))?.account;
86
88
  if (linked != null && linked.id !== account.id) {
89
+ log.warn('Credential link refused: the method signs into another account', {
90
+ method: details.type, service: details.service, accountId: account.id, reason: 'linked-elsewhere',
91
+ }, { event: 'auth.refused' });
87
92
  throw new Error('Cannot link credentials: the method signs into another account');
88
93
  }
89
94
  // By the account's own address, so the method is attached to exactly this account.
@@ -1 +1 @@
1
- {"version":3,"file":"service.js","sourceRoot":"","sources":["../src/service.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,gBAAgB,EAAE,MAAM,mBAAmB,CAAA;AAGpD,OAAO,EAAE,UAAU,EAAE,MAAM,gBAAgB,CAAA;AAS3C,OAAO,EAAE,eAAe,EAAE,MAAM,uBAAuB,CAAA;AACvD,OAAO,EACL,qBAAqB,EAAE,qBAAqB,EAAE,yBAAyB,EAAE,qBAAqB,EAAE,mBAAmB,GACpH,MAAM,aAAa,CAAA;AACpB,OAAO,EAAE,cAAc,EAAE,MAAM,aAAa,CAAA;AAC5C,OAAO,EAAE,eAAe,EAAE,YAAY,EAAE,aAAa,EAAE,aAAa,EAAE,WAAW,EAAE,MAAM,eAAe,CAAA;AAIxG;;;GAGG;AACH,MAAM,CAAC,MAAM,0BAA0B,GAAG,CAAC,IAAI,GAA6B,EAAE,EAA0B,EAAE;IACxG,MAAM,GAAG,GAAG,IAAI,CAAC,OAAO,IAAI,mBAAmB,CAAA;IAE/C;;;;;;OAMG;IACH,MAAM,MAAM,GAAG,KAAK,EAAE,QAAgB,EAA+B,EAAE;QACrE,MAAM,GAAG,GAAG,OAAO,CAAC,GAAc,CAAA;QAClC,MAAM,MAAM,GAAG,MAAM,GAAG,CAAC,OAAO,CAAwB,eAAe,CAAC,CAAC,IAAI,CAAC,QAAQ,CAAC,CAAA;QAEvF,OAAO,MAAM,EAAE,IAAI,CAAA;IACrB,CAAC,CAAA;IAED,MAAM,SAAS,GAAG,KAAK,EAAE,IAAY,EAAE,OAAwB,EAAwB,EAAE,CAAC,CAAC;QACzF,IAAI;QACJ,IAAI,EAAE,OAAO,CAAC,IAAI;QAClB,MAAM,EAAE,OAAO,CAAC,MAAM;QACtB,SAAS,EAAE,OAAO,CAAC,SAAS;QAC5B,UAAU,EAAE,MAAM,MAAM,CAAC,OAAO,CAAC,QAAQ,CAAC;QAC1C,MAAM,EAAE,OAAO,CAAC,MAAM;KACvB,CAAC,CAAA;IAEF,MAAM,OAAO,GAA2B,gBAAgB,CAAyB,qBAAqB,EAAE;QACtG,gBAAgB,EAAE,KAAK,EAAE,OAA+B,EAA+B,EAAE;YACvF,MAAM,GAAG,GAAG,OAAO,CAAC,GAAc,CAAA;YAClC,MAAM,OAAO,GAAG,CAAC,MAAM,YAAY,CAAC,GAAG,EAAE,OAAO,CAAC,CAAC,EAAE,OAAO,CAAA;YAC3D,IAAI,OAAO,IAAI,IAAI;gBAAE,OAAO,IAAI,CAAA;YAEhC,4FAA4F;YAC5F,mFAAmF;YACnF,MAAM,OAAO,GAAG,MAAM,GAAG,CAAC,QAAQ,CAA0B,qBAAqB,CAAC,CAAC,IAAI,CAAC;gBACtF,SAAS,EAAE,WAAW,CAAC,GAAG,EAAE,OAAO,CAAC,EAAE,CAAC,EAAE,QAAQ,EAAE,OAAO,CAAC,QAAQ;aACpE,CAAC,CAAA;YAEF,OAAO,OAAO,IAAI,IAAI,CAAC,CAAC,CAAC,MAAM,SAAS,CAAC,OAAO,CAAC,IAAI,EAAE,OAAO,CAAC,CAAC,CAAC,CAAC,IAAI,CAAA;QACxE,CAAC;QAED,WAAW,EAAE,KAAK,EAAE,OAA+B,EAAE,IAAiB,EAAwB,EAAE;YAC9F,MAAM,GAAG,GAAG,OAAO,CAAC,GAAc,CAAA;YAClC,MAAM,EAAE,OAAO,EAAE,UAAU,EAAE,GAAG,MAAM,aAAa,CAAC,GAAG,EAAE;gBACvD,KAAK,EAAE,IAAI,CAAC,QAAQ,EAAE,GAAG,CAAC,OAAO,CAAC,QAAQ,IAAI,IAAI,CAAC,CAAC,CAAC,EAAE,IAAI,EAAE,OAAO,CAAC,QAAQ,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC;aACtF,EAAE,OAAO,CAAC,CAAA;YACX,4FAA4F;YAC5F,mCAAmC;YACnC,MAAM,OAAO,GAAG,MAAM,aAAa,CAAC,GAAG,EAAE;gBACvC,OAAO,EAAE,OAAO,EAAE,GAAG,EAAE,QAAQ,EAAE,OAAO,CAAC,QAAQ,EAAE,KAAK,EAAE,IAAI,EAAE,MAAM,EAAE,CAAC,UAAU,CAAC;aACrF,CAAC,CAAA;YAEF,0FAA0F;YAC1F,iEAAiE;YACjE,IAAI,UAAU,IAAI,IAAI,EAAE,CAAC;gBACvB,MAAM,cAAc,CAAC,GAAG,CAAC,EAAE,sBAAsB,CAAC;oBAChD,QAAQ,EAAE,UAAU,CAAC,EAAG;oBACxB,UAAU,EAAE,UAAU,CAAC,IAAI;oBAC3B,MAAM,EAAE,UAAU,CAAC,MAAM;oBACzB,SAAS,EAAE,OAAO,CAAC,EAAE;oBACrB,SAAS,EAAE,OAAO,CAAC,SAAS;oBAC5B,QAAQ,EAAE,OAAO,CAAC,KAAK;oBACvB,IAAI,EAAE,OAAO,CAAC,IAAI;oBAClB,OAAO,EAAE,OAAO,CAAC,OAAO;oBACxB,cAAc,EAAE,GAAG;oBACnB,SAAS,EAAE,UAAU,CAAC,SAAS;iBAChC,CAAC,CAAA;YACJ,CAAC;YAED,OAAO,MAAM,SAAS,CAAC,OAAO,CAAC,IAAI,EAAE,OAAO,CAAC,CAAA;QAC/C,CAAC;QAED,eAAe,EAAE,KAAK,EAAE,OAA+B,EAAwB,EAAE;YAC/E,MAAM,GAAG,GAAG,OAAO,CAAC,GAAc,CAAA;YAClC,IAAI,OAAO,CAAC,SAAS,IAAI,IAAI,EAAE,CAAC;gBAC9B,MAAM,GAAG,GAAG,MAAM,GAAG,CAAC,QAAQ,CAA0B,qBAAqB,CAAC;qBAC3E,IAAI,CAAC,EAAE,SAAS,EAAE,OAAO,CAAC,SAAS,EAAE,CAAC,CAAA;gBACzC,MAAM,OAAO,GAAG,GAAG,IAAI,IAAI;oBACzB,CAAC,CAAC,MAAM,GAAG,CAAC,QAAQ,CAA0B,qBAAqB,CAAC,CAAC,IAAI,CAAC,GAAG,CAAC,MAAM,CAAC;oBACrF,CAAC,CAAC,IAAI,CAAA;gBACR,IAAI,OAAO,IAAI,IAAI,EAAE,CAAC;oBACpB,MAAM,IAAI,KAAK,CAAC,4CAA4C,CAAC,CAAA;gBAC/D,CAAC;gBACD,MAAM,MAAM,GAAG,CAAC,MAAM,YAAY,CAAC,GAAG,EAAE,OAAO,CAAC,CAAC,EAAE,OAAO,CAAA;gBAC1D,IAAI,MAAM,IAAI,IAAI,IAAI,MAAM,CAAC,EAAE,KAAK,OAAO,CAAC,EAAE,EAAE,CAAC;oBAC/C,MAAM,IAAI,KAAK,CAAC,gEAAgE,CAAC,CAAA;gBACnF,CAAC;gBACD,mFAAmF;gBACnF,MAAM,aAAa,CAAC,GAAG,EAAE,EAAE,KAAK,EAAE,OAAO,CAAC,KAAK,EAAE,EAAE,OAAO,CAAC,CAAA;YAC7D,CAAC;YAED,MAAM,MAAM,GAAG,MAAM,OAAO,CAAC,gBAAgB,CAAC,OAAO,CAAC,CAAA;YACtD,IAAI,MAAM,IAAI,IAAI,EAAE,CAAC;gBACnB,MAAM,IAAI,KAAK,CAAC,4CAA4C,CAAC,CAAA;YAC/D,CAAC;YAED,OAAO,MAAM,CAAA;QACf,CAAC;QAED,iBAAiB,EAAE,KAAK,EAAE,OAA+B,EAAiB,EAAE;YAC1E,MAAM,GAAG,GAAG,OAAO,CAAC,GAAc,CAAA;YAClC,MAAM,aAAa,GAAG,GAAG,CAAC,QAAQ,CAA8B,yBAAyB,CAAC,CAAA;YAC1F,MAAM,IAAI,GAAG,MAAM,aAAa,CAAC,IAAI,CAAC,eAAe,CAAC,OAAO,CAAC,CAAC,CAAA;YAC/D,IAAI,IAAI,EAAE,EAAE,IAAI,IAAI;gBAAE,OAAM;YAC5B,MAAM,aAAa,CAAC,MAAM,CAAC,IAAI,CAAC,EAAE,CAAC,CAAA;QACrC,CAAC;QAED,gBAAgB,EAAE,KAAK,EAAE,QAAgB,EAAsB,EAAE;YAC/D,MAAM,GAAG,GAAG,OAAO,CAAC,GAAc,CAAA;YAClC,MAAM,EAAE,KAAK,EAAE,QAAQ,EAAE,GAAG,MAAM,GAAG,CAAC,QAAQ,CAA0B,qBAAqB,CAAC;iBAC3F,IAAI,CAAC,EAAE,QAAQ,EAAE,OAAO,EAAE,GAAG,EAAE,EAAE,EAAE,IAAI,EAAE,CAAC,EAAE,CAAC,CAAA;YAChD,MAAM,UAAU,GAAG,MAAM,MAAM,CAAC,QAAQ,CAAC,CAAA;YAEzC,OAAO,QAAQ,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC;gBACxB,EAAE,EAAE,CAAC,CAAC,SAAS;gBACf,IAAI,EAAE,CAAC,CAAC,IAAI;gBACZ,UAAU;gBACV,MAAM,EAAE,CAAC,CAAC,MAAM;gBAChB,MAAM,EAAE,CAAC,CAAC,MAAM;gBAChB,WAAW,EAAE,CAAC,CAAC,WAAW;gBAC1B,UAAU,EAAE,CAAC,CAAC,UAAU;aACzB,CAAC,CAAC,CAAA;QACL,CAAC;QAED,mBAAmB,EAAE,KAAK,EAAE,MAAc,EAAE,QAAiB,EAAE,IAAa,EAAwC,EAAE;YACpH,MAAM,GAAG,GAAG,OAAO,CAAC,GAAc,CAAA;YAClC,MAAM,OAAO,GAAG,MAAM,GAAG,CAAC,QAAQ,CAA0B,qBAAqB,CAAC,CAAC,IAAI,CAAC,MAAM,CAAC,CAAA;YAC/F,IAAI,OAAO,IAAI,IAAI;gBAAE,OAAO,SAAS,CAAA;YAErC,MAAM,OAAO,GAAG,MAAM,GAAG,CAAC,QAAQ,CAA0B,qBAAqB,CAAC,CAAC,IAAI,CAAC;gBACtF,SAAS,EAAE,WAAW,CAAC,GAAG,EAAE,OAAO,CAAC,EAAE,CAAC,EAAE,QAAQ,EAAE,QAAQ,IAAI,OAAO,CAAC,QAAQ;aAChF,CAAC,CAAA;YACF,IAAI,OAAO,IAAI,IAAI;gBAAE,OAAO,SAAS,CAAA;YAErC,MAAM,WAAW,GAAkC,EAAE,SAAS,EAAE,OAAO,CAAC,EAAE,EAAE,CAAA;YAC5E,IAAI,IAAI,IAAI,IAAI;gBAAE,WAAW,CAAC,IAAI,GAAG,IAAI,CAAA;YACzC,MAAM,IAAI,GAAG,MAAM,GAAG,CAAC,QAAQ,CAA8B,yBAAyB,CAAC,CAAC,IAAI,CAAC,WAAW,CAAC,CAAA;YACzG,IAAI,IAAI,IAAI,IAAI;gBAAE,OAAO,SAAS,CAAA;YAElC,OAAO;gBACL,GAAG,MAAM,SAAS,CAAC,IAAI,CAAC,IAAI,EAAE,OAAO,CAAC;gBACtC,SAAS,EAAE,IAAI,CAAC,SAAS;gBACzB,UAAU,EAAE,IAAI,CAAC,UAAU;gBAC3B,SAAS,EAAE,IAAI,CAAC,SAAS;aAC1B,CAAA;QACH,CAAC;KACF,CAAC,CAAA;IAEF,OAAO,OAAO,CAAA;AAChB,CAAC,CAAA"}
1
+ {"version":3,"file":"service.js","sourceRoot":"","sources":["../src/service.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,11 @@
1
+ import type { BasicContext } from '@owlmeans/context';
2
+ import type { ServerConfig, ServerContext } from '@owlmeans/server-context';
3
+ import type { OrgEntityRef } from '@owlmeans/auth-common';
4
+ export type Context = BasicContext<any>;
5
+ export type ResolverContext = ServerContext<ServerConfig>;
6
+ export interface CacheEntry {
7
+ entity: OrgEntityRef | null;
8
+ at: number;
9
+ }
10
+ export type ServiceContext = ServerContext<ServerConfig>;
11
+ //# sourceMappingURL=types.local.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"types.local.d.ts","sourceRoot":"","sources":["../src/types.local.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,YAAY,EAAE,MAAM,mBAAmB,CAAA;AACrD,OAAO,KAAK,EAAE,YAAY,EAAE,aAAa,EAAE,MAAM,0BAA0B,CAAA;AAC3E,OAAO,KAAK,EAAE,YAAY,EAAE,MAAM,uBAAuB,CAAA;AAEzD,MAAM,MAAM,OAAO,GAAG,YAAY,CAAC,GAAG,CAAC,CAAA;AAEvC,MAAM,MAAM,eAAe,GAAG,aAAa,CAAC,YAAY,CAAC,CAAA;AAEzD,MAAM,WAAW,UAAU;IACzB,MAAM,EAAE,YAAY,GAAG,IAAI,CAAA;IAC3B,EAAE,EAAE,MAAM,CAAA;CACX;AAED,MAAM,MAAM,cAAc,GAAG,aAAa,CAAC,YAAY,CAAC,CAAA"}
@@ -0,0 +1,2 @@
1
+ export {};
2
+ //# sourceMappingURL=types.local.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"types.local.js","sourceRoot":"","sources":["../src/types.local.ts"],"names":[],"mappings":""}
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@owlmeans/server-auth-identity",
3
- "version": "0.1.18-rc.44",
3
+ "version": "0.1.18-rc.46",
4
4
  "license": "MIT",
5
5
  "type": "module",
6
6
  "scripts": {
@@ -22,22 +22,23 @@
22
22
  }
23
23
  },
24
24
  "dependencies": {
25
- "@owlmeans/auth": "^0.1.18-rc.38",
26
- "@owlmeans/auth-common": "^0.1.18-rc.44",
27
- "@owlmeans/basic-ids": "^0.1.18-rc.34",
28
- "@owlmeans/context": "^0.1.18-rc.32",
29
- "@owlmeans/mongo-resource": "^0.1.18-rc.40",
30
- "@owlmeans/oidc": "^0.1.18-rc.52",
31
- "@owlmeans/resource": "^0.1.18-rc.37",
32
- "@owlmeans/server-context": "^0.1.18-rc.40",
33
- "@scure/base": "^2.3.0"
25
+ "@owlmeans/auth": "^0.1.18-rc.39",
26
+ "@owlmeans/auth-common": "^0.1.18-rc.46",
27
+ "@owlmeans/basic-ids": "^0.1.18-rc.36",
28
+ "@owlmeans/context": "^0.1.18-rc.33",
29
+ "@owlmeans/log": "^0.1.18-rc.1",
30
+ "@owlmeans/mongo-resource": "^0.1.18-rc.42",
31
+ "@owlmeans/oidc": "^0.1.18-rc.54",
32
+ "@owlmeans/resource": "^0.1.18-rc.39",
33
+ "@owlmeans/server-context": "^0.1.18-rc.42",
34
+ "@scure/base": "^2.4.0"
34
35
  },
35
36
  "peerDependencies": {
36
37
  "mongodb": "*"
37
38
  },
38
39
  "devDependencies": {
39
40
  "@owlmeans/dep-config": "workspace:*",
40
- "@types/bun": "^1.4.0",
41
+ "@types/bun": "^1.4.2",
41
42
  "nodemon": "^3.1.14",
42
43
  "typescript": "^7.0.2"
43
44
  },
@@ -0,0 +1,9 @@
1
+ /**
2
+ * How long a resolution is trusted without re-reading the registry.
3
+ *
4
+ * Every authenticated request resolves an entity, so an uncached resolver would put a database
5
+ * round-trip in front of the whole API. The cost of the cache is a rename taking up to this long
6
+ * to be seen by other replicas — which is survivable precisely because the old slug keeps
7
+ * resolving through `formerSlugs` rather than failing.
8
+ */
9
+ export const CACHE_TTL = 30_000
package/src/events.ts CHANGED
@@ -4,6 +4,9 @@ import { AUTH_IDENTITY_EVENTS } from './consts.js'
4
4
  import type {
5
5
  EntityCreatedCallback, IdentityContext, IdentityEventsService, ProfileCreatedCallback,
6
6
  } from './types.js'
7
+ import { logger } from '@owlmeans/log'
8
+
9
+ const log = logger('server-auth-identity')
7
10
 
8
11
  export const makeIdentityEventsService = (
9
12
  alias: string = AUTH_IDENTITY_EVENTS
@@ -22,7 +25,7 @@ export const makeIdentityEventsService = (
22
25
  try {
23
26
  await callback(event, service.assertCtx<IdentityContext['cfg'], IdentityContext>())
24
27
  } catch (error) {
25
- console.error(`${alias}: ${what} listener failed`, error)
28
+ log.error('Identity event listener failed', { alias, listener: what, error })
26
29
  }
27
30
  }
28
31
  }
package/src/groups.ts CHANGED
@@ -1,11 +1,9 @@
1
- import type { BasicContext } from '@owlmeans/context'
2
1
  import { UnknownRecordError } from '@owlmeans/resource'
3
2
  import type { Document } from 'mongodb'
4
3
  import type { OrgEntityResource, OrgGroup } from './types.js'
5
4
  import { AUTH_IDENTITY_ORG_ENTITY, MAX_GUARDED_UPDATE_ATTEMPTS } from './consts.js'
6
5
  import { idFilter } from './native.js'
7
-
8
- type Context = BasicContext<any>
6
+ import type { Context } from './types.local.js'
9
7
 
10
8
  const entities = (ctx: Context) => ctx.resource<OrgEntityResource>(AUTH_IDENTITY_ORG_ENTITY)
11
9
 
package/src/identity.ts CHANGED
@@ -1,12 +1,10 @@
1
1
  import { createHash } from 'node:crypto'
2
2
  import { base58 } from '@scure/base'
3
- import type { BasicContext } from '@owlmeans/context'
4
3
  import { AuthRole } from '@owlmeans/auth'
5
4
  import type { ProviderProfileDetails } from '@owlmeans/oidc'
6
5
  import { createIdOfLength, IdStyle } from '@owlmeans/basic-ids'
7
6
  import { UnknownRecordError } from '@owlmeans/resource'
8
- import type { EntityResolverService } from '@owlmeans/auth-common'
9
- import { ENTITY_RESOLVER } from '@owlmeans/auth-common'
7
+ import { type EntityResolverService, ENTITY_RESOLVER } from '@owlmeans/auth-common'
10
8
  import type {
11
9
  EnsureAccountArgs, EnsuredAccount, EnsureProfileArgs, IdentityAccount, IdentityAccountResource,
12
10
  IdentityCredentials, IdentityCredentialsResource, IdentityProfile, IdentityProfileResource, OrgEntity,
@@ -19,8 +17,7 @@ import {
19
17
  } from './consts.js'
20
18
  import { identityEvents } from './events.js'
21
19
  import { isDuplicateKey } from './native.js'
22
-
23
- type Context = BasicContext<any>
20
+ import type { Context } from './types.local.js'
24
21
 
25
22
  /**
26
23
  * The profile id of an (account, app) — computed, never minted, the same on every row of the pair.
package/src/resolver.ts CHANGED
@@ -1,24 +1,12 @@
1
1
  import { appendContextual } from '@owlmeans/context'
2
- import type { ServerConfig, ServerContext } from '@owlmeans/server-context'
3
2
  import type { Criteria } from '@owlmeans/resource'
4
- import type { EntityResolverService, OrgEntityRef } from '@owlmeans/auth-common'
5
- import { ENTITY_RESOLVER, ENTITY_SLUG_PATTERN } from '@owlmeans/auth-common'
3
+ import { type EntityResolverService, type OrgEntityRef, ENTITY_RESOLVER, ENTITY_SLUG_PATTERN } from '@owlmeans/auth-common'
6
4
  import { generateWordSlug, nextSlugCandidate } from '@owlmeans/basic-ids'
7
5
  import type { OrgEntity, OrgEntityResource } from './types.js'
8
6
  import { AUTH_IDENTITY_ORG_ENTITY, MAX_ENTITY_SLUG_ATTEMPTS, MAX_GUARDED_UPDATE_ATTEMPTS } from './consts.js'
9
7
  import { idFilter, isDuplicateKey } from './native.js'
10
-
11
- type Context = ServerContext<ServerConfig>
12
-
13
- /**
14
- * How long a resolution is trusted without re-reading the registry.
15
- *
16
- * Every authenticated request resolves an entity, so an uncached resolver would put a database
17
- * round-trip in front of the whole API. The cost of the cache is a rename taking up to this long
18
- * to be seen by other replicas — which is survivable precisely because the old slug keeps
19
- * resolving through `formerSlugs` rather than failing.
20
- */
21
- const CACHE_TTL = 30_000
8
+ import { CACHE_TTL } from './consts.local.js'
9
+ import type { CacheEntry, ResolverContext } from './types.local.js'
22
10
 
23
11
  /**
24
12
  * A stored record as the contract exposes it. Persisted records always carry an id. The cache keeps
@@ -29,11 +17,6 @@ const toRef = (entity: OrgEntity | null): OrgEntityRef | null =>
29
17
  id: entity.id!, slug: entity.slug, formerSlugs: entity.formerSlugs, iamKey: entity.iamKey,
30
18
  }
31
19
 
32
- interface CacheEntry {
33
- entity: OrgEntityRef | null
34
- at: number
35
- }
36
-
37
20
  export const makeEntityResolverService = (
38
21
  alias: string = ENTITY_RESOLVER
39
22
  ): EntityResolverService => {
@@ -64,7 +47,7 @@ export const makeEntityResolverService = (
64
47
  }
65
48
 
66
49
  const resource = (): OrgEntityResource =>
67
- (service.ctx as Context).resource<OrgEntityResource>(AUTH_IDENTITY_ORG_ENTITY)
50
+ (service.ctx as ResolverContext).resource<OrgEntityResource>(AUTH_IDENTITY_ORG_ENTITY)
68
51
 
69
52
  const load = async (value: string): Promise<OrgEntityRef | null> => {
70
53
  const cached = cache.get(value)
package/src/service.ts CHANGED
@@ -1,23 +1,18 @@
1
1
  import { appendContextual } from '@owlmeans/context'
2
- import type { ServerConfig, ServerContext } from '@owlmeans/server-context'
3
- import type { AuthCredentials, AuthPayload, Profile } from '@owlmeans/auth'
4
- import { ALL_SCOPES } from '@owlmeans/auth'
2
+ import { type AuthCredentials, type AuthPayload, type Profile, ALL_SCOPES } from '@owlmeans/auth'
5
3
  import type { ProviderProfileDetails } from '@owlmeans/oidc'
6
4
  import type { Criteria } from '@owlmeans/resource'
7
- import type {
8
- AccountMeta, IdentityAccountResource, IdentityProfileResource, IdentityCredentialsResource, IdentityLinkingService,
9
- IdentityResourcesOptions,
10
- } from './types.js'
11
- import type { IdentityCredentials, IdentityProfile } from './types.js'
12
- import type { EntityResolverService } from '@owlmeans/auth-common'
13
- import { ENTITY_RESOLVER } from '@owlmeans/auth-common'
5
+ import type { AccountMeta, IdentityAccountResource, IdentityProfileResource, IdentityCredentialsResource, IdentityLinkingService, IdentityResourcesOptions, IdentityCredentials, IdentityProfile } from './types.js'
6
+ import { type EntityResolverService, ENTITY_RESOLVER } from '@owlmeans/auth-common'
14
7
  import {
15
8
  AUTH_IDENTITY_ACCOUNT, AUTH_IDENTITY_PROFILE, AUTH_IDENTITY_CREDENTIALS, AUTH_IDENTITY_LINKING, DEFAULT_APP_SERVICE,
16
9
  } from './consts.js'
17
10
  import { identityEvents } from './events.js'
18
11
  import { credentialKeyOf, credentialOf, ensureAccount, ensureProfile, profileIdOf } from './identity.js'
12
+ import { logger } from '@owlmeans/log'
13
+ import type { ServiceContext } from './types.local.js'
19
14
 
20
- type Context = ServerContext<ServerConfig>
15
+ const log = logger('server-auth-identity')
21
16
 
22
17
  /**
23
18
  * The deployment's own sign-in over the identity store: every payload names the row of THIS
@@ -34,7 +29,7 @@ export const makeIdentityLinkingService = (opts: IdentityResourcesOptions = {}):
34
29
  * id onto the wire, where a consumer would mistake it for a slug and compose names from it.
35
30
  */
36
31
  const slugOf = async (entityId: string): Promise<string | undefined> => {
37
- const ctx = service.ctx as Context
32
+ const ctx = service.ctx as ServiceContext
38
33
  const entity = await ctx.service<EntityResolverService>(ENTITY_RESOLVER).byId(entityId)
39
34
 
40
35
  return entity?.slug
@@ -51,7 +46,7 @@ export const makeIdentityLinkingService = (opts: IdentityResourcesOptions = {}):
51
46
 
52
47
  const service: IdentityLinkingService = appendContextual<IdentityLinkingService>(AUTH_IDENTITY_LINKING, {
53
48
  getLinkedProfile: async (details: ProviderProfileDetails): Promise<AuthPayload | null> => {
54
- const ctx = service.ctx as Context
49
+ const ctx = service.ctx as ServiceContext
55
50
  const account = (await credentialOf(ctx, details))?.account
56
51
  if (account == null) return null
57
52
 
@@ -65,7 +60,7 @@ export const makeIdentityLinkingService = (opts: IdentityResourcesOptions = {}):
65
60
  },
66
61
 
67
62
  linkProfile: async (details: ProviderProfileDetails, meta: AccountMeta): Promise<AuthPayload> => {
68
- const ctx = service.ctx as Context
63
+ const ctx = service.ctx as ServiceContext
69
64
  const { account, registered } = await ensureAccount(ctx, {
70
65
  email: meta.username, ...(details.username != null ? { name: details.username } : {}),
71
66
  }, details)
@@ -96,7 +91,7 @@ export const makeIdentityLinkingService = (opts: IdentityResourcesOptions = {}):
96
91
  },
97
92
 
98
93
  linkCredentials: async (details: ProviderProfileDetails): Promise<AuthPayload> => {
99
- const ctx = service.ctx as Context
94
+ const ctx = service.ctx as ServiceContext
100
95
  if (details.profileId != null) {
101
96
  const row = await ctx.resource<IdentityProfileResource>(AUTH_IDENTITY_PROFILE)
102
97
  .load({ profileId: details.profileId })
@@ -108,6 +103,9 @@ export const makeIdentityLinkingService = (opts: IdentityResourcesOptions = {}):
108
103
  }
109
104
  const linked = (await credentialOf(ctx, details))?.account
110
105
  if (linked != null && linked.id !== account.id) {
106
+ log.warn('Credential link refused: the method signs into another account', {
107
+ method: details.type, service: details.service, accountId: account.id, reason: 'linked-elsewhere',
108
+ }, { event: 'auth.refused' })
111
109
  throw new Error('Cannot link credentials: the method signs into another account')
112
110
  }
113
111
  // By the account's own address, so the method is attached to exactly this account.
@@ -123,7 +121,7 @@ export const makeIdentityLinkingService = (opts: IdentityResourcesOptions = {}):
123
121
  },
124
122
 
125
123
  unlinkCredentials: async (details: ProviderProfileDetails): Promise<void> => {
126
- const ctx = service.ctx as Context
124
+ const ctx = service.ctx as ServiceContext
127
125
  const credsResource = ctx.resource<IdentityCredentialsResource>(AUTH_IDENTITY_CREDENTIALS)
128
126
  const cred = await credsResource.load(credentialKeyOf(details))
129
127
  if (cred?.id == null) return
@@ -131,7 +129,7 @@ export const makeIdentityLinkingService = (opts: IdentityResourcesOptions = {}):
131
129
  },
132
130
 
133
131
  getOwnerProfiles: async (entityId: string): Promise<Profile[]> => {
134
- const ctx = service.ctx as Context
132
+ const ctx = service.ctx as ServiceContext
135
133
  const { items: profiles } = await ctx.resource<IdentityProfileResource>(AUTH_IDENTITY_PROFILE)
136
134
  .list({ entityId, service: app }, { size: 0 })
137
135
  const entitySlug = await slugOf(entityId)
@@ -148,7 +146,7 @@ export const makeIdentityLinkingService = (opts: IdentityResourcesOptions = {}):
148
146
  },
149
147
 
150
148
  getOwnerCredentials: async (userId: string, entityId?: string, type?: string): Promise<AuthCredentials | undefined> => {
151
- const ctx = service.ctx as Context
149
+ const ctx = service.ctx as ServiceContext
152
150
  const account = await ctx.resource<IdentityAccountResource>(AUTH_IDENTITY_ACCOUNT).load(userId)
153
151
  if (account == null) return undefined
154
152
 
@@ -0,0 +1,14 @@
1
+ import type { BasicContext } from '@owlmeans/context'
2
+ import type { ServerConfig, ServerContext } from '@owlmeans/server-context'
3
+ import type { OrgEntityRef } from '@owlmeans/auth-common'
4
+
5
+ export type Context = BasicContext<any>
6
+
7
+ export type ResolverContext = ServerContext<ServerConfig>
8
+
9
+ export interface CacheEntry {
10
+ entity: OrgEntityRef | null
11
+ at: number
12
+ }
13
+
14
+ export type ServiceContext = ServerContext<ServerConfig>
@@ -1,4 +1,5 @@
1
1
  import { describe, expect, test } from 'bun:test'
2
+ import { addLogPlugin, memoryPlugin, removeLogPlugin } from '@owlmeans/log'
2
3
  import { AuthenticationType } from '@owlmeans/auth'
3
4
  import { makeServerContext, config as serverConfig } from '@owlmeans/server-context'
4
5
  import type { ServerConfig } from '@owlmeans/server-context'
@@ -63,16 +64,19 @@ describe('identity events', () => {
63
64
  events.onEntityCreated(async event => { reached.push(event.entityId) })
64
65
  events.onProfileCreated(async () => { throw new Error('plans are down') })
65
66
  events.onProfileCreated(async event => { reached.push(event.profileId) })
66
- const quiet = console.error
67
- console.error = () => undefined
67
+ const memory = memoryPlugin('identity-events')
68
+ addLogPlugin(memory)
68
69
 
69
70
  try {
70
71
  const payload = await linking.linkProfile(details('google-oauth', 'google-sub'), { username: 'person@example.org' })
71
72
 
72
73
  expect(payload.profileId).toStartWith('app:')
73
74
  expect(reached).toHaveLength(2)
75
+ // Each failed listener is logged, with its error, rather than failing the sign-in.
76
+ const failed = memory.records.filter(record => record.level === 'error' && record.scope === 'server-auth-identity')
77
+ expect(failed.map(record => record.error?.message).sort()).toEqual(['plans are down', 'provisioning is down'])
74
78
  } finally {
75
- console.error = quiet
79
+ removeLogPlugin('identity-events')
76
80
  }
77
81
  })
78
82