@introspection-sdk/aauth-resource 0.38.1 → 0.40.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/README.md CHANGED
@@ -1,6 +1,6 @@
1
1
  # @introspection-sdk/aauth-resource
2
2
 
3
- Make an HTTP API a native AAuth resource ([draft-hardt-oauth-aauth-protocol](https://github.com/dickhardt/AAuth) `-11`, three-party): the resource side of what [`@introspection-sdk/person-server`](../introspection-person-server) is to the person's side. Handlers take a Web `Request` and return a `Response`.
3
+ Make an HTTP API a native AAuth resource ([draft-hardt-oauth-aauth-protocol](https://github.com/dickhardt/AAuth) `-11`, three-party, or four-party with its own Access Server): the resource side of what [`@introspection-sdk/aauth-person-server`](../introspection-aauth-person-server) is to the person's side. Handlers take a Web `Request` and return a `Response`.
4
4
 
5
5
  - **Discovery:** `/.well-known/aauth-resource.json` and its JWKS.
6
6
  - **Signed facts:** `sign()` a quote or an offer, `verifySigned()` it when it comes back, so the price a Person Server weighs is the resource's, not the agent's.
@@ -63,3 +63,4 @@ Two resources are built on it:
63
63
  - `authorize(request, body, ask, { url })`: `ask` may be a function, run only once the presented token verifies, so a resource challenges before it validates the call. `url` is the public URL the request was addressed to, when the app serves it under another path.
64
64
  - `onPropose`: called as each call is put to a Person Server, e.g. to log or narrate it.
65
65
  - `r3Store`: where proposals live until their Person Server reads them; in memory by default, so a multi-process deployment supplies a shared one.
66
+ - `accessServer`: the resource's own Access Server (`-11` four-party), e.g. [`@introspection-sdk/aauth-access-server`](../introspection-aauth-access-server). Its resource tokens then name the AS as `aud`, so the person's Person Server redeems them there, and `authorize()` admits only auth tokens the AS issued (`iss` the AS, verified against its `aauth-access.json` keys, `ps` one of `personServers`). An auth token a Person Server issued itself is refused, since it would skip the AS's policy. The AS may read each R3 proposal too. Resource metadata does not change: the `aud` is the only signal. Unset, nothing changes.
package/dist/index.d.ts CHANGED
@@ -1,3 +1,3 @@
1
1
  export { createAAuthResource, type AAuthResource, type AAuthResourceOptions, type Authorization, type AuthorizeRequest, type Budget, type Identification, respond, } from "./resource.js";
2
- export { AAuthError, problem } from "@introspection-sdk/person-server";
2
+ export { AAuthError, problem } from "@introspection-sdk/aauth-protocol";
3
3
  //# sourceMappingURL=index.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AAAA,OAAO,EACL,mBAAmB,EACnB,KAAK,aAAa,EAClB,KAAK,oBAAoB,EACzB,KAAK,aAAa,EAClB,KAAK,gBAAgB,EACrB,KAAK,MAAM,EACX,KAAK,cAAc,EACnB,OAAO,GACR,MAAM,eAAe,CAAC;AACvB,OAAO,EAAE,UAAU,EAAE,OAAO,EAAE,MAAM,kCAAkC,CAAC"}
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AAAA,OAAO,EACL,mBAAmB,EACnB,KAAK,aAAa,EAClB,KAAK,oBAAoB,EACzB,KAAK,aAAa,EAClB,KAAK,gBAAgB,EACrB,KAAK,MAAM,EACX,KAAK,cAAc,EACnB,OAAO,GACR,MAAM,eAAe,CAAC;AACvB,OAAO,EAAE,UAAU,EAAE,OAAO,EAAE,MAAM,mCAAmC,CAAC"}
package/dist/index.js CHANGED
@@ -1,3 +1,3 @@
1
1
  export { createAAuthResource, respond, } from "./resource.js";
2
- export { AAuthError, problem } from "@introspection-sdk/person-server";
2
+ export { AAuthError, problem } from "@introspection-sdk/aauth-protocol";
3
3
  //# sourceMappingURL=index.js.map
package/dist/index.js.map CHANGED
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AAAA,OAAO,EACL,mBAAmB,EAOnB,OAAO,GACR,MAAM,eAAe,CAAC;AACvB,OAAO,EAAE,UAAU,EAAE,OAAO,EAAE,MAAM,kCAAkC,CAAC"}
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AAAA,OAAO,EACL,mBAAmB,EAOnB,OAAO,GACR,MAAM,eAAe,CAAC;AACvB,OAAO,EAAE,UAAU,EAAE,OAAO,EAAE,MAAM,mCAAmC,CAAC"}
@@ -7,12 +7,9 @@
7
7
  */
8
8
  import { type R3Store, type VerifiedToken } from "@aauth/resource";
9
9
  import { type JWK, type JWTPayload } from "jose";
10
+ import { type Budget, type FetchLike } from "@introspection-sdk/aauth-protocol";
10
11
  /** draft-hardt-aauth-budgets: an amount in a unit's smallest denomination. */
11
- export interface Budget {
12
- amount: number;
13
- unit: string;
14
- decimals: number;
15
- }
12
+ export type { Budget };
16
13
  export interface AAuthResourceOptions {
17
14
  /** This resource's identifier: `https://host`, the origin agents call. */
18
15
  issuer: string;
@@ -34,7 +31,17 @@ export interface AAuthResourceOptions {
34
31
  personServers: readonly string[];
35
32
  /** Agent Providers whose agent tokens it accepts. */
36
33
  agentProviders: readonly string[];
34
+ /**
35
+ * This resource's own Access Server (draft -11 four-party), when it has one:
36
+ * its resource tokens name it as `aud`, so the person's Person Server
37
+ * redeems them there, and it accepts only the auth tokens that AS issues for
38
+ * the people of `personServers`, never one a Person Server issued itself,
39
+ * which would skip the AS's policy. Unset, each Person Server issues them.
40
+ */
41
+ accessServer?: string;
37
42
  /** A PKCS#8 PEM to keep the key across restarts; a fresh key otherwise. */
43
+ /** For fetching the keys of the tokens it verifies; global fetch by default. Only `https`, never redirected. */
44
+ fetch?: FetchLike;
38
45
  signingKey?: string;
39
46
  kid?: string;
40
47
  /** Where proposals live until their Person Server reads them; in memory by default. */
@@ -1 +1 @@
1
- {"version":3,"file":"resource.d.ts","sourceRoot":"","sources":["../src/resource.ts"],"names":[],"mappings":"AAAA;;;;;;GAMG;AACH,OAAO,EAGL,KAAK,OAAO,EAEZ,KAAK,aAAa,EAOnB,MAAM,iBAAiB,CAAC;AAOzB,OAAO,EAEL,KAAK,GAAG,EACR,KAAK,UAAU,EAQhB,MAAM,MAAM,CAAC;AAOd,8EAA8E;AAC9E,MAAM,WAAW,MAAM;IACrB,MAAM,EAAE,MAAM,CAAC;IACf,IAAI,EAAE,MAAM,CAAC;IACb,QAAQ,EAAE,MAAM,CAAC;CAClB;AAED,MAAM,WAAW,oBAAoB;IACnC,0EAA0E;IAC1E,MAAM,EAAE,MAAM,CAAC;IACf,IAAI,EAAE,MAAM,CAAC;IACb,WAAW,CAAC,EAAE,MAAM,CAAC;IACrB,qFAAqF;IACrF,MAAM,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,CAAC;IAC/B,2FAA2F;IAC3F,UAAU,CAAC,EAAE,MAAM,CAAC;IACpB,8EAA8E;IAC9E,WAAW,CAAC,EAAE;QAAE,IAAI,EAAE,MAAM,CAAC;QAAC,QAAQ,EAAE,MAAM,CAAA;KAAE,EAAE,CAAC;IACnD;;;OAGG;IACH,aAAa,EAAE,SAAS,MAAM,EAAE,CAAC;IACjC,qDAAqD;IACrD,cAAc,EAAE,SAAS,MAAM,EAAE,CAAC;IAClC,2EAA2E;IAC3E,UAAU,CAAC,EAAE,MAAM,CAAC;IACpB,GAAG,CAAC,EAAE,MAAM,CAAC;IACb,uFAAuF;IACvF,OAAO,CAAC,EAAE,OAAO,CAAC;IAClB,gFAAgF;IAChF,SAAS,CAAC,EAAE,CAAC,QAAQ,EAAE;QACrB,EAAE,EAAE,MAAM,CAAC;QACX,KAAK,EAAE,MAAM,CAAC;QACd,UAAU,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,CAAC;QACnC,YAAY,CAAC,EAAE,MAAM,CAAC;KACvB,KAAK,IAAI,CAAC;CACZ;AAED,gEAAgE;AAChE,MAAM,WAAW,gBAAgB;IAC/B,KAAK,EAAE,MAAM,CAAC;IACd,6EAA6E;IAC7E,SAAS,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,CAAC;IAClC,+EAA+E;IAC/E,UAAU,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,CAAC;IACnC,wCAAwC;IACxC,OAAO,EAAE,MAAM,CAAC;IAChB,oFAAoF;IACpF,MAAM,CAAC,EAAE,MAAM,CAAC;CACjB;AAED,MAAM,MAAM,aAAa,GACrB;IACE,EAAE,EAAE,IAAI,CAAC;IACT,KAAK,EAAE,aAAa,CAAC;IACrB,qEAAqE;IACrE,GAAG,EAAE,MAAM,CAAC;IACZ,0CAA0C;IAC1C,EAAE,EAAE,MAAM,CAAC;IACX,YAAY,CAAC,EAAE,MAAM,CAAC;IACtB,iEAAiE;IACjE,GAAG,EAAE,MAAM,CAAC;CACb,GACD;IAAE,EAAE,EAAE,KAAK,CAAC;IAAC,QAAQ,EAAE,QAAQ,CAAA;CAAE,CAAC;AAEtC,MAAM,MAAM,cAAc,GACtB;IACE,EAAE,EAAE,IAAI,CAAC;IACT,KAAK,EAAE,aAAa,CAAC;IACrB,qEAAqE;IACrE,GAAG,EAAE,MAAM,CAAC;IACZ,kCAAkC;IAClC,EAAE,EAAE,MAAM,CAAC;IACX,YAAY,CAAC,EAAE,MAAM,CAAC;CACvB,GACD;IAAE,EAAE,EAAE,KAAK,CAAC;IAAC,QAAQ,EAAE,QAAQ,CAAA;CAAE,CAAC;AAEtC,MAAM,WAAW,aAAa;IAC5B,QAAQ,CAAC,MAAM,EAAE,MAAM,CAAC;IACxB,0CAA0C;IAC1C,QAAQ,IAAI,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAAC;IACpC,gCAAgC;IAChC,IAAI,IAAI;QAAE,IAAI,EAAE,GAAG,EAAE,CAAA;KAAE,CAAC;IACxB,qFAAqF;IACrF,IAAI,CAAC,MAAM,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,GAAG,OAAO,CAAC,MAAM,CAAC,CAAC;IACvD,oEAAoE;IACpE,YAAY,CAAC,KAAK,EAAE,MAAM,GAAG,OAAO,CAAC,UAAU,CAAC,CAAC;IACjD;;;;;;;OAOG;IACH,SAAS,CACP,OAAO,EAAE,OAAO,EAChB,IAAI,EAAE,MAAM,EACZ,GAAG,EACC,gBAAgB,GAChB,CAAC,CACC,KAAK,EAAE,aAAa,KACjB,gBAAgB,GAAG,OAAO,CAAC,gBAAgB,CAAC,CAAC,EACtD,OAAO,CAAC,EAAE;QAAE,GAAG,CAAC,EAAE,MAAM,CAAA;KAAE,GACzB,OAAO,CAAC,aAAa,CAAC,CAAC;IAC1B;;;;;OAKG;IACH,YAAY,CACV,OAAO,EAAE,OAAO,EAChB,IAAI,EAAE,MAAM,EACZ,OAAO,CAAC,EAAE;QAAE,GAAG,CAAC,EAAE,MAAM,CAAA;KAAE,GACzB,OAAO,CAAC,cAAc,CAAC,CAAC;IAC3B,iFAAiF;IACjF,aAAa,CAAC,OAAO,EAAE,OAAO,EAAE,GAAG,EAAE,MAAM,GAAG,OAAO,CAAC,QAAQ,CAAC,CAAC;IAChE,6FAA6F;IAC7F,MAAM,CAAC,OAAO,EAAE,OAAO,GAAG,OAAO,CAAC,QAAQ,GAAG,SAAS,CAAC,CAAC;CACzD;AAED,qEAAqE;AACrE,wBAAsB,OAAO,CAAC,GAAG,EAAE,MAAM,OAAO,CAAC,QAAQ,CAAC,GAAG,OAAO,CAAC,QAAQ,CAAC,CAQ7E;AAkED,wBAAsB,mBAAmB,CACvC,OAAO,EAAE,oBAAoB,GAC5B,OAAO,CAAC,aAAa,CAAC,CA4SxB"}
1
+ {"version":3,"file":"resource.d.ts","sourceRoot":"","sources":["../src/resource.ts"],"names":[],"mappings":"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"}
package/dist/resource.js CHANGED
@@ -6,9 +6,8 @@
6
6
  * its price as a budget any Person Server can weigh without reading R3.
7
7
  */
8
8
  import { AAuthTokenError, MemoryR3Store, buildRequirementHeader, createResourceToken, publishProposal, serveR3Document, verifyProposalParameters, verifyToken, } from "@aauth/resource";
9
- import { generateAcceptSignatureSchemeHeader, generateSignatureErrorHeader, verify, } from "@hellocoop/httpsig";
10
9
  import { SignJWT, createLocalJWKSet, decodeJwt, exportJWK, generateKeyPair, importPKCS8, jwtVerify, } from "jose";
11
- import { AAuthError, problem } from "@introspection-sdk/person-server";
10
+ import { AAuthError, httpsOnly, InvalidRequest, MAX_TOKEN_LIFETIME, parseBudget, problem, sameScale, Unauthorized, tokenProblem, trimIdentifier, verifySignature as verifyAddressed, } from "@introspection-sdk/aauth-protocol";
12
11
  /** RFC 9864's fully-specified identifier; the polymorphic `EdDSA` is not used. */
13
12
  const ALG = "Ed25519";
14
13
  /** Run a handler, answering any AAuthError as a problem response. */
@@ -22,16 +21,6 @@ export async function respond(run) {
22
21
  throw err;
23
22
  }
24
23
  }
25
- function signatureError(code, detail) {
26
- const headers = {
27
- "Signature-Error": generateSignatureErrorHeader({ error: code }),
28
- };
29
- if (code === "unsupported_scheme")
30
- headers["Accept-Signature-Scheme"] = generateAcceptSignatureSchemeHeader([
31
- "jwt",
32
- ]);
33
- return new AAuthError(401, code, detail, headers);
34
- }
35
24
  const challenge = (requirement, detail) => Response.json({ error: "unauthorized", detail }, {
36
25
  status: 401,
37
26
  headers: {
@@ -43,17 +32,7 @@ const challenge = (requirement, detail) => Response.json({ error: "unauthorized"
43
32
  /** Verify the RFC 9421 signature on a request as addressed to `url`; a body must be covered by `content-digest`. */
44
33
  async function verifySignature(request, body, url) {
45
34
  const { host, pathname } = new URL(url);
46
- const result = await verify({
47
- method: request.method,
48
- authority: host,
49
- path: pathname,
50
- headers: request.headers,
51
- ...(body ? { body } : {}),
52
- }, { requireContentDigest: true, supportedAlgorithms: ["Ed25519", "ES256"] });
53
- if (!result.verified) {
54
- const code = result.signatureError?.error ?? "invalid_signature";
55
- throw signatureError(code, result.error ?? "signature does not verify");
56
- }
35
+ const result = await verifyAddressed(request, body, host, pathname);
57
36
  return {
58
37
  keyType: result.keyType,
59
38
  thumbprint: result.thumbprint,
@@ -63,7 +42,7 @@ async function verifySignature(request, body, url) {
63
42
  }
64
43
  // #endregion
65
44
  export async function createAAuthResource(options) {
66
- const issuer = options.issuer.replace(/\/+$/, "");
45
+ const issuer = trimIdentifier(options.issuer);
67
46
  if (!issuer.startsWith("https://"))
68
47
  throw new Error("issuer must be an https origin");
69
48
  const vocabulary = options.vocabulary ?? `${issuer}/r3/vocabulary`;
@@ -78,34 +57,57 @@ export async function createAAuthResource(options) {
78
57
  const signWithHeader = (claims, header) => new SignJWT(claims)
79
58
  .setProtectedHeader({ ...header, alg: ALG, kid })
80
59
  .sign(privateKey);
60
+ const accessServer = options.accessServer === undefined
61
+ ? undefined
62
+ : trimIdentifier(options.accessServer);
63
+ const keysFetch = httpsOnly(options.fetch ?? ((input, init) => fetch(input, init)));
64
+ if (accessServer !== undefined && !accessServer.startsWith("https://"))
65
+ throw new Error("accessServer must be an https origin");
66
+ const personServers = options.personServers.map(trimIdentifier);
81
67
  const issuers = {
82
- agent: options.agentProviders,
83
- person: options.personServers,
84
- auth: options.personServers,
68
+ agent: options.agentProviders.map(trimIdentifier),
69
+ person: personServers,
70
+ auth: accessServer ? [accessServer] : personServers,
85
71
  };
86
72
  /** The token a signed request presented: a kind it accepts, from an issuer it trusts, binding the signing key. */
87
73
  async function verifyPresented(signed, accept) {
88
74
  if (signed.keyType !== "jwt" || !signed.jwt)
89
- throw signatureError("unsupported_scheme", "sign with sig=jwt");
75
+ throw Unauthorized.signature("unsupported_scheme", "sign with sig=jwt");
90
76
  let claims;
91
77
  try {
92
78
  claims = decodeJwt(signed.jwt);
93
79
  }
94
80
  catch {
95
- throw signatureError("invalid_jwt", "not a JWT");
81
+ throw Unauthorized.signature("invalid_jwt", "not a JWT");
96
82
  }
97
83
  // Checked before verifying, since verifying fetches the issuer's keys.
98
- if (!accept.some((kind) => issuers[kind]?.includes(String(claims.iss))))
99
- throw signatureError("invalid_jwt", `${String(claims.iss)} is not trusted here`);
100
- return verifyToken({
84
+ const named = trimIdentifier(String(claims.iss));
85
+ if (!accept.some((kind) => issuers[kind]?.includes(named)))
86
+ throw Unauthorized.signature("invalid_jwt", `${String(claims.iss)} is not trusted here`);
87
+ const token = await verifyToken({
101
88
  jwt: signed.jwt,
102
89
  httpSignatureThumbprint: signed.thumbprint,
103
90
  resource: issuer,
104
91
  accept,
92
+ fetch: keysFetch,
105
93
  }).catch((err) => {
106
94
  const code = err instanceof AAuthTokenError ? err.code : "invalid_jwt";
107
- throw signatureError(code === "token_expired" ? "expired_jwt" : "invalid_jwt", err.message);
95
+ throw Unauthorized.signature(code === "token_expired" ? "expired_jwt" : "invalid_jwt", err.message);
108
96
  });
97
+ if (!issuers[token.type].includes(trimIdentifier(token.iss)))
98
+ throw Unauthorized.signature("invalid_jwt", `${token.iss} does not issue those`);
99
+ const shape = tokenProblem(token.claims, token.type === "agent" ? {} : { maxLifetime: MAX_TOKEN_LIFETIME });
100
+ if (shape)
101
+ throw Unauthorized.signature("invalid_jwt", `the ${token.type} token ${shape}`);
102
+ // An auth token is the Access Server's, for one of its Person Servers' people, or else that Person Server's own.
103
+ if (token.type === "auth" &&
104
+ (trimIdentifier(token.iss) === accessServer
105
+ ? token.dwk !== "aauth-access.json" ||
106
+ !personServers.includes(trimIdentifier(token.ps))
107
+ : token.dwk !== "aauth-person.json" ||
108
+ trimIdentifier(token.ps) !== trimIdentifier(token.iss)))
109
+ throw Unauthorized.signature("invalid_jwt", "not an auth token issued here");
110
+ return token;
109
111
  }
110
112
  // #region propose
111
113
  /** `401 requirement=auth-token`: a resource token for this one call, its proposal readable by the person's Person Server alone. */
@@ -118,11 +120,12 @@ export async function createAAuthResource(options) {
118
120
  display: { summary: ask.summary },
119
121
  store: r3,
120
122
  baseUri: `${issuer}/r3`,
121
- authorized: [ps],
123
+ // The Access Server reads it too, to weigh the call.
124
+ authorized: accessServer ? [ps, accessServer] : [ps],
122
125
  });
123
126
  const resourceToken = await createResourceToken({
124
127
  resource: issuer,
125
- audience: ps,
128
+ audience: accessServer ?? ps,
126
129
  presentedToken: token,
127
130
  agentJkt,
128
131
  scope: ask.scope,
@@ -187,19 +190,15 @@ export async function createAAuthResource(options) {
187
190
  return { ok: false, response: call.challenge };
188
191
  const { signed, token } = call;
189
192
  const ask = typeof asked === "function" ? await asked(token) : asked;
190
- if (token.type === "auth" && token.r3_s256) {
193
+ if (token.type === "auth" && token.r3_s256 && grants(token, ask)) {
191
194
  const approved = await verifyProposalParameters({
192
195
  store: r3,
193
196
  r3_s256: token.r3_s256,
194
197
  presented: ask.parameters,
195
198
  operation: ask.operation,
196
199
  }).then(() => true, () => false);
197
- if (approved)
198
- return {
199
- ok: true,
200
- ...caller(token),
201
- jti: String(token.claims.jti),
202
- };
200
+ if (approved && token.jti)
201
+ return { ok: true, ...caller(token), jti: token.jti };
203
202
  }
204
203
  return {
205
204
  ok: false,
@@ -207,6 +206,35 @@ export async function createAAuthResource(options) {
207
206
  };
208
207
  });
209
208
  }
209
+ /**
210
+ * Whether an auth token grants this call, whoever issued it: its `scope`
211
+ * covers the call's, and its `budget`, in the call's unit and scale, covers
212
+ * the call's price (draft-hardt-aauth-budgets #resource-enforces). An Access
213
+ * Server may grant less than was asked; a token that does not cover the call
214
+ * is answered with a fresh challenge, as for no token at all.
215
+ */
216
+ function grants(token, ask) {
217
+ const granted = new Set(String(token.claims.scope ?? "")
218
+ .split(" ")
219
+ .filter(Boolean));
220
+ if (!ask.scope
221
+ .split(" ")
222
+ .filter(Boolean)
223
+ .every((s) => granted.has(s)))
224
+ return false;
225
+ if (!ask.budget)
226
+ return true;
227
+ let budget;
228
+ try {
229
+ budget = parseBudget(token.claims.budget);
230
+ }
231
+ catch {
232
+ return false;
233
+ }
234
+ return (!!budget &&
235
+ sameScale(budget, ask.budget) &&
236
+ budget.amount >= ask.budget.amount);
237
+ }
210
238
  async function authenticate(request, body, { url } = {}) {
211
239
  return admitting(async () => {
212
240
  const call = await presented(request, body, url);
@@ -219,8 +247,9 @@ export async function createAAuthResource(options) {
219
247
  /** An R3 proposal, to the Person Server it was published for and no one else. */
220
248
  async function serveProposal(request, key) {
221
249
  const id = /jwks_uri;(?:[^,]*;)?id="([^"]+)"/.exec(request.headers.get("signature-key") ?? "")?.[1];
222
- if (!id || !options.personServers.includes(id))
223
- throw signatureError("invalid_signature", "only the person's Person Server reads a proposal");
250
+ if (!id ||
251
+ !(personServers.includes(trimIdentifier(id)) || id === accessServer))
252
+ throw Unauthorized.signature("invalid_signature", "only the person's Person Server, or this resource's Access Server, reads a proposal");
224
253
  const signed = await verifySignature(request, undefined, `${issuer}/r3/${key}`);
225
254
  const served = await serveR3Document({
226
255
  store: r3,
@@ -257,7 +286,7 @@ export async function createAAuthResource(options) {
257
286
  })).payload;
258
287
  }
259
288
  catch {
260
- throw new AAuthError(400, "invalid_request", "not signed by this resource");
289
+ throw new InvalidRequest("not signed by this resource");
261
290
  }
262
291
  },
263
292
  authorize,
@@ -1 +1 @@
1
- {"version":3,"file":"resource.js","sourceRoot":"","sources":["../src/resource.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"resource.js","sourceRoot":"","sources":["../src/resource.ts"],"names":[],"mappings":"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"}
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@introspection-sdk/aauth-resource",
3
- "version": "0.38.1",
3
+ "version": "0.40.0",
4
4
  "license": "Apache-2.0",
5
5
  "repository": {
6
6
  "type": "git",
@@ -25,16 +25,15 @@
25
25
  ],
26
26
  "dependencies": {
27
27
  "@aauth/resource": "^3.0.0",
28
- "@hellocoop/httpsig": "^2.6.0",
29
28
  "jose": "^6.2.12",
30
- "@introspection-sdk/person-server": "0.38.1"
29
+ "@introspection-sdk/aauth-protocol": "0.1.0"
31
30
  },
32
31
  "devDependencies": {
33
32
  "@types/node": "^22.20.5",
34
33
  "eslint": "^9.39.5",
35
34
  "typescript": "5.9.3",
36
- "@repo/eslint-config": "0.0.0",
37
- "@repo/typescript-config": "0.0.0"
35
+ "@repo/typescript-config": "0.0.0",
36
+ "@repo/eslint-config": "0.0.0"
38
37
  },
39
38
  "scripts": {
40
39
  "lint": "eslint . --max-warnings 0",