@datalayer/personal-agent-protocol 0.3.0 → 0.3.2

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.
Files changed (65) hide show
  1. package/LICENSE +29 -0
  2. package/README.md +300 -19
  3. package/lib/auth.d.ts +35 -1
  4. package/lib/auth.d.ts.map +1 -1
  5. package/lib/auth.js +230 -2
  6. package/lib/auth.js.map +1 -1
  7. package/lib/browser-server.d.ts +26 -0
  8. package/lib/browser-server.d.ts.map +1 -0
  9. package/lib/browser-server.js +61 -0
  10. package/lib/browser-server.js.map +1 -0
  11. package/lib/browser.d.ts +43 -0
  12. package/lib/browser.d.ts.map +1 -0
  13. package/lib/browser.js +103 -0
  14. package/lib/browser.js.map +1 -0
  15. package/lib/chunk-TU6B5MQ7.js +4863 -0
  16. package/lib/chunk-TU6B5MQ7.js.map +7 -0
  17. package/lib/conversations.d.ts +48 -0
  18. package/lib/conversations.d.ts.map +1 -0
  19. package/lib/conversations.js +240 -0
  20. package/lib/conversations.js.map +1 -0
  21. package/lib/crypto.d.ts +1 -1
  22. package/lib/crypto.d.ts.map +1 -1
  23. package/lib/crypto.js +2 -3
  24. package/lib/crypto.js.map +1 -1
  25. package/lib/discovery.d.ts +1 -0
  26. package/lib/discovery.d.ts.map +1 -1
  27. package/lib/discovery.js +4 -3
  28. package/lib/discovery.js.map +1 -1
  29. package/lib/errors.d.ts +23 -0
  30. package/lib/errors.d.ts.map +1 -1
  31. package/lib/errors.js +24 -0
  32. package/lib/errors.js.map +1 -1
  33. package/lib/identity.d.ts +19 -0
  34. package/lib/identity.d.ts.map +1 -0
  35. package/lib/identity.js +111 -0
  36. package/lib/identity.js.map +1 -0
  37. package/lib/index.d.ts +11 -6
  38. package/lib/index.d.ts.map +1 -1
  39. package/lib/index.js +79 -3734
  40. package/lib/index.js.map +4 -4
  41. package/lib/models.d.ts +15 -0
  42. package/lib/models.d.ts.map +1 -1
  43. package/lib/models.js +53 -0
  44. package/lib/models.js.map +1 -1
  45. package/lib/reactor.d.ts +20 -1
  46. package/lib/reactor.d.ts.map +1 -1
  47. package/lib/reactor.js +7 -1
  48. package/lib/reactor.js.map +1 -1
  49. package/lib/secret.d.ts +9 -0
  50. package/lib/secret.d.ts.map +1 -0
  51. package/lib/secret.js +21 -0
  52. package/lib/secret.js.map +1 -0
  53. package/lib/server.d.ts +16 -0
  54. package/lib/server.d.ts.map +1 -0
  55. package/lib/server.js +136 -0
  56. package/lib/server.js.map +7 -0
  57. package/lib/sessions.d.ts +6 -7
  58. package/lib/sessions.d.ts.map +1 -1
  59. package/lib/sessions.js +6 -19
  60. package/lib/sessions.js.map +1 -1
  61. package/lib/transport.d.ts +24 -0
  62. package/lib/transport.d.ts.map +1 -0
  63. package/lib/transport.js +112 -0
  64. package/lib/transport.js.map +1 -0
  65. package/package.json +14 -5
@@ -1 +1 @@
1
- {"version":3,"file":"models.d.ts","sourceRoot":"","sources":["../src/models.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"models.d.ts","sourceRoot":"","sources":["../src/models.ts"],"names":[],"mappings":"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"}
package/lib/models.js CHANGED
@@ -266,6 +266,59 @@ export function parseClientMetadata(value) {
266
266
  extensions: extensions(source.extensions, "extensions"),
267
267
  };
268
268
  }
269
+ const privateJwkMembers = new Set(["d", "p", "q", "dp", "dq", "qi", "oth", "k"]);
270
+ function parseJsonWebKey(value) {
271
+ const source = record(value, "JWKS key");
272
+ if (Object.keys(source).some((key) => privateJwkMembers.has(key))) {
273
+ throw new ProtocolValidationError("private_jwk", "JWKS keys must not contain private or symmetric key material");
274
+ }
275
+ const kty = oneOf(source.kty, ["EC", "RSA"], "JWKS key kty");
276
+ const kid = source.kid === undefined ? undefined : string(source.kid, "JWKS key kid");
277
+ const use = source.use === undefined ? undefined : oneOf(source.use, ["sig"], "use");
278
+ const alg = source.alg === undefined
279
+ ? undefined
280
+ : oneOf(source.alg, ["ES256", "RS256"], "alg");
281
+ if (kty === "EC") {
282
+ const crv = oneOf(source.crv, ["P-256"], "EC key crv");
283
+ const x = string(source.x, "EC key x");
284
+ const y = string(source.y, "EC key y");
285
+ if (alg !== undefined && alg !== "ES256") {
286
+ throw new ProtocolValidationError("invalid_jwk_algorithm", "P-256 signing keys may advertise only ES256");
287
+ }
288
+ return {
289
+ ...source,
290
+ kty,
291
+ ...(kid === undefined ? {} : { kid }),
292
+ ...(use === undefined ? {} : { use }),
293
+ ...(alg === undefined ? {} : { alg }),
294
+ crv,
295
+ x,
296
+ y,
297
+ };
298
+ }
299
+ const n = string(source.n, "RSA key n");
300
+ const e = string(source.e, "RSA key e");
301
+ if (alg !== undefined && alg !== "RS256") {
302
+ throw new ProtocolValidationError("invalid_jwk_algorithm", "RSA signing keys may advertise only RS256");
303
+ }
304
+ return {
305
+ ...source,
306
+ kty,
307
+ ...(kid === undefined ? {} : { kid }),
308
+ ...(use === undefined ? {} : { use }),
309
+ ...(alg === undefined ? {} : { alg }),
310
+ n,
311
+ e,
312
+ };
313
+ }
314
+ export function parseJsonWebKeySet(value) {
315
+ const source = record(value, "JWKS");
316
+ const keys = array(source.keys, "JWKS keys").map(parseJsonWebKey);
317
+ if (keys.length === 0) {
318
+ throw new ProtocolValidationError("invalid_jwks", "JWKS keys must not be empty");
319
+ }
320
+ return { ...source, keys };
321
+ }
269
322
  export function parseOperation(value) {
270
323
  const source = record(value, "operation");
271
324
  const state = oneOf(source.state, ["proposed", "in_progress", "succeeded", "failed", "cancelled", "expired"], "operation.state");
package/lib/models.js.map CHANGED
@@ -1 +1 @@
1
- {"version":3,"file":"models.js","sourceRoot":"","sources":["../src/models.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"models.js","sourceRoot":"","sources":["../src/models.ts"],"names":[],"mappings":"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"}
package/lib/reactor.d.ts CHANGED
@@ -1,5 +1,5 @@
1
1
  import { type ReactorPlatform, type ReactorPlatformView, type ContributionPoint, type PlatformInput } from "@datalayer/reactor";
2
- import type { SecretValue } from "./sessions.js";
2
+ import type { SecretValue } from "./secret.js";
3
3
  export interface DiscoveryTransport {
4
4
  fetch(input: URL, init: RequestInit): Promise<Response>;
5
5
  }
@@ -40,6 +40,19 @@ export interface TokenStore {
40
40
  get(reference: string): Promise<SecretValue | undefined>;
41
41
  delete(reference: string): Promise<void>;
42
42
  }
43
+ export interface PairwiseUserIdStore {
44
+ getOrCreate(options: {
45
+ readonly tenantId: string;
46
+ readonly localUserId: string;
47
+ readonly companyIssuer: string;
48
+ }): Promise<string>;
49
+ }
50
+ export interface AuthorizationStateStore {
51
+ put(reference: string, value: unknown, options: {
52
+ readonly expiresAt: Date;
53
+ }): Promise<void>;
54
+ take(reference: string): Promise<unknown | undefined>;
55
+ }
43
56
  export interface ProtocolCache {
44
57
  put(key: string, value: unknown, options: {
45
58
  readonly expiresAt: Date;
@@ -50,6 +63,9 @@ export interface ProtocolCache {
50
63
  export interface BrowserHandoff {
51
64
  open(authorizationUrl: SecretValue): Promise<void>;
52
65
  }
66
+ export interface BrowserFormPost {
67
+ post(endpoint: URL, fields: Readonly<Record<string, SecretValue>>): Promise<void>;
68
+ }
53
69
  export interface DpopProofRequest {
54
70
  readonly method: string;
55
71
  readonly url: string;
@@ -71,8 +87,11 @@ export declare const RandomSources: ContributionPoint<RandomSource>;
71
87
  export declare const Signers: ContributionPoint<Signer>;
72
88
  export declare const KeyStores: ContributionPoint<KeyStore>;
73
89
  export declare const TokenStores: ContributionPoint<TokenStore>;
90
+ export declare const PairwiseUserIdStores: ContributionPoint<PairwiseUserIdStore>;
91
+ export declare const AuthorizationStateStores: ContributionPoint<AuthorizationStateStore>;
74
92
  export declare const Caches: ContributionPoint<ProtocolCache>;
75
93
  export declare const BrowserHandoffs: ContributionPoint<BrowserHandoff>;
94
+ export declare const BrowserFormPosts: ContributionPoint<BrowserFormPost>;
76
95
  export declare const DpopProofProviders: ContributionPoint<DpopProofProvider>;
77
96
  export interface PapCoreOptions {
78
97
  readonly fetch?: typeof globalThis.fetch;
@@ -1 +1 @@
1
- {"version":3,"file":"reactor.d.ts","sourceRoot":"","sources":["../src/reactor.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"reactor.d.ts","sourceRoot":"","sources":["../src/reactor.ts"],"names":[],"mappings":"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"}
package/lib/reactor.js CHANGED
@@ -9,8 +9,11 @@ export const RandomSources = defineContributionPoint("pap.randomSource");
9
9
  export const Signers = defineContributionPoint("pap.signer");
10
10
  export const KeyStores = defineContributionPoint("pap.keyStore");
11
11
  export const TokenStores = defineContributionPoint("pap.tokenStore");
12
+ export const PairwiseUserIdStores = defineContributionPoint("pap.pairwiseUserIdStore");
13
+ export const AuthorizationStateStores = defineContributionPoint("pap.authorizationStateStore");
12
14
  export const Caches = defineContributionPoint("pap.cache");
13
15
  export const BrowserHandoffs = defineContributionPoint("pap.browserHandoff");
16
+ export const BrowserFormPosts = defineContributionPoint("pap.browserFormPost");
14
17
  export const DpopProofProviders = defineContributionPoint("pap.dpopProofProvider");
15
18
  const systemClock = { now: () => new Date() };
16
19
  const systemRandom = {
@@ -47,7 +50,7 @@ export function createPapCorePlugin(options = {}) {
47
50
  }
48
51
  return definePlugin({
49
52
  name: "@datalayer/personal-agent-protocol-core",
50
- version: "0.3.0",
53
+ version: "0.3.2",
51
54
  contributionPoints: [
52
55
  DiscoveryTransports,
53
56
  UrlSafetyPolicies,
@@ -58,8 +61,11 @@ export function createPapCorePlugin(options = {}) {
58
61
  Signers,
59
62
  KeyStores,
60
63
  TokenStores,
64
+ PairwiseUserIdStores,
65
+ AuthorizationStateStores,
61
66
  Caches,
62
67
  BrowserHandoffs,
68
+ BrowserFormPosts,
63
69
  DpopProofProviders,
64
70
  ],
65
71
  contributes: [
@@ -1 +1 @@
1
- {"version":3,"file":"reactor.js","sourceRoot":"","sources":["../src/reactor.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"reactor.js","sourceRoot":"","sources":["../src/reactor.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,9 @@
1
+ /** Redacted wrapper for credentials and other protocol secrets. */
2
+ export declare class SecretValue {
3
+ #private;
4
+ constructor(value: string);
5
+ reveal(): string;
6
+ toString(): string;
7
+ toJSON(): string;
8
+ }
9
+ //# sourceMappingURL=secret.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"secret.d.ts","sourceRoot":"","sources":["../src/secret.ts"],"names":[],"mappings":"AAEA,mEAAmE;AACnE,qBAAa,WAAW;;gBAGV,KAAK,EAAE,MAAM;IAOzB,MAAM,IAAI,MAAM;IAIhB,QAAQ,IAAI,MAAM;IAIlB,MAAM,IAAI,MAAM;CAGjB"}
package/lib/secret.js ADDED
@@ -0,0 +1,21 @@
1
+ import { ProtocolValidationError } from "./errors.js";
2
+ /** Redacted wrapper for credentials and other protocol secrets. */
3
+ export class SecretValue {
4
+ #value;
5
+ constructor(value) {
6
+ if (!value) {
7
+ throw new ProtocolValidationError("invalid_secret", "Secret value must not be empty");
8
+ }
9
+ this.#value = value;
10
+ }
11
+ reveal() {
12
+ return this.#value;
13
+ }
14
+ toString() {
15
+ return "[REDACTED]";
16
+ }
17
+ toJSON() {
18
+ return "[REDACTED]";
19
+ }
20
+ }
21
+ //# sourceMappingURL=secret.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"secret.js","sourceRoot":"","sources":["../src/secret.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,uBAAuB,EAAE,MAAM,aAAa,CAAC;AAEtD,mEAAmE;AACnE,MAAM,OAAO,WAAW;IACb,MAAM,CAAS;IAExB,YAAY,KAAa;QACvB,IAAI,CAAC,KAAK,EAAE,CAAC;YACX,MAAM,IAAI,uBAAuB,CAAC,gBAAgB,EAAE,gCAAgC,CAAC,CAAC;QACxF,CAAC;QACD,IAAI,CAAC,MAAM,GAAG,KAAK,CAAC;IACtB,CAAC;IAED,MAAM;QACJ,OAAO,IAAI,CAAC,MAAM,CAAC;IACrB,CAAC;IAED,QAAQ;QACN,OAAO,YAAY,CAAC;IACtB,CAAC;IAED,MAAM;QACJ,OAAO,YAAY,CAAC;IACtB,CAAC;CACF"}
@@ -0,0 +1,16 @@
1
+ import type { UrlSafetyPolicy } from "./reactor.js";
2
+ export { JoseSigner, verifyDpopProof, type DpopReplayCache, type JoseSignerOptions, type VerifiedDpopProof, type VerifyDpopProofOptions, } from "./crypto.js";
3
+ export { verifyBrowserAssertion, type BrowserAssertionReplayCache, type VerifiedBrowserAssertion, type VerifyBrowserAssertionOptions, } from "./browser-server.js";
4
+ export type NodeAddressResolver = (hostname: string) => Promise<readonly string[]>;
5
+ export declare function isPublicIpAddress(address: string): boolean;
6
+ export interface NodeUrlSafetyPolicyOptions {
7
+ readonly resolver?: NodeAddressResolver;
8
+ readonly allowPrivateNetworks?: boolean;
9
+ }
10
+ /** DNS-aware server policy for untrusted PAP discovery and metadata URLs. */
11
+ export declare class NodeUrlSafetyPolicy implements UrlSafetyPolicy {
12
+ #private;
13
+ constructor(options?: NodeUrlSafetyPolicyOptions);
14
+ assertSafe(url: URL): Promise<void>;
15
+ }
16
+ //# sourceMappingURL=server.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"server.d.ts","sourceRoot":"","sources":["../src/server.ts"],"names":[],"mappings":"AAIA,OAAO,KAAK,EAAE,eAAe,EAAE,MAAM,cAAc,CAAC;AAEpD,OAAO,EACL,UAAU,EACV,eAAe,EACf,KAAK,eAAe,EACpB,KAAK,iBAAiB,EACtB,KAAK,iBAAiB,EACtB,KAAK,sBAAsB,GAC5B,MAAM,aAAa,CAAC;AACrB,OAAO,EACL,sBAAsB,EACtB,KAAK,2BAA2B,EAChC,KAAK,wBAAwB,EAC7B,KAAK,6BAA6B,GACnC,MAAM,qBAAqB,CAAC;AAE7B,MAAM,MAAM,mBAAmB,GAAG,CAAC,QAAQ,EAAE,MAAM,KAAK,OAAO,CAAC,SAAS,MAAM,EAAE,CAAC,CAAC;AA6CnF,wBAAgB,iBAAiB,CAAC,OAAO,EAAE,MAAM,GAAG,OAAO,CAK1D;AAED,MAAM,WAAW,0BAA0B;IACzC,QAAQ,CAAC,QAAQ,CAAC,EAAE,mBAAmB,CAAC;IACxC,QAAQ,CAAC,oBAAoB,CAAC,EAAE,OAAO,CAAC;CACzC;AAED,6EAA6E;AAC7E,qBAAa,mBAAoB,YAAW,eAAe;;gBAI7C,OAAO,GAAE,0BAA+B;IAK9C,UAAU,CAAC,GAAG,EAAE,GAAG,GAAG,OAAO,CAAC,IAAI,CAAC;CAmB1C"}
package/lib/server.js ADDED
@@ -0,0 +1,136 @@
1
+ import {
2
+ BROWSER_ASSERTION_TYPE,
3
+ BrowserSessionError,
4
+ DiscoveryError,
5
+ JoseSigner,
6
+ SecretValue,
7
+ assertCompanyReturnTo,
8
+ browserAssertionError,
9
+ decodeProtectedHeader,
10
+ jwtVerify,
11
+ validateBrowserClaimIdentity,
12
+ verifyDpopProof
13
+ } from "./chunk-TU6B5MQ7.js";
14
+
15
+ // src/server.ts
16
+ import { lookup } from "node:dns/promises";
17
+ import { isIP } from "node:net";
18
+
19
+ // src/browser-server.ts
20
+ async function verifyBrowserAssertion(assertion, options) {
21
+ const compact = assertion instanceof SecretValue ? assertion.reveal() : assertion;
22
+ let claims;
23
+ try {
24
+ const header = decodeProtectedHeader(compact);
25
+ if (header.typ !== BROWSER_ASSERTION_TYPE || header.alg !== "ES256" && header.alg !== "RS256") {
26
+ throw browserAssertionError();
27
+ }
28
+ const verified = await jwtVerify(compact, options.publicKey, {
29
+ algorithms: [header.alg],
30
+ typ: BROWSER_ASSERTION_TYPE,
31
+ requiredClaims: ["iss", "sub", "aud", "session_id", "return_to", "iat", "exp", "jti"],
32
+ ...options.now === void 0 ? {} : { currentDate: options.now }
33
+ });
34
+ const payload = verified.payload;
35
+ claims = {
36
+ iss: validateBrowserClaimIdentity(payload.iss, "iss"),
37
+ sub: validateBrowserClaimIdentity(payload.sub, "sub"),
38
+ aud: validateBrowserClaimIdentity(payload.aud, "aud"),
39
+ session_id: validateBrowserClaimIdentity(payload.session_id, "session_id"),
40
+ return_to: validateBrowserClaimIdentity(payload.return_to, "return_to"),
41
+ iat: Number(payload.iat),
42
+ exp: Number(payload.exp),
43
+ jti: validateBrowserClaimIdentity(payload.jti, "jti")
44
+ };
45
+ } catch (cause) {
46
+ if (cause instanceof BrowserSessionError) throw cause;
47
+ throw browserAssertionError(cause);
48
+ }
49
+ const now = options.now ?? /* @__PURE__ */ new Date();
50
+ const nowSeconds = Math.floor(now.getTime() / 1e3);
51
+ if (!Number.isInteger(claims.iat) || !Number.isInteger(claims.exp) || claims.exp <= claims.iat || claims.exp - claims.iat > 60 || claims.iat > nowSeconds || claims.exp <= nowSeconds) {
52
+ throw browserAssertionError();
53
+ }
54
+ const endpoint = new URL(options.expectedEndpoint).toString();
55
+ const returnTo = assertCompanyReturnTo(claims.return_to, options.companyDomain);
56
+ if (claims.aud !== endpoint || claims.iss !== options.expectedClientId || claims.sub !== options.expectedPairwiseUserId || claims.session_id !== options.expectedSessionId) {
57
+ throw browserAssertionError();
58
+ }
59
+ const expiresAt = new Date(claims.exp * 1e3);
60
+ if (!await options.replayCache.markOnce(`browser:${claims.iss}:${claims.jti}`, { expiresAt })) {
61
+ throw new BrowserSessionError("invalid_browser_assertion", "Browser assertion has already been used");
62
+ }
63
+ return {
64
+ clientId: claims.iss,
65
+ pairwiseUserId: claims.sub,
66
+ sessionId: claims.session_id,
67
+ returnTo,
68
+ expiresAt
69
+ };
70
+ }
71
+
72
+ // src/server.ts
73
+ async function resolveAddresses(hostname) {
74
+ try {
75
+ const records = await lookup(hostname, { all: true, verbatim: true });
76
+ return [...new Set(records.map((record) => record.address))];
77
+ } catch (cause) {
78
+ throw new DiscoveryError("dns_failed", "Could not resolve metadata host", { cause });
79
+ }
80
+ }
81
+ function isPublicIpv4(address) {
82
+ const parts = address.split(".").map(Number);
83
+ if (parts.length !== 4 || parts.some((part) => !Number.isInteger(part) || part < 0 || part > 255)) {
84
+ return false;
85
+ }
86
+ const [a = 0, b = 0] = parts;
87
+ return !(a === 0 || a === 10 || a === 127 || a === 100 && b >= 64 && b <= 127 || a === 169 && b === 254 || a === 172 && b >= 16 && b <= 31 || a === 192 && b === 0 || a === 192 && b === 168 || a === 192 && b === 0 && parts[2] === 2 || a === 198 && (b === 18 || b === 19) || a === 198 && b === 51 && parts[2] === 100 || a === 203 && b === 0 && parts[2] === 113 || a >= 224);
88
+ }
89
+ function isPublicIpv6(address) {
90
+ const normalized = address.toLowerCase();
91
+ if (normalized.includes("%") || normalized.startsWith("2001:db8:")) return false;
92
+ if (normalized.startsWith("2001:0:") || normalized.startsWith("2002:")) return false;
93
+ const first = Number.parseInt(normalized.split(":", 1)[0] ?? "", 16);
94
+ return first >= 8192 && first <= 16383;
95
+ }
96
+ function isPublicIpAddress(address) {
97
+ const version = isIP(address);
98
+ if (version === 4) return isPublicIpv4(address);
99
+ if (version === 6) return isPublicIpv6(address);
100
+ return false;
101
+ }
102
+ var NodeUrlSafetyPolicy = class {
103
+ #resolver;
104
+ #allowPrivateNetworks;
105
+ constructor(options = {}) {
106
+ this.#resolver = options.resolver ?? resolveAddresses;
107
+ this.#allowPrivateNetworks = options.allowPrivateNetworks ?? false;
108
+ }
109
+ async assertSafe(url) {
110
+ if (url.protocol !== "https:" || url.username || url.password) {
111
+ throw new DiscoveryError(
112
+ "unsafe_url",
113
+ "Discovery and metadata URLs must use HTTPS without user information"
114
+ );
115
+ }
116
+ const hostname = url.hostname.toLowerCase().replace(/^\[|\]$/g, "");
117
+ const addresses = isIP(hostname) ? [hostname] : await this.#resolver(hostname);
118
+ if (addresses.length === 0) {
119
+ throw new DiscoveryError("dns_failed", "Metadata host has no addresses");
120
+ }
121
+ if (!this.#allowPrivateNetworks && addresses.some((address) => !isPublicIpAddress(address))) {
122
+ throw new DiscoveryError(
123
+ "unsafe_address",
124
+ "Metadata host resolves to a non-public address"
125
+ );
126
+ }
127
+ }
128
+ };
129
+ export {
130
+ JoseSigner,
131
+ NodeUrlSafetyPolicy,
132
+ isPublicIpAddress,
133
+ verifyBrowserAssertion,
134
+ verifyDpopProof
135
+ };
136
+ //# sourceMappingURL=server.js.map
@@ -0,0 +1,7 @@
1
+ {
2
+ "version": 3,
3
+ "sources": ["../src/server.ts", "../src/browser-server.ts"],
4
+ "sourcesContent": ["import { lookup } from \"node:dns/promises\";\nimport { isIP } from \"node:net\";\n\nimport { DiscoveryError } from \"./index.js\";\nimport type { UrlSafetyPolicy } from \"./reactor.js\";\n\nexport {\n JoseSigner,\n verifyDpopProof,\n type DpopReplayCache,\n type JoseSignerOptions,\n type VerifiedDpopProof,\n type VerifyDpopProofOptions,\n} from \"./crypto.js\";\nexport {\n verifyBrowserAssertion,\n type BrowserAssertionReplayCache,\n type VerifiedBrowserAssertion,\n type VerifyBrowserAssertionOptions,\n} from \"./browser-server.js\";\n\nexport type NodeAddressResolver = (hostname: string) => Promise<readonly string[]>;\n\nasync function resolveAddresses(hostname: string): Promise<readonly string[]> {\n try {\n const records = await lookup(hostname, { all: true, verbatim: true });\n return [...new Set(records.map((record) => record.address))];\n } catch (cause) {\n throw new DiscoveryError(\"dns_failed\", \"Could not resolve metadata host\", { cause });\n }\n}\n\nfunction isPublicIpv4(address: string): boolean {\n const parts = address.split(\".\").map(Number);\n if (\n parts.length !== 4 ||\n parts.some((part) => !Number.isInteger(part) || part < 0 || part > 255)\n ) {\n return false;\n }\n const [a = 0, b = 0] = parts;\n return !(\n a === 0 ||\n a === 10 ||\n a === 127 ||\n (a === 100 && b >= 64 && b <= 127) ||\n (a === 169 && b === 254) ||\n (a === 172 && b >= 16 && b <= 31) ||\n (a === 192 && b === 0) ||\n (a === 192 && b === 168) ||\n (a === 192 && b === 0 && parts[2] === 2) ||\n (a === 198 && (b === 18 || b === 19)) ||\n (a === 198 && b === 51 && parts[2] === 100) ||\n (a === 203 && b === 0 && parts[2] === 113) ||\n a >= 224\n );\n}\n\nfunction isPublicIpv6(address: string): boolean {\n const normalized = address.toLowerCase();\n if (normalized.includes(\"%\") || normalized.startsWith(\"2001:db8:\")) return false;\n if (normalized.startsWith(\"2001:0:\") || normalized.startsWith(\"2002:\")) return false;\n const first = Number.parseInt(normalized.split(\":\", 1)[0] ?? \"\", 16);\n return first >= 0x2000 && first <= 0x3fff;\n}\n\nexport function isPublicIpAddress(address: string): boolean {\n const version = isIP(address);\n if (version === 4) return isPublicIpv4(address);\n if (version === 6) return isPublicIpv6(address);\n return false;\n}\n\nexport interface NodeUrlSafetyPolicyOptions {\n readonly resolver?: NodeAddressResolver;\n readonly allowPrivateNetworks?: boolean;\n}\n\n/** DNS-aware server policy for untrusted PAP discovery and metadata URLs. */\nexport class NodeUrlSafetyPolicy implements UrlSafetyPolicy {\n readonly #resolver: NodeAddressResolver;\n readonly #allowPrivateNetworks: boolean;\n\n constructor(options: NodeUrlSafetyPolicyOptions = {}) {\n this.#resolver = options.resolver ?? resolveAddresses;\n this.#allowPrivateNetworks = options.allowPrivateNetworks ?? false;\n }\n\n async assertSafe(url: URL): Promise<void> {\n if (url.protocol !== \"https:\" || url.username || url.password) {\n throw new DiscoveryError(\n \"unsafe_url\",\n \"Discovery and metadata URLs must use HTTPS without user information\",\n );\n }\n const hostname = url.hostname.toLowerCase().replace(/^\\[|\\]$/g, \"\");\n const addresses = isIP(hostname) ? [hostname] : await this.#resolver(hostname);\n if (addresses.length === 0) {\n throw new DiscoveryError(\"dns_failed\", \"Metadata host has no addresses\");\n }\n if (!this.#allowPrivateNetworks && addresses.some((address) => !isPublicIpAddress(address))) {\n throw new DiscoveryError(\n \"unsafe_address\",\n \"Metadata host resolves to a non-public address\",\n );\n }\n }\n}\n", "import { decodeProtectedHeader, jwtVerify, type KeyInput } from \"jose\";\n\nimport {\n BROWSER_ASSERTION_TYPE,\n assertCompanyReturnTo,\n browserAssertionError,\n validateBrowserClaimIdentity,\n type BrowserAssertionClaims,\n} from \"./browser.js\";\nimport { BrowserSessionError } from \"./errors.js\";\nimport { SecretValue } from \"./secret.js\";\n\nexport interface BrowserAssertionReplayCache {\n markOnce(key: string, options: { readonly expiresAt: Date }): Promise<boolean>;\n}\n\nexport interface VerifyBrowserAssertionOptions {\n readonly publicKey: KeyInput | Uint8Array;\n readonly expectedEndpoint: string;\n readonly companyDomain: string;\n readonly expectedClientId: string;\n readonly expectedPairwiseUserId: string;\n readonly expectedSessionId: string;\n readonly replayCache: BrowserAssertionReplayCache;\n readonly now?: Date;\n}\n\nexport interface VerifiedBrowserAssertion {\n readonly clientId: string;\n readonly pairwiseUserId: string;\n readonly sessionId: string;\n readonly returnTo: string;\n readonly expiresAt: Date;\n}\n\nexport async function verifyBrowserAssertion(\n assertion: SecretValue | string,\n options: VerifyBrowserAssertionOptions,\n): Promise<VerifiedBrowserAssertion> {\n const compact = assertion instanceof SecretValue ? assertion.reveal() : assertion;\n let claims: BrowserAssertionClaims;\n try {\n const header = decodeProtectedHeader(compact);\n if (header.typ !== BROWSER_ASSERTION_TYPE || (header.alg !== \"ES256\" && header.alg !== \"RS256\")) {\n throw browserAssertionError();\n }\n const verified = await jwtVerify(compact, options.publicKey, {\n algorithms: [header.alg],\n typ: BROWSER_ASSERTION_TYPE,\n requiredClaims: [\"iss\", \"sub\", \"aud\", \"session_id\", \"return_to\", \"iat\", \"exp\", \"jti\"],\n ...(options.now === undefined ? {} : { currentDate: options.now }),\n });\n const payload = verified.payload;\n claims = {\n iss: validateBrowserClaimIdentity(payload.iss, \"iss\"),\n sub: validateBrowserClaimIdentity(payload.sub, \"sub\"),\n aud: validateBrowserClaimIdentity(payload.aud, \"aud\"),\n session_id: validateBrowserClaimIdentity(payload.session_id, \"session_id\"),\n return_to: validateBrowserClaimIdentity(payload.return_to, \"return_to\"),\n iat: Number(payload.iat),\n exp: Number(payload.exp),\n jti: validateBrowserClaimIdentity(payload.jti, \"jti\"),\n };\n } catch (cause) {\n if (cause instanceof BrowserSessionError) throw cause;\n throw browserAssertionError(cause);\n }\n const now = options.now ?? new Date();\n const nowSeconds = Math.floor(now.getTime() / 1000);\n if (!Number.isInteger(claims.iat) || !Number.isInteger(claims.exp) ||\n claims.exp <= claims.iat || claims.exp - claims.iat > 60 ||\n claims.iat > nowSeconds || claims.exp <= nowSeconds) {\n throw browserAssertionError();\n }\n const endpoint = new URL(options.expectedEndpoint).toString();\n const returnTo = assertCompanyReturnTo(claims.return_to, options.companyDomain);\n if (claims.aud !== endpoint || claims.iss !== options.expectedClientId ||\n claims.sub !== options.expectedPairwiseUserId || claims.session_id !== options.expectedSessionId) {\n throw browserAssertionError();\n }\n const expiresAt = new Date(claims.exp * 1000);\n if (!(await options.replayCache.markOnce(`browser:${claims.iss}:${claims.jti}`, { expiresAt }))) {\n throw new BrowserSessionError(\"invalid_browser_assertion\", \"Browser assertion has already been used\");\n }\n return {\n clientId: claims.iss,\n pairwiseUserId: claims.sub,\n sessionId: claims.session_id,\n returnTo,\n expiresAt,\n };\n}\n"],
5
+ "mappings": "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",
6
+ "names": []
7
+ }
package/lib/sessions.d.ts CHANGED
@@ -1,13 +1,7 @@
1
1
  import type { ReactorPlatformView } from "@datalayer/reactor";
2
+ import { SecretValue } from "./secret.js";
2
3
  export declare const JWT_BEARER_GRANT = "urn:ietf:params:oauth:grant-type:jwt-bearer";
3
4
  export declare const JWT_CLIENT_ASSERTION = "urn:ietf:params:oauth:client-assertion-type:jwt-bearer";
4
- export declare class SecretValue {
5
- #private;
6
- constructor(value: string);
7
- reveal(): string;
8
- toString(): string;
9
- toJSON(): string;
10
- }
11
5
  export interface SessionAssertionClaims {
12
6
  readonly iss: string;
13
7
  readonly sub: string;
@@ -27,6 +21,11 @@ export interface SessionToken {
27
21
  }
28
22
  export type RandomBytes = (length: number) => Uint8Array;
29
23
  export declare function generatePairwiseUserId(randomBytes?: RandomBytes): string;
24
+ export declare function resolvePairwiseUserId(reactor: ReactorPlatformView, options: {
25
+ readonly tenantId: string;
26
+ readonly localUserId: string;
27
+ readonly companyIssuer: string;
28
+ }): Promise<string>;
30
29
  export interface SessionAssertionOptions {
31
30
  readonly clientId: string;
32
31
  readonly pairwiseUserId: string;
@@ -1 +1 @@
1
- {"version":3,"file":"sessions.d.ts","sourceRoot":"","sources":["../src/sessions.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,mBAAmB,EAAE,MAAM,oBAAoB,CAAC;AAY9D,eAAO,MAAM,gBAAgB,gDAAgD,CAAC;AAC9E,eAAO,MAAM,oBAAoB,2DACyB,CAAC;AAE3D,qBAAa,WAAW;;gBAGV,KAAK,EAAE,MAAM;IAOzB,MAAM,IAAI,MAAM;IAIhB,QAAQ,IAAI,MAAM;IAIlB,MAAM,IAAI,MAAM;CAGjB;AAED,MAAM,WAAW,sBAAsB;IACrC,QAAQ,CAAC,GAAG,EAAE,MAAM,CAAC;IACrB,QAAQ,CAAC,GAAG,EAAE,MAAM,CAAC;IACrB,QAAQ,CAAC,GAAG,EAAE,MAAM,CAAC;IACrB,QAAQ,CAAC,GAAG,EAAE,MAAM,CAAC;IACrB,QAAQ,CAAC,GAAG,EAAE,MAAM,CAAC;IACrB,QAAQ,CAAC,GAAG,EAAE,MAAM,CAAC;CACtB;AAED,MAAM,WAAW,YAAY;IAC3B,QAAQ,CAAC,WAAW,EAAE,WAAW,CAAC;IAClC,QAAQ,CAAC,SAAS,EAAE,MAAM,GAAG,QAAQ,CAAC;IACtC,QAAQ,CAAC,SAAS,EAAE,MAAM,CAAC;IAC3B,QAAQ,CAAC,MAAM,EAAE,SAAS,MAAM,EAAE,CAAC;IACnC,QAAQ,CAAC,SAAS,EAAE,MAAM,CAAC;IAC3B,QAAQ,CAAC,QAAQ,EAAE,OAAO,CAAC;IAC3B,QAAQ,CAAC,YAAY,CAAC,EAAE,WAAW,CAAC;CACrC;AAED,MAAM,MAAM,WAAW,GAAG,CAAC,MAAM,EAAE,MAAM,KAAK,UAAU,CAAC;AAqCzD,wBAAgB,sBAAsB,CACpC,WAAW,GAAE,WAAgC,GAC5C,MAAM,CAER;AAED,MAAM,WAAW,uBAAuB;IACtC,QAAQ,CAAC,QAAQ,EAAE,MAAM,CAAC;IAC1B,QAAQ,CAAC,cAAc,EAAE,MAAM,CAAC;IAChC,QAAQ,CAAC,aAAa,EAAE,MAAM,CAAC;IAC/B,QAAQ,CAAC,GAAG,CAAC,EAAE,IAAI,CAAC;IACpB,QAAQ,CAAC,eAAe,CAAC,EAAE,MAAM,CAAC;IAClC,QAAQ,CAAC,WAAW,CAAC,EAAE,WAAW,CAAC;CACpC;AAiBD,wBAAgB,2BAA2B,CACzC,OAAO,EAAE,uBAAuB,GAC/B,sBAAsB,CAuBxB;AAED,MAAM,WAAW,mBAAmB;IAClC,QAAQ,CAAC,SAAS,EAAE,MAAM,CAAC;IAC3B,QAAQ,CAAC,QAAQ,EAAE,MAAM,CAAC;IAC1B,QAAQ,CAAC,eAAe,EAAE,MAAM,CAAC;IACjC,QAAQ,CAAC,SAAS,CAAC,EAAE,MAAM,CAAC;CAC7B;AAED,qBAAa,YAAY;IACvB,QAAQ,CAAC,SAAS,EAAE,WAAW,CAAC;IAChC,QAAQ,CAAC,QAAQ,EAAE,MAAM,CAAC;IAC1B,QAAQ,CAAC,eAAe,EAAE,WAAW,CAAC;IACtC,QAAQ,CAAC,SAAS,EAAE,MAAM,GAAG,SAAS,CAAC;gBAE3B,OAAO,EAAE,mBAAmB;IAUxC,MAAM,IAAI,eAAe;IAczB,MAAM,IAAI,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC;CAUlC;AAgBD,wBAAgB,iBAAiB,CAAC,KAAK,EAAE,OAAO,GAAG,YAAY,CAoC9D;AAED,MAAM,WAAW,qBAAqB;IACpC,QAAQ,CAAC,QAAQ,EAAE,MAAM,CAAC;IAC1B,QAAQ,CAAC,cAAc,EAAE,MAAM,CAAC;IAChC,QAAQ,CAAC,MAAM,EAAE,MAAM,CAAC;IACxB,QAAQ,CAAC,aAAa,EAAE,MAAM,CAAC;IAC/B,QAAQ,CAAC,QAAQ,EAAE,MAAM,CAAC;IAC1B,QAAQ,CAAC,MAAM,CAAC,EAAE,WAAW,CAAC;CAC/B;AAED,MAAM,WAAW,mBAAoB,SAAQ,qBAAqB;IAChE,QAAQ,CAAC,SAAS,EAAE,MAAM,CAAC;CAC5B;AAED,MAAM,WAAW,oBAAoB;IACnC,QAAQ,CAAC,OAAO,EAAE,mBAAmB,CAAC;IACtC,QAAQ,CAAC,KAAK,CAAC,EAAE,OAAO,UAAU,CAAC,KAAK,CAAC;IACzC,QAAQ,CAAC,gBAAgB,CAAC,EAAE,MAAM,CAAC;CACpC;AAED,4EAA4E;AAC5E,qBAAa,aAAa;;gBAKZ,OAAO,EAAE,oBAAoB;IAYzC,KAAK,CAAC,OAAO,EAAE,qBAAqB,GAAG,OAAO,CAAC,YAAY,CAAC;IAI5D,KAAK,CAAC,OAAO,EAAE,mBAAmB,GAAG,OAAO,CAAC,YAAY,CAAC;CA+I3D"}
1
+ {"version":3,"file":"sessions.d.ts","sourceRoot":"","sources":["../src/sessions.ts"],"names":[],"mappings":"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"}
package/lib/sessions.js CHANGED
@@ -1,26 +1,9 @@
1
1
  import { ProtocolValidationError, SessionError } from "./errors.js";
2
2
  import { parseJsonStrict } from "./json.js";
3
- import { Clocks, DpopProofProviders, RandomSources, Signers, firstContribution, } from "./reactor.js";
3
+ import { SecretValue } from "./secret.js";
4
+ import { Clocks, DpopProofProviders, PairwiseUserIdStores, RandomSources, Signers, firstContribution, } from "./reactor.js";
4
5
  export const JWT_BEARER_GRANT = "urn:ietf:params:oauth:grant-type:jwt-bearer";
5
6
  export const JWT_CLIENT_ASSERTION = "urn:ietf:params:oauth:client-assertion-type:jwt-bearer";
6
- export class SecretValue {
7
- #value;
8
- constructor(value) {
9
- if (!value) {
10
- throw new ProtocolValidationError("invalid_secret", "Secret value must not be empty");
11
- }
12
- this.#value = value;
13
- }
14
- reveal() {
15
- return this.#value;
16
- }
17
- toString() {
18
- return "[REDACTED]";
19
- }
20
- toJSON() {
21
- return "[REDACTED]";
22
- }
23
- }
24
7
  function defaultRandomBytes(length) {
25
8
  const cryptoApi = globalThis.crypto;
26
9
  if (!cryptoApi) {
@@ -56,6 +39,10 @@ function opaqueId(prefix, randomBytes) {
56
39
  export function generatePairwiseUserId(randomBytes = defaultRandomBytes) {
57
40
  return opaqueId("usr", randomBytes);
58
41
  }
42
+ export async function resolvePairwiseUserId(reactor, options) {
43
+ const store = firstContribution(reactor, PairwiseUserIdStores, "pairwise user ID store");
44
+ return store.getOrCreate(options);
45
+ }
59
46
  function httpsUrl(value, label) {
60
47
  let parsed;
61
48
  try {