@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 +2 -1
- package/dist/index.d.ts +1 -1
- package/dist/index.d.ts.map +1 -1
- package/dist/index.js +1 -1
- package/dist/index.js.map +1 -1
- package/dist/resource.d.ts +12 -5
- package/dist/resource.d.ts.map +1 -1
- package/dist/resource.js +74 -45
- package/dist/resource.js.map +1 -1
- package/package.json +4 -5
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/
|
|
2
|
+
export { AAuthError, problem } from "@introspection-sdk/aauth-protocol";
|
|
3
3
|
//# sourceMappingURL=index.d.ts.map
|
package/dist/index.d.ts.map
CHANGED
|
@@ -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,
|
|
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
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,
|
|
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"}
|
package/dist/resource.d.ts
CHANGED
|
@@ -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
|
|
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. */
|
package/dist/resource.d.ts.map
CHANGED
|
@@ -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;
|
|
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/
|
|
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
|
|
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
|
|
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:
|
|
84
|
-
auth:
|
|
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
|
|
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
|
|
81
|
+
throw Unauthorized.signature("invalid_jwt", "not a JWT");
|
|
96
82
|
}
|
|
97
83
|
// Checked before verifying, since verifying fetches the issuer's keys.
|
|
98
|
-
|
|
99
|
-
|
|
100
|
-
|
|
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
|
|
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
|
-
|
|
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 ||
|
|
223
|
-
|
|
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
|
|
289
|
+
throw new InvalidRequest("not signed by this resource");
|
|
261
290
|
}
|
|
262
291
|
},
|
|
263
292
|
authorize,
|
package/dist/resource.js.map
CHANGED
|
@@ -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.
|
|
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/
|
|
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/
|
|
37
|
-
"@repo/
|
|
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",
|