@superfunctions/oauth-http 0.0.1 → 0.2.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
@@ -48,6 +48,15 @@ It does not own state validation, token persistence, or route generation. Pair i
48
48
  - Tune retries for provider-specific 429/5xx behavior instead of wrapping token calls with ad hoc fetch logic.
49
49
  - Treat provider revocation as best effort unless your product contract requires remote confirmation before local cleanup.
50
50
 
51
+ ## Release validation
52
+
53
+ Run `npm run typecheck`, `npm run build`, `npm run lint`, and `npm test` in a
54
+ standalone package checkout with registry-backed dependencies. The transport
55
+ requires the OAuth core descriptor additions released in `0.2.0`; a workspace
56
+ source alias cannot substitute for that published prerequisite. The nested-token
57
+ tests exercise user-versus-bot selection, missing-user failures, JSON request
58
+ encoding with Basic authentication, provider headers, and JSON revocation errors.
59
+
51
60
  ## Related Packages
52
61
 
53
62
  - OAuth core primitives: [../oauth-core/README.md](../oauth-core/README.md)
@@ -9,6 +9,8 @@ interface ResponseLike {
9
9
  status: number;
10
10
  headers: HeadersLike;
11
11
  text(): Promise<string>;
12
+ /** Release an unread response body and any request timeout resources. */
13
+ discard?(): Promise<void>;
12
14
  }
13
15
  export interface RequestInitLike {
14
16
  method: string;
@@ -20,6 +22,13 @@ export interface OAuthTokenClientOptions {
20
22
  fetcher?: OAuthFetchLike;
21
23
  retryPolicy?: OAuthRetryPolicy;
22
24
  sleep?: (delayMs: number) => Promise<void>;
25
+ /**
26
+ * Per-request timeout (ms) applied to the default global-fetch fetcher.
27
+ * Prevents a hung/slow provider endpoint from blocking indefinitely and
28
+ * exhausting sockets. Ignored when a custom `fetcher` is supplied. Defaults
29
+ * to 15000ms; set to 0 to disable.
30
+ */
31
+ timeoutMs?: number;
23
32
  }
24
33
  export interface DisconnectWithRevokeInput {
25
34
  revokeSupported: boolean;
@@ -41,7 +50,10 @@ export declare class DefaultOAuthTokenHttpClient implements OAuthTokenHttpClient
41
50
  exchangeToken(input: OAuthTokenEndpointRequest): Promise<OAuthTokenEndpointResponse>;
42
51
  revokeToken(input: OAuthRevocationRequest): Promise<void>;
43
52
  private executeWithRetry;
53
+ private retryTransportFailure;
44
54
  }
45
55
  export declare function disconnectWithRevoke(client: OAuthTokenHttpClient, input: DisconnectWithRevokeInput): Promise<DisconnectWithRevokeResult>;
56
+ /** Creates the shared timeout-aware global fetch adapter used by OAuth transports. */
57
+ export declare function createOAuthFetchLike(timeoutMs?: number): OAuthFetchLike;
46
58
  export {};
47
59
  //# sourceMappingURL=token-client.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"token-client.d.ts","sourceRoot":"","sources":["../src/token-client.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAGV,sBAAsB,EAGtB,yBAAyB,EACzB,0BAA0B,EAE1B,oBAAoB,EACrB,MAAM,YAAY,CAAC;AACpB,OAAO,EACL,cAAc,EAKf,MAAM,aAAa,CAAC;AACrB,OAAO,EAA2C,KAAK,gBAAgB,EAAE,MAAM,mBAAmB,CAAC;AAEnG,UAAU,WAAW;IACnB,GAAG,CAAC,IAAI,EAAE,MAAM,GAAG,MAAM,GAAG,IAAI,CAAC;CAClC;AAED,UAAU,YAAY;IACpB,EAAE,EAAE,OAAO,CAAC;IACZ,MAAM,EAAE,MAAM,CAAC;IACf,OAAO,EAAE,WAAW,CAAC;IACrB,IAAI,IAAI,OAAO,CAAC,MAAM,CAAC,CAAC;CACzB;AAED,MAAM,WAAW,eAAe;IAC9B,MAAM,EAAE,MAAM,CAAC;IACf,OAAO,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,CAAC;IAChC,IAAI,CAAC,EAAE,MAAM,CAAC;CACf;AAED,MAAM,MAAM,cAAc,GAAG,CAAC,GAAG,EAAE,MAAM,EAAE,IAAI,EAAE,eAAe,KAAK,OAAO,CAAC,YAAY,CAAC,CAAC;AAE3F,MAAM,WAAW,uBAAuB;IACtC,OAAO,CAAC,EAAE,cAAc,CAAC;IACzB,WAAW,CAAC,EAAE,gBAAgB,CAAC;IAC/B,KAAK,CAAC,EAAE,CAAC,OAAO,EAAE,MAAM,KAAK,OAAO,CAAC,IAAI,CAAC,CAAC;CAC5C;AAED,MAAM,WAAW,yBAAyB;IACxC,eAAe,EAAE,OAAO,CAAC;IACzB,aAAa,EAAE,sBAAsB,CAAC;IACtC,sBAAsB,EAAE,MAAM,OAAO,CAAC,IAAI,CAAC,CAAC;IAC5C,sBAAsB,EAAE,MAAM,OAAO,CAAC,IAAI,CAAC,CAAC;IAC5C,mBAAmB,CAAC,EAAE,CAAC,KAAK,EAAE,cAAc,KAAK,OAAO,CAAC,IAAI,CAAC,GAAG,IAAI,CAAC;CACvE;AAED,MAAM,WAAW,0BAA0B;IACzC,qBAAqB,EAAE,OAAO,CAAC;IAC/B,iBAAiB,EAAE,OAAO,CAAC;IAC3B,iBAAiB,EAAE,OAAO,CAAC;CAC5B;AAQD,qBAAa,2BAA4B,YAAW,oBAAoB;IACtE,OAAO,CAAC,QAAQ,CAAC,OAAO,CAAiB;IACzC,OAAO,CAAC,QAAQ,CAAC,WAAW,CAAmB;IAC/C,OAAO,CAAC,QAAQ,CAAC,KAAK,CAAqC;gBAE/C,OAAO,GAAE,uBAA4B;IAM3C,aAAa,CAAC,KAAK,EAAE,yBAAyB,GAAG,OAAO,CAAC,0BAA0B,CAAC;IA2BpF,WAAW,CAAC,KAAK,EAAE,sBAAsB,GAAG,OAAO,CAAC,IAAI,CAAC;YAkCjD,gBAAgB;CAiD/B;AAED,wBAAsB,oBAAoB,CACxC,MAAM,EAAE,oBAAoB,EAC5B,KAAK,EAAE,yBAAyB,GAC/B,OAAO,CAAC,0BAA0B,CAAC,CAyCrC"}
1
+ {"version":3,"file":"token-client.d.ts","sourceRoot":"","sources":["../src/token-client.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAGV,sBAAsB,EAGtB,yBAAyB,EACzB,0BAA0B,EAE1B,oBAAoB,EACrB,MAAM,YAAY,CAAC;AACpB,OAAO,EACL,cAAc,EAKf,MAAM,aAAa,CAAC;AACrB,OAAO,EAA2C,KAAK,gBAAgB,EAAE,MAAM,mBAAmB,CAAC;AAEnG,UAAU,WAAW;IACnB,GAAG,CAAC,IAAI,EAAE,MAAM,GAAG,MAAM,GAAG,IAAI,CAAC;CAClC;AAED,UAAU,YAAY;IACpB,EAAE,EAAE,OAAO,CAAC;IACZ,MAAM,EAAE,MAAM,CAAC;IACf,OAAO,EAAE,WAAW,CAAC;IACrB,IAAI,IAAI,OAAO,CAAC,MAAM,CAAC,CAAC;IACxB,yEAAyE;IACzE,OAAO,CAAC,IAAI,OAAO,CAAC,IAAI,CAAC,CAAC;CAC3B;AAED,MAAM,WAAW,eAAe;IAC9B,MAAM,EAAE,MAAM,CAAC;IACf,OAAO,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,CAAC;IAChC,IAAI,CAAC,EAAE,MAAM,CAAC;CACf;AAED,MAAM,MAAM,cAAc,GAAG,CAAC,GAAG,EAAE,MAAM,EAAE,IAAI,EAAE,eAAe,KAAK,OAAO,CAAC,YAAY,CAAC,CAAC;AAE3F,MAAM,WAAW,uBAAuB;IACtC,OAAO,CAAC,EAAE,cAAc,CAAC;IACzB,WAAW,CAAC,EAAE,gBAAgB,CAAC;IAC/B,KAAK,CAAC,EAAE,CAAC,OAAO,EAAE,MAAM,KAAK,OAAO,CAAC,IAAI,CAAC,CAAC;IAC3C;;;;;OAKG;IACH,SAAS,CAAC,EAAE,MAAM,CAAC;CACpB;AAID,MAAM,WAAW,yBAAyB;IACxC,eAAe,EAAE,OAAO,CAAC;IACzB,aAAa,EAAE,sBAAsB,CAAC;IACtC,sBAAsB,EAAE,MAAM,OAAO,CAAC,IAAI,CAAC,CAAC;IAC5C,sBAAsB,EAAE,MAAM,OAAO,CAAC,IAAI,CAAC,CAAC;IAC5C,mBAAmB,CAAC,EAAE,CAAC,KAAK,EAAE,cAAc,KAAK,OAAO,CAAC,IAAI,CAAC,GAAG,IAAI,CAAC;CACvE;AAED,MAAM,WAAW,0BAA0B;IACzC,qBAAqB,EAAE,OAAO,CAAC;IAC/B,iBAAiB,EAAE,OAAO,CAAC;IAC3B,iBAAiB,EAAE,OAAO,CAAC;CAC5B;AAQD,qBAAa,2BAA4B,YAAW,oBAAoB;IACtE,OAAO,CAAC,QAAQ,CAAC,OAAO,CAAiB;IACzC,OAAO,CAAC,QAAQ,CAAC,WAAW,CAAmB;IAC/C,OAAO,CAAC,QAAQ,CAAC,KAAK,CAAqC;gBAE/C,OAAO,GAAE,uBAA4B;IAM3C,aAAa,CAAC,KAAK,EAAE,yBAAyB,GAAG,OAAO,CAAC,0BAA0B,CAAC;IA4CpF,WAAW,CAAC,KAAK,EAAE,sBAAsB,GAAG,OAAO,CAAC,IAAI,CAAC;YA8CjD,gBAAgB;YA4EhB,qBAAqB;CAgCpC;AAED,wBAAsB,oBAAoB,CACxC,MAAM,EAAE,oBAAoB,EAC5B,KAAK,EAAE,yBAAyB,GAC/B,OAAO,CAAC,0BAA0B,CAAC,CAyCrC;AAgYD,sFAAsF;AACtF,wBAAgB,oBAAoB,CAClC,SAAS,GAAE,MAAyC,GACnD,cAAc,CA2FhB"}
@@ -1,11 +1,12 @@
1
1
  import { OAuthHttpError, invalidRuntimeConfigError, normalizeOAuthErrorBody, secretResolutionFailedError, unsupportedTokenAuthMethodError } from "./errors.js";
2
2
  import { DEFAULT_OAUTH_RETRY_POLICY, decideRetry } from "./retry-policy.js";
3
+ const DEFAULT_OAUTH_REQUEST_TIMEOUT_MS = 15_000;
3
4
  export class DefaultOAuthTokenHttpClient {
4
5
  fetcher;
5
6
  retryPolicy;
6
7
  sleep;
7
8
  constructor(options = {}) {
8
- this.fetcher = options.fetcher ?? getGlobalFetch();
9
+ this.fetcher = options.fetcher ?? createOAuthFetchLike(options.timeoutMs);
9
10
  this.retryPolicy = options.retryPolicy ?? DEFAULT_OAUTH_RETRY_POLICY;
10
11
  this.sleep = options.sleep ?? ((delayMs) => new Promise((resolve) => setTimeout(resolve, delayMs)));
11
12
  }
@@ -19,7 +20,10 @@ export class DefaultOAuthTokenHttpClient {
19
20
  scopes: input.scopes
20
21
  });
21
22
  const endpointRequest = createTokenRequest(input, credentials);
22
- const response = await this.executeWithRetry(input.provider.tokenUrl, endpointRequest);
23
+ const failureCode = input.grantType === "refresh_token"
24
+ ? "OAUTH_TOKEN_REFRESH_FAILED"
25
+ : "OAUTH_TOKEN_EXCHANGE_FAILED";
26
+ const response = await this.executeWithRetry(input.provider.tokenUrl, endpointRequest, "always", failureCode);
23
27
  const contentType = response.headers.get("content-type");
24
28
  const rawBodyText = await response.text();
25
29
  const parsedBody = parseResponseBody(rawBodyText, contentType);
@@ -31,7 +35,16 @@ export class DefaultOAuthTokenHttpClient {
31
35
  parsedBody
32
36
  });
33
37
  }
34
- return normalizeTokenResponse(parsedBody);
38
+ let tokenBody = parsedBody;
39
+ if (input.grantType === "authorization_code" && input.provider.authorizationCodeTokenPath) {
40
+ for (const key of input.provider.authorizationCodeTokenPath) {
41
+ if (!tokenBody || typeof tokenBody !== "object" || Array.isArray(tokenBody) || !Object.prototype.hasOwnProperty.call(tokenBody, key)) {
42
+ throw new OAuthHttpError("Provider user token is missing", { code: failureCode, status: 502, retryable: false });
43
+ }
44
+ tokenBody = tokenBody[key];
45
+ }
46
+ }
47
+ return normalizeTokenResponse(tokenBody, input.grantType);
35
48
  }
36
49
  async revokeToken(input) {
37
50
  if (!input.provider.revocationUrl) {
@@ -43,9 +56,16 @@ export class DefaultOAuthTokenHttpClient {
43
56
  clientId: input.clientId,
44
57
  tokenTypeHint: input.tokenTypeHint
45
58
  });
59
+ const revocationUrl = resolveRevocationUrl(input.provider.revocationUrl, credentials.clientId);
46
60
  const endpointRequest = createRevokeRequest(input, credentials);
47
- const response = await this.executeWithRetry(input.provider.revocationUrl, endpointRequest);
61
+ const response = await this.executeWithRetry(revocationUrl, endpointRequest, input.provider.revocationResponse === "json-ok" ? "always" : "errors-only", "INTERNAL_ERROR");
48
62
  if (response.ok) {
63
+ if (input.provider.revocationResponse === "json-ok") {
64
+ const payload = parseResponseBody(await response.text(), response.headers.get("content-type"));
65
+ if (!payload || typeof payload !== "object" || payload.ok !== true) {
66
+ throw new OAuthHttpError("Provider revocation was not confirmed", { code: "INTERNAL_ERROR", status: 502, retryable: false });
67
+ }
68
+ }
49
69
  return;
50
70
  }
51
71
  const contentType = response.headers.get("content-type");
@@ -64,7 +84,7 @@ export class DefaultOAuthTokenHttpClient {
64
84
  }
65
85
  });
66
86
  }
67
- async executeWithRetry(url, init) {
87
+ async executeWithRetry(url, init, bodyMode, failureCode) {
68
88
  let attempt = 1;
69
89
  while (true) {
70
90
  let response;
@@ -72,36 +92,83 @@ export class DefaultOAuthTokenHttpClient {
72
92
  response = await this.fetcher(url, init);
73
93
  }
74
94
  catch (error) {
75
- const decision = decideRetry({
76
- attempt,
77
- status: 503
78
- }, this.retryPolicy);
79
- if (!decision.retry) {
80
- throw new OAuthHttpError("OAuth provider request failed", {
81
- code: "OAUTH_TOKEN_EXCHANGE_FAILED",
82
- status: 502,
95
+ await this.retryTransportFailure(error, attempt, failureCode);
96
+ attempt += 1;
97
+ continue;
98
+ }
99
+ const statusDecision = decideRetry({
100
+ attempt,
101
+ status: response.status,
102
+ retryAfterHeader: response.headers.get("retry-after")
103
+ }, this.retryPolicy);
104
+ if (statusDecision.retry) {
105
+ await response.discard?.().catch(() => undefined);
106
+ await this.sleep(statusDecision.delayMs);
107
+ attempt += 1;
108
+ continue;
109
+ }
110
+ if (bodyMode === "errors-only" && response.ok) {
111
+ // RFC 7009 success responses do not require a body. Do not let a
112
+ // provider that returned successful headers delay local cleanup.
113
+ await response.discard?.().catch(() => undefined);
114
+ return response;
115
+ }
116
+ let body;
117
+ try {
118
+ // Read before leaving the retry boundary. Response bodies can fail or
119
+ // time out after headers have arrived and must receive the same retry
120
+ // and error normalization as the initial fetch.
121
+ body = await response.text();
122
+ }
123
+ catch (error) {
124
+ await response.discard?.().catch(() => undefined);
125
+ if (bodyMode === "always") {
126
+ const timedOut = error instanceof OAuthHttpError && error.status === 504;
127
+ throw new OAuthHttpError("OAuth provider response body failed", {
128
+ code: failureCode,
129
+ status: timedOut ? 504 : 502,
83
130
  retryable: false,
84
131
  cause: error,
85
132
  details: {
86
- transportFailure: true
133
+ transportFailure: true,
134
+ responseBodyFailure: true
87
135
  }
88
136
  });
89
137
  }
90
- await this.sleep(decision.delayMs);
138
+ await this.retryTransportFailure(error, attempt, failureCode);
91
139
  attempt += 1;
92
140
  continue;
93
141
  }
94
- const decision = decideRetry({
95
- attempt,
142
+ return {
143
+ ok: response.ok,
96
144
  status: response.status,
97
- retryAfterHeader: response.headers.get("retry-after")
98
- }, this.retryPolicy);
99
- if (!decision.retry) {
100
- return response;
145
+ headers: response.headers,
146
+ text: async () => body,
147
+ discard: async () => undefined
148
+ };
149
+ }
150
+ }
151
+ async retryTransportFailure(error, attempt, failureCode) {
152
+ const timeoutError = error instanceof OAuthHttpError && error.status === 504 && error.retryable;
153
+ const decision = decideRetry({
154
+ attempt,
155
+ status: timeoutError ? 504 : 503
156
+ }, this.retryPolicy);
157
+ if (!decision.retry) {
158
+ if (timeoutError) {
159
+ throw error;
101
160
  }
102
- await this.sleep(decision.delayMs);
103
- attempt += 1;
161
+ throw new OAuthHttpError("OAuth provider request failed", {
162
+ code: failureCode,
163
+ status: 502,
164
+ retryable: false,
165
+ cause: error,
166
+ details: {
167
+ transportFailure: true
168
+ }
169
+ });
104
170
  }
171
+ await this.sleep(decision.delayMs);
105
172
  }
106
173
  }
107
174
  export async function disconnectWithRevoke(client, input) {
@@ -217,13 +284,27 @@ function createTokenRequest(input, credentials) {
217
284
  if (input.scopes && input.scopes.length > 0) {
218
285
  params.set("scope", input.scopes.join(input.provider.scopeSeparator ?? " "));
219
286
  }
220
- return {
221
- method: "POST",
222
- headers: createAuthHeaders(credentials, params),
223
- body: params.toString()
224
- };
287
+ const headers = { ...input.provider.tokenHeaders, ...createAuthHeaders(credentials, params) };
288
+ const json = input.provider.tokenBodyEncoding === 'json';
289
+ if (json)
290
+ headers['content-type'] = 'application/json';
291
+ return { method: 'POST', headers, body: json ? JSON.stringify(Object.fromEntries(params)) : params.toString() };
292
+ }
293
+ function resolveRevocationUrl(revocationUrl, clientId) {
294
+ if (!revocationUrl) {
295
+ return "";
296
+ }
297
+ if (!revocationUrl.includes("{client_id}")) {
298
+ return revocationUrl;
299
+ }
300
+ return revocationUrl.replace("{client_id}", encodeURIComponent(clientId));
225
301
  }
226
302
  function createRevokeRequest(input, credentials) {
303
+ if (input.provider.revocationStyle === "github" ||
304
+ (input.provider.revocationStyle === undefined &&
305
+ isGitHubApplicationRevokeUrl(input.provider.revocationUrl))) {
306
+ return createGithubRevokeRequest(input, credentials);
307
+ }
227
308
  const params = new URLSearchParams();
228
309
  params.set("token", input.token);
229
310
  if (input.tokenTypeHint) {
@@ -235,6 +316,26 @@ function createRevokeRequest(input, credentials) {
235
316
  body: params.toString()
236
317
  };
237
318
  }
319
+ function isGitHubApplicationRevokeUrl(revocationUrl) {
320
+ return Boolean(revocationUrl?.includes("/applications/") && revocationUrl.includes("/token"));
321
+ }
322
+ /**
323
+ * GitHub OAuth-app token revocation uses raw client credentials for HTTP
324
+ * Basic auth. URL encoding is only applied to the client-id URL segment.
325
+ */
326
+ function createGithubRevokeRequest(input, credentials) {
327
+ const auth = encodeBasicCredentials(credentials.clientId, credentials.clientSecret);
328
+ return {
329
+ method: "DELETE",
330
+ headers: {
331
+ accept: "application/vnd.github+json",
332
+ authorization: `Basic ${auth}`,
333
+ "content-type": "application/json",
334
+ "x-github-api-version": "2022-11-28"
335
+ },
336
+ body: JSON.stringify({ access_token: input.token })
337
+ };
338
+ }
238
339
  function createAuthHeaders(credentials, params) {
239
340
  const headers = {
240
341
  "content-type": "application/x-www-form-urlencoded",
@@ -247,11 +348,29 @@ function createAuthHeaders(credentials, params) {
247
348
  else {
248
349
  const authUser = encodeURIComponent(credentials.clientId);
249
350
  const authPassword = encodeURIComponent(credentials.clientSecret);
250
- const auth = Buffer.from(`${authUser}:${authPassword}`, "utf8").toString("base64");
351
+ const auth = encodeBasicCredentials(authUser, authPassword);
251
352
  headers.authorization = `Basic ${auth}`;
252
353
  }
253
354
  return headers;
254
355
  }
356
+ function encodeBasicCredentials(username, password) {
357
+ return base64EncodeAscii(`${username}:${password}`);
358
+ }
359
+ function base64EncodeAscii(value) {
360
+ const alphabet = "ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789+/";
361
+ let output = "";
362
+ for (let index = 0; index < value.length; index += 3) {
363
+ const first = value.charCodeAt(index);
364
+ const second = index + 1 < value.length ? value.charCodeAt(index + 1) : 0;
365
+ const third = index + 2 < value.length ? value.charCodeAt(index + 2) : 0;
366
+ const combined = (first << 16) | (second << 8) | third;
367
+ output += alphabet[(combined >> 18) & 63];
368
+ output += alphabet[(combined >> 12) & 63];
369
+ output += index + 1 < value.length ? alphabet[(combined >> 6) & 63] : "=";
370
+ output += index + 2 < value.length ? alphabet[combined & 63] : "=";
371
+ }
372
+ return output;
373
+ }
255
374
  function parseResponseBody(rawBodyText, contentType) {
256
375
  if (rawBodyText.length === 0) {
257
376
  return {};
@@ -270,10 +389,10 @@ function parseResponseBody(rawBodyText, contentType) {
270
389
  }
271
390
  return parseFormBody(rawBodyText);
272
391
  }
273
- function normalizeTokenResponse(parsedBody) {
392
+ function normalizeTokenResponse(parsedBody, grantType) {
274
393
  if (!parsedBody || typeof parsedBody !== "object" || Array.isArray(parsedBody)) {
275
394
  throw new OAuthHttpError("OAuth token response body must be a JSON object", {
276
- code: "OAUTH_TOKEN_EXCHANGE_FAILED",
395
+ code: grantType === "refresh_token" ? "OAUTH_TOKEN_REFRESH_FAILED" : "OAUTH_TOKEN_EXCHANGE_FAILED",
277
396
  status: 502,
278
397
  retryable: false,
279
398
  details: { parsedBodyKeys: [] }
@@ -283,7 +402,7 @@ function normalizeTokenResponse(parsedBody) {
283
402
  const accessToken = asString(payload.access_token);
284
403
  if (!accessToken) {
285
404
  throw new OAuthHttpError("OAuth token response missing access_token", {
286
- code: "OAUTH_TOKEN_EXCHANGE_FAILED",
405
+ code: grantType === "refresh_token" ? "OAUTH_TOKEN_REFRESH_FAILED" : "OAUTH_TOKEN_EXCHANGE_FAILED",
287
406
  status: 502,
288
407
  retryable: false,
289
408
  details: { parsedBodyKeys: Object.keys(payload).slice(0, 10) }
@@ -297,9 +416,21 @@ function normalizeTokenResponse(parsedBody) {
297
416
  idToken: asString(payload.id_token),
298
417
  raw: payload
299
418
  };
300
- const expiresIn = asNumber(payload.expires_in);
301
- if (expiresIn !== undefined) {
302
- result.expiresIn = expiresIn;
419
+ if (payload.expires_in !== undefined) {
420
+ const expiresIn = asNumber(payload.expires_in);
421
+ if (expiresIn === undefined || expiresIn < 0) {
422
+ throw new OAuthHttpError("OAuth token response has invalid expires_in", {
423
+ code: grantType === "refresh_token" ? "OAUTH_TOKEN_REFRESH_FAILED" : "OAUTH_TOKEN_EXCHANGE_FAILED",
424
+ status: 502,
425
+ retryable: false,
426
+ details: { invalidField: "expires_in" }
427
+ });
428
+ }
429
+ // Preserve the established zero-lifetime behavior: some providers use
430
+ // zero to indicate that no useful expiry was supplied.
431
+ if (expiresIn > 0) {
432
+ result.expiresIn = expiresIn;
433
+ }
303
434
  }
304
435
  return result;
305
436
  }
@@ -378,7 +509,15 @@ function ensureOAuthHttpError(error) {
378
509
  cause: error
379
510
  });
380
511
  }
381
- function getGlobalFetch() {
512
+ /** Creates the shared timeout-aware global fetch adapter used by OAuth transports. */
513
+ export function createOAuthFetchLike(timeoutMs = DEFAULT_OAUTH_REQUEST_TIMEOUT_MS) {
514
+ if (!Number.isFinite(timeoutMs) || timeoutMs < 0) {
515
+ throw new OAuthHttpError("OAuth HTTP timeout must be a finite non-negative number", {
516
+ code: "VALIDATION_ERROR",
517
+ status: 400,
518
+ retryable: false
519
+ });
520
+ }
382
521
  const fetcher = globalThis.fetch;
383
522
  if (!fetcher) {
384
523
  throw new OAuthHttpError("global fetch is not available", {
@@ -388,11 +527,55 @@ function getGlobalFetch() {
388
527
  });
389
528
  }
390
529
  return async (url, init) => {
391
- const response = await fetcher(url, {
392
- method: init.method,
393
- headers: init.headers,
394
- body: init.body
395
- });
530
+ const controller = timeoutMs > 0 && typeof AbortController === "function" ? new AbortController() : undefined;
531
+ const timeoutId = controller !== undefined ? setTimeout(() => controller.abort(), timeoutMs) : undefined;
532
+ let response;
533
+ try {
534
+ response = await fetcher(url, {
535
+ method: init.method,
536
+ headers: init.headers,
537
+ body: init.body,
538
+ signal: controller?.signal
539
+ });
540
+ }
541
+ catch (error) {
542
+ if (timeoutId !== undefined) {
543
+ clearTimeout(timeoutId);
544
+ }
545
+ if (controller?.signal.aborted) {
546
+ throw new OAuthHttpError(`OAuth HTTP request timed out after ${timeoutMs}ms`, {
547
+ code: "INTERNAL_ERROR",
548
+ status: 504,
549
+ retryable: true,
550
+ cause: error
551
+ });
552
+ }
553
+ throw error;
554
+ }
555
+ let timeoutCleared = false;
556
+ const clearRequestTimeout = () => {
557
+ if (!timeoutCleared && timeoutId !== undefined) {
558
+ timeoutCleared = true;
559
+ clearTimeout(timeoutId);
560
+ }
561
+ };
562
+ let bodyText;
563
+ const readBody = () => {
564
+ bodyText ??= response.text()
565
+ .catch((error) => {
566
+ if (controller?.signal.aborted) {
567
+ throw new OAuthHttpError(`OAuth HTTP request timed out after ${timeoutMs}ms`, {
568
+ code: "INTERNAL_ERROR",
569
+ status: 504,
570
+ retryable: true,
571
+ cause: error
572
+ });
573
+ }
574
+ throw error;
575
+ })
576
+ .finally(clearRequestTimeout);
577
+ return bodyText;
578
+ };
396
579
  return {
397
580
  ok: response.ok,
398
581
  status: response.status,
@@ -401,7 +584,17 @@ function getGlobalFetch() {
401
584
  return response.headers.get(name);
402
585
  }
403
586
  },
404
- text: () => response.text()
587
+ // Keep the abort timer active through response consumption. Fetch may
588
+ // resolve after headers while an attacker-controlled body stalls.
589
+ text: readBody,
590
+ discard: async () => {
591
+ try {
592
+ await response.body?.cancel();
593
+ }
594
+ finally {
595
+ clearRequestTimeout();
596
+ }
597
+ }
405
598
  };
406
599
  };
407
600
  }
@@ -1 +1 @@
1
- {"version":3,"file":"token-client.js","sourceRoot":"","sources":["../src/token-client.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"token-client.js","sourceRoot":"","sources":["../src/token-client.ts"],"names":[],"mappings":"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"}
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@superfunctions/oauth-http",
3
- "version": "0.0.1",
3
+ "version": "0.2.0",
4
4
  "description": "OAuth HTTP transport contracts for Superfunctions",
5
5
  "type": "module",
6
6
  "main": "./dist/index.js",
@@ -18,7 +18,7 @@
18
18
  "build": "tsc",
19
19
  "test": "vitest --config ./vitest.config.ts --run",
20
20
  "test:watch": "vitest --config ./vitest.config.ts --watch",
21
- "lint": "echo 'lint not configured'",
21
+ "lint": "tsc --noEmit",
22
22
  "typecheck": "tsc --noEmit",
23
23
  "clean": "rm -rf dist"
24
24
  },
@@ -38,11 +38,12 @@
38
38
  "access": "public"
39
39
  },
40
40
  "dependencies": {
41
- "@superfunctions/oauth-core": "0.0.1"
41
+ "@superfunctions/oauth-core": "0.2.0"
42
42
  },
43
43
  "devDependencies": {
44
44
  "@types/node": "^22.0.0",
45
45
  "typescript": "^5.6.0",
46
46
  "vitest": "^3.2.4"
47
- }
47
+ },
48
+ "gitHead": "11f7e104d2d59f62ac94ab2dd06fc01144d0390b"
48
49
  }