@pymthouse/builder-sdk 0.4.1-rc.2 → 0.4.1
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 +10 -10
- package/dist/env.cjs +4 -13
- package/dist/env.cjs.map +1 -1
- package/dist/env.js +4 -13
- package/dist/env.js.map +1 -1
- package/dist/{index-B0ryx942.d.cts → index-D5wdxNYy.d.cts} +1 -1
- package/dist/{index-CvV5syf_.d.ts → index-DFJ6qcK0.d.ts} +1 -1
- package/dist/index.cjs +4 -13
- package/dist/index.cjs.map +1 -1
- package/dist/index.d.cts +1 -1
- package/dist/index.d.ts +1 -1
- package/dist/index.js +4 -13
- package/dist/index.js.map +1 -1
- package/dist/{proxy-JrT6raU_.d.cts → proxy-0wa8QZIU.d.cts} +16 -2
- package/dist/{proxy-U32DFNuj.d.ts → proxy-KrA1vEmh.d.ts} +16 -2
- package/dist/signer/server.cjs +89 -72
- package/dist/signer/server.cjs.map +1 -1
- package/dist/signer/server.d.cts +2 -2
- package/dist/signer/server.d.ts +2 -2
- package/dist/signer/server.js +89 -72
- package/dist/signer/server.js.map +1 -1
- package/dist/signer/webhook/adapters/api-key.cjs +1 -1
- package/dist/signer/webhook/adapters/api-key.cjs.map +1 -1
- package/dist/signer/webhook/adapters/api-key.d.cts +1 -1
- package/dist/signer/webhook/adapters/api-key.d.ts +1 -1
- package/dist/signer/webhook/adapters/api-key.js +1 -1
- package/dist/signer/webhook/adapters/api-key.js.map +1 -1
- package/dist/signer/webhook/adapters/composite.cjs +1 -1
- package/dist/signer/webhook/adapters/composite.cjs.map +1 -1
- package/dist/signer/webhook/adapters/composite.d.cts +1 -1
- package/dist/signer/webhook/adapters/composite.d.ts +1 -1
- package/dist/signer/webhook/adapters/composite.js +1 -1
- package/dist/signer/webhook/adapters/composite.js.map +1 -1
- package/dist/signer/webhook/adapters/oidc.cjs +6 -3
- package/dist/signer/webhook/adapters/oidc.cjs.map +1 -1
- package/dist/signer/webhook/adapters/oidc.d.cts +2 -2
- package/dist/signer/webhook/adapters/oidc.d.ts +2 -2
- package/dist/signer/webhook/adapters/oidc.js +6 -3
- package/dist/signer/webhook/adapters/oidc.js.map +1 -1
- package/dist/signer/webhook/adapters/trusted-headers.cjs +1 -1
- package/dist/signer/webhook/adapters/trusted-headers.cjs.map +1 -1
- package/dist/signer/webhook/adapters/trusted-headers.d.cts +1 -1
- package/dist/signer/webhook/adapters/trusted-headers.d.ts +1 -1
- package/dist/signer/webhook/adapters/trusted-headers.js +1 -1
- package/dist/signer/webhook/adapters/trusted-headers.js.map +1 -1
- package/dist/signer/webhook.cjs +7 -71
- package/dist/signer/webhook.cjs.map +1 -1
- package/dist/signer/webhook.d.cts +5 -14
- package/dist/signer/webhook.d.ts +5 -14
- package/dist/signer/webhook.js +8 -70
- package/dist/signer/webhook.js.map +1 -1
- package/dist/{verifier-B-WFDMz6.d.cts → verifier-Be9WAjFF.d.cts} +3 -2
- package/dist/{verifier-B-WFDMz6.d.ts → verifier-Be9WAjFF.d.ts} +3 -2
- package/package.json +2 -8
- package/dist/signer/webhook/adapters/oauth1.cjs +0 -18
- package/dist/signer/webhook/adapters/oauth1.cjs.map +0 -1
- package/dist/signer/webhook/adapters/oauth1.d.cts +0 -19
- package/dist/signer/webhook/adapters/oauth1.d.ts +0 -19
- package/dist/signer/webhook/adapters/oauth1.js +0 -16
- package/dist/signer/webhook/adapters/oauth1.js.map +0 -1
package/README.md
CHANGED
|
@@ -126,21 +126,18 @@ reference **integration security** webhook that validates end-user credentials a
|
|
|
126
126
|
returns `UsageIdentity` to the signer (`POST /authorize`).
|
|
127
127
|
|
|
128
128
|
Transport (signer shared-secret auth, wire protocol) is separate from **end-user
|
|
129
|
-
auth strategies** (`EndUserAuthVerifier`). OIDC/JWT is the default
|
|
130
|
-
|
|
129
|
+
auth strategies** (`EndUserAuthVerifier`). OIDC/JWT is the default; an API-key
|
|
130
|
+
adapter and a composite "first match" adapter are also provided, and you can
|
|
131
|
+
plug in any custom verifier.
|
|
131
132
|
|
|
132
133
|
```ts
|
|
133
134
|
import {
|
|
135
|
+
createApiKeyEndUserVerifier,
|
|
134
136
|
createOidcRemoteSignerWebhookConfig,
|
|
135
137
|
createRemoteSignerAuthorizeHandler,
|
|
136
|
-
readOidcRemoteSignerWebhookConfigFromEnv,
|
|
137
|
-
startRemoteSignerWebhookServer,
|
|
138
138
|
type EndUserAuthVerifier,
|
|
139
139
|
} from "@pymthouse/builder-sdk/signer/webhook";
|
|
140
140
|
|
|
141
|
-
// Standalone sidecar (loads JWT_ISSUER, JWT_AUDIENCE, WEBHOOK_SECRET from env)
|
|
142
|
-
startRemoteSignerWebhookServer();
|
|
143
|
-
|
|
144
141
|
// OIDC (default): Auth0, pymthouse issuer, etc.
|
|
145
142
|
const authorize = createRemoteSignerAuthorizeHandler(
|
|
146
143
|
createOidcRemoteSignerWebhookConfig({
|
|
@@ -151,6 +148,12 @@ const authorize = createRemoteSignerAuthorizeHandler(
|
|
|
151
148
|
}),
|
|
152
149
|
);
|
|
153
150
|
|
|
151
|
+
// API key: resolve your own keys to a UsageIdentity
|
|
152
|
+
const apiKeyVerifier = createApiKeyEndUserVerifier({
|
|
153
|
+
issuer: process.env.JWT_ISSUER!,
|
|
154
|
+
resolveApiKey: async (key) => (await lookup(key)) ?? null,
|
|
155
|
+
});
|
|
156
|
+
|
|
154
157
|
// Custom provider: implement EndUserAuthVerifier
|
|
155
158
|
const customConfig = {
|
|
156
159
|
webhookSecret: process.env.WEBHOOK_SECRET!,
|
|
@@ -167,9 +170,6 @@ const customConfig = {
|
|
|
167
170
|
Env vars align with `auth0-livepeer` bootstrap output (`.env.livepeer`). For Auth0,
|
|
168
171
|
set `CLAIM_CLIENT_ID=azp` and `USAGE_SUBJECT_TYPE=auth0_user_id`.
|
|
169
172
|
|
|
170
|
-
OAuth 1.0: `createOAuth1EndUserVerifier` exists as a stub; signature verification
|
|
171
|
-
is not implemented yet.
|
|
172
|
-
|
|
173
173
|
## Subpath exports
|
|
174
174
|
|
|
175
175
|
| Import | Purpose |
|
package/dist/env.cjs
CHANGED
|
@@ -213,14 +213,8 @@ var init_fetch_json = __esm({
|
|
|
213
213
|
});
|
|
214
214
|
|
|
215
215
|
// src/signer/handler-errors.ts
|
|
216
|
-
function isPmtHouseError(error) {
|
|
217
|
-
if (error instanceof PmtHouseError) {
|
|
218
|
-
return true;
|
|
219
|
-
}
|
|
220
|
-
return error instanceof Error && typeof error.status === "number" && typeof error.code === "string";
|
|
221
|
-
}
|
|
222
216
|
function signerHandlerErrorResponse(error) {
|
|
223
|
-
if (
|
|
217
|
+
if (error instanceof PmtHouseError) {
|
|
224
218
|
return new Response(
|
|
225
219
|
JSON.stringify({
|
|
226
220
|
error: error.code,
|
|
@@ -273,9 +267,6 @@ var init_json_fields = __esm({
|
|
|
273
267
|
});
|
|
274
268
|
|
|
275
269
|
// src/signer/mint-token.ts
|
|
276
|
-
function signerJwtAudience(issuerUrl) {
|
|
277
|
-
return stripTrailingSlashes(issuerUrl);
|
|
278
|
-
}
|
|
279
270
|
function parseMintUserSignerTokenResponse(body, ttlRefreshRatio = DEFAULT_TTL_REFRESH_RATIO) {
|
|
280
271
|
const accessToken = readStringField(body, "access_token", TOKEN_RESPONSE_ERROR, "Token response");
|
|
281
272
|
const expiresIn = readExpiresIn(body, TOKEN_RESPONSE_ERROR);
|
|
@@ -302,11 +293,11 @@ function parseMintUserSignerTokenResponse(body, ttlRefreshRatio = DEFAULT_TTL_RE
|
|
|
302
293
|
lifetimeGrantedUsdMicros
|
|
303
294
|
};
|
|
304
295
|
}
|
|
305
|
-
var DEFAULT_TTL_REFRESH_RATIO, TOKEN_RESPONSE_ERROR;
|
|
296
|
+
var LIVEPEER_REMOTE_SIGNER_AUDIENCE, DEFAULT_TTL_REFRESH_RATIO, TOKEN_RESPONSE_ERROR;
|
|
306
297
|
var init_mint_token = __esm({
|
|
307
298
|
"src/signer/mint-token.ts"() {
|
|
308
|
-
init_string_utils();
|
|
309
299
|
init_json_fields();
|
|
300
|
+
LIVEPEER_REMOTE_SIGNER_AUDIENCE = "livepeer-remote-signer";
|
|
310
301
|
DEFAULT_TTL_REFRESH_RATIO = 0.8;
|
|
311
302
|
TOKEN_RESPONSE_ERROR = "invalid_token_response";
|
|
312
303
|
}
|
|
@@ -373,7 +364,7 @@ async function mintSignerTokenFromDeviceToken(options) {
|
|
|
373
364
|
code: "oidc_discovery_invalid"
|
|
374
365
|
});
|
|
375
366
|
}
|
|
376
|
-
const audience = options.audience?.trim() ||
|
|
367
|
+
const audience = options.audience?.trim() || LIVEPEER_REMOTE_SIGNER_AUDIENCE;
|
|
377
368
|
const params = new URLSearchParams({
|
|
378
369
|
grant_type: TOKEN_EXCHANGE_GRANT,
|
|
379
370
|
subject_token: options.deviceToken,
|