@c9up/transit 0.1.0 → 0.1.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/dist/Oauth1Driver.d.ts.map +1 -1
- package/dist/Oauth1Driver.js +3 -2
- package/dist/Oauth1Driver.js.map +1 -1
- package/dist/Oauth2Driver.d.ts.map +1 -1
- package/dist/Oauth2Driver.js +3 -2
- package/dist/Oauth2Driver.js.map +1 -1
- package/dist/drivers/OidcDriver.d.ts.map +1 -1
- package/dist/drivers/OidcDriver.js +3 -2
- package/dist/drivers/OidcDriver.js.map +1 -1
- package/dist/httpTimeout.d.ts +17 -0
- package/dist/httpTimeout.d.ts.map +1 -0
- package/dist/httpTimeout.js +25 -0
- package/dist/httpTimeout.js.map +1 -0
- package/dist/oidc.d.ts.map +1 -1
- package/dist/oidc.js +5 -4
- package/dist/oidc.js.map +1 -1
- package/package.json +1 -1
- package/src/Oauth1Driver.ts +3 -2
- package/src/Oauth2Driver.ts +3 -2
- package/src/drivers/OidcDriver.ts +3 -2
- package/src/httpTimeout.ts +30 -0
- package/src/oidc.ts +5 -4
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"Oauth1Driver.d.ts","sourceRoot":"","sources":["../src/Oauth1Driver.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;;GAkBG;
|
|
1
|
+
{"version":3,"file":"Oauth1Driver.d.ts","sourceRoot":"","sources":["../src/Oauth1Driver.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;;GAkBG;AAUH,OAAO,KAAK,EACX,WAAW,EACX,UAAU,EACV,eAAe,EACf,aAAa,EACb,WAAW,EACX,MAAM,YAAY,CAAC;AAGpB,8BAAsB,YAAa,YAAW,aAAa;;IAY9C,SAAS,CAAC,QAAQ,CAAC,MAAM,EAAE,WAAW;IAXlD,iEAAiE;IACjE,SAAS,CAAC,QAAQ,CAAC,QAAQ,CAAC,QAAQ,EAAE,MAAM,CAAC;IAC7C,0EAA0E;IAC1E,SAAS,CAAC,QAAQ,CAAC,QAAQ,CAAC,eAAe,EAAE,MAAM,CAAC;IACpD,+BAA+B;IAC/B,SAAS,CAAC,QAAQ,CAAC,QAAQ,CAAC,YAAY,EAAE,MAAM,CAAC;IACjD,6DAA6D;IAC7D,SAAS,CAAC,QAAQ,CAAC,QAAQ,CAAC,cAAc,EAAE,MAAM,CAAC;IACnD,iCAAiC;IACjC,SAAS,CAAC,QAAQ,CAAC,QAAQ,CAAC,WAAW,EAAE,MAAM,CAAC;gBAEjB,MAAM,EAAE,WAAW;IAElD,yEAAyE;IACzE,SAAS,CAAC,cAAc,IAAI,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC;IAIlD,6EAA6E;IAC7E,SAAS,CAAC,QAAQ,CAAC,OAAO,CAAC,GAAG,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,GAAG,WAAW;IAErE;;;;OAIG;IACH,WAAW,IAAI,MAAM;IAMrB;;;;OAIG;IACG,KAAK,IAAI,OAAO,CAAC,eAAe,CAAC;IA2BvC;;;;OAIG;IACG,QAAQ,CACb,IAAI,EAAE,MAAM,EACZ,KAAK,CAAC,EAAE,MAAM,EACd,aAAa,CAAC,EAAE,MAAM,EACtB,MAAM,CAAC,EAAE,MAAM,GACb,OAAO,CAAC;QAAE,IAAI,EAAE,WAAW,CAAC;QAAC,KAAK,EAAE,UAAU,CAAA;KAAE,CAAC;IAsBpD;;;OAGG;IACG,aAAa,CAClB,WAAW,EAAE,MAAM,EACnB,WAAW,CAAC,EAAE,MAAM,GAClB,OAAO,CAAC,WAAW,CAAC;IASvB,0CAA0C;cAC1B,SAAS,CACxB,WAAW,EAAE,MAAM,EACnB,WAAW,EAAE,MAAM,GACjB,OAAO,CAAC,WAAW,CAAC;CA8DvB"}
|
package/dist/Oauth1Driver.js
CHANGED
|
@@ -17,6 +17,7 @@
|
|
|
17
17
|
* the code, the returned token is the state, and the request-token secret is
|
|
18
18
|
* the secret kept from `begin()`.
|
|
19
19
|
*/
|
|
20
|
+
import { fetchWithTimeout } from "./httpTimeout.js";
|
|
20
21
|
import { authorizationHeader, baseOauthParams, nonce, parseFormBody, } from "./oauth1.js";
|
|
21
22
|
import { assertOAuthState } from "./types.js";
|
|
22
23
|
export class Oauth1Driver {
|
|
@@ -97,7 +98,7 @@ export class Oauth1Driver {
|
|
|
97
98
|
const params = this.userInfoParams();
|
|
98
99
|
const query = new URLSearchParams(params).toString();
|
|
99
100
|
const url = query ? `${this.userInfoUrl}?${query}` : this.userInfoUrl;
|
|
100
|
-
const response = await
|
|
101
|
+
const response = await fetchWithTimeout(url, {
|
|
101
102
|
headers: {
|
|
102
103
|
Authorization: authorizationHeader({
|
|
103
104
|
method: "GET",
|
|
@@ -125,7 +126,7 @@ export class Oauth1Driver {
|
|
|
125
126
|
}
|
|
126
127
|
/** A signed POST to one of the token endpoints, whose body is form-encoded. */
|
|
127
128
|
async #post(url, oauth, tokenSecret) {
|
|
128
|
-
const response = await
|
|
129
|
+
const response = await fetchWithTimeout(url, {
|
|
129
130
|
method: "POST",
|
|
130
131
|
headers: {
|
|
131
132
|
Authorization: authorizationHeader({
|
package/dist/Oauth1Driver.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"Oauth1Driver.js","sourceRoot":"","sources":["../src/Oauth1Driver.ts"],"names":[],"mappings":"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
|
|
1
|
+
{"version":3,"file":"Oauth1Driver.js","sourceRoot":"","sources":["../src/Oauth1Driver.ts"],"names":[],"mappings":"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"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"Oauth2Driver.d.ts","sourceRoot":"","sources":["../src/Oauth2Driver.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;GAaG;
|
|
1
|
+
{"version":3,"file":"Oauth2Driver.d.ts","sourceRoot":"","sources":["../src/Oauth2Driver.ts"],"names":[],"mappings":"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"}
|
package/dist/Oauth2Driver.js
CHANGED
|
@@ -13,6 +13,7 @@
|
|
|
13
13
|
* lets one driver serve several concurrent sign-ins.
|
|
14
14
|
*/
|
|
15
15
|
import { createHash, randomBytes, randomUUID } from "node:crypto";
|
|
16
|
+
import { fetchWithTimeout } from "./httpTimeout.js";
|
|
16
17
|
import { assertOAuthState } from "./types.js";
|
|
17
18
|
/**
|
|
18
19
|
* Mint a PKCE code verifier.
|
|
@@ -124,7 +125,7 @@ export class Oauth2Driver {
|
|
|
124
125
|
body.set("client_id", this.config.clientId);
|
|
125
126
|
body.set("client_secret", this.config.clientSecret);
|
|
126
127
|
}
|
|
127
|
-
const response = await
|
|
128
|
+
const response = await fetchWithTimeout(this.accessTokenUrl, {
|
|
128
129
|
method: "POST",
|
|
129
130
|
headers,
|
|
130
131
|
body,
|
|
@@ -160,7 +161,7 @@ export class Oauth2Driver {
|
|
|
160
161
|
/** The authenticated GET itself, before anything is assumed of the body. */
|
|
161
162
|
async #requestJson(url, accessToken, params = {}) {
|
|
162
163
|
const query = new URLSearchParams(params).toString();
|
|
163
|
-
const response = await
|
|
164
|
+
const response = await fetchWithTimeout(query ? `${url}?${query}` : url, {
|
|
164
165
|
headers: {
|
|
165
166
|
Authorization: `Bearer ${accessToken}`,
|
|
166
167
|
Accept: "application/json",
|
package/dist/Oauth2Driver.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"Oauth2Driver.js","sourceRoot":"","sources":["../src/Oauth2Driver.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;GAaG;AAEH,OAAO,EAAE,UAAU,EAAE,WAAW,EAAE,UAAU,EAAE,MAAM,aAAa,CAAC;
|
|
1
|
+
{"version":3,"file":"Oauth2Driver.js","sourceRoot":"","sources":["../src/Oauth2Driver.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;GAaG;AAEH,OAAO,EAAE,UAAU,EAAE,WAAW,EAAE,UAAU,EAAE,MAAM,aAAa,CAAC;AAClE,OAAO,EAAE,gBAAgB,EAAE,MAAM,kBAAkB,CAAC;AAQpD,OAAO,EAAE,gBAAgB,EAAE,MAAM,YAAY,CAAC;AAK9C;;;;;;;GAOG;AACH,MAAM,UAAU,kBAAkB;IACjC,sEAAsE;IACtE,0DAA0D;IAC1D,OAAO,WAAW,CAAC,EAAE,CAAC,CAAC,QAAQ,CAAC,WAAW,CAAC,CAAC;AAC9C,CAAC;AAED,MAAM,OAAgB,YAAY;IAwBF;IAZ/B;;;OAGG;IACgB,YAAY,GAAY,KAAK,CAAC;IAEjD;;;OAGG;IACgB,SAAS,GAAqB,MAAM,CAAC;IAExD,YAA+B,MAAmB;QAAnB,WAAM,GAAN,MAAM,CAAa;IAAG,CAAC;IAEtD,iEAAiE;IACvD,eAAe;QACxB,OAAO,EAAE,CAAC;IACX,CAAC;IAED,yEAAyE;IAC/D,cAAc;QACvB,OAAO,EAAE,CAAC;IACX,CAAC;IAKD,MAAM;QACL,OAAO,CAAC,GAAG,CAAC,IAAI,CAAC,MAAM,CAAC,MAAM,IAAI,IAAI,CAAC,aAAa,CAAC,CAAC,CAAC;IACxD,CAAC;IAED,WAAW,CAAC,KAAc,EAAE,MAAe;QAC1C,MAAM,MAAM,GAAG,IAAI,eAAe,CAAC;YAClC,SAAS,EAAE,IAAI,CAAC,MAAM,CAAC,QAAQ;YAC/B,YAAY,EAAE,IAAI,CAAC,MAAM,CAAC,WAAW;YACrC,aAAa,EAAE,MAAM;YACrB,KAAK,EAAE,IAAI,CAAC,MAAM,EAAE,CAAC,IAAI,CAAC,GAAG,CAAC;YAC9B,GAAG,IAAI,CAAC,eAAe,EAAE;YACzB,GAAG,IAAI,CAAC,MAAM,CAAC,eAAe;YAC9B,GAAG,CAAC,KAAK,CAAC,CAAC,CAAC,EAAE,KAAK,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC;SAC3B,CAAC,CAAC;QAEH,IAAI,IAAI,CAAC,YAAY,EAAE,CAAC;YACvB,IAAI,CAAC,MAAM,EAAE,CAAC;gBACb,MAAM,IAAI,KAAK,CACd,aAAa,IAAI,CAAC,QAAQ,6IAA6I,CACvK,CAAC;YACH,CAAC;YACD,MAAM,CAAC,GAAG,CAAC,gBAAgB,EAAE,YAAY,CAAC,MAAM,CAAC,CAAC,CAAC;YACnD,MAAM,CAAC,GAAG,CAAC,uBAAuB,EAAE,MAAM,CAAC,CAAC;QAC7C,CAAC;QAED,OAAO,GAAG,IAAI,CAAC,YAAY,IAAI,MAAM,EAAE,CAAC;IACzC,CAAC;IAED;;;;;OAKG;IACH,KAAK,CAAC,KAAK,CAAC,QAAgB,UAAU,EAAE;QACvC,IAAI,CAAC,IAAI,CAAC,YAAY;YAAE,OAAO,EAAE,GAAG,EAAE,IAAI,CAAC,WAAW,CAAC,KAAK,CAAC,EAAE,KAAK,EAAE,CAAC;QACvE,MAAM,MAAM,GAAG,kBAAkB,EAAE,CAAC;QACpC,OAAO,EAAE,GAAG,EAAE,IAAI,CAAC,WAAW,CAAC,KAAK,EAAE,MAAM,CAAC,EAAE,KAAK,EAAE,MAAM,EAAE,CAAC;IAChE,CAAC;IAED,KAAK,CAAC,QAAQ,CACb,IAAY,EACZ,KAAc,EACd,aAAsB,EACtB,MAAe;QAEf,gBAAgB,CAAC,KAAK,EAAE,aAAa,CAAC,CAAC;QACvC,IAAI,IAAI,CAAC,YAAY,IAAI,CAAC,MAAM,EAAE,CAAC;YAClC,MAAM,IAAI,KAAK,CACd,aAAa,IAAI,CAAC,QAAQ,0EAA0E,CACpG,CAAC;QACH,CAAC;QACD,MAAM,MAAM,GAAG,MAAM,IAAI,CAAC,QAAQ,CAAC,IAAI,EAAE,MAAM,CAAC,CAAC;QACjD,MAAM,WAAW,GAAG,MAAM,CAAC,MAAM,CAAC,YAAY,CAAC,CAAC;QAChD,MAAM,IAAI,GAAG,MAAM,IAAI,CAAC,SAAS,CAAC,WAAW,CAAC,CAAC;QAC/C,OAAO,EAAE,IAAI,EAAE,KAAK,EAAE,SAAS,CAAC,MAAM,EAAE,WAAW,CAAC,EAAE,CAAC;IACxD,CAAC;IAED;;;OAGG;IACH,KAAK,CAAC,aAAa,CAAC,WAAmB;QACtC,OAAO,IAAI,CAAC,SAAS,CAAC,WAAW,CAAC,CAAC;IACpC,CAAC;IAED,wDAAwD;IAC9C,KAAK,CAAC,QAAQ,CACvB,IAAY,EACZ,MAAe;QAEf,MAAM,IAAI,GAAG,IAAI,eAAe,CAAC;YAChC,IAAI;YACJ,YAAY,EAAE,IAAI,CAAC,MAAM,CAAC,WAAW;YACrC,UAAU,EAAE,oBAAoB;YAChC,GAAG,CAAC,MAAM,CAAC,CAAC,CAAC,EAAE,aAAa,EAAE,MAAM,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC;SAC5C,CAAC,CAAC;QACH,MAAM,OAAO,GAA2B;YACvC,MAAM,EAAE,kBAAkB;YAC1B,cAAc,EAAE,mCAAmC;SACnD,CAAC;QAEF,IAAI,IAAI,CAAC,SAAS,KAAK,OAAO,EAAE,CAAC;YAChC,MAAM,WAAW,GAAG,MAAM,CAAC,IAAI,CAC9B,GAAG,IAAI,CAAC,MAAM,CAAC,QAAQ,IAAI,IAAI,CAAC,MAAM,CAAC,YAAY,EAAE,CACrD,CAAC,QAAQ,CAAC,QAAQ,CAAC,CAAC;YACrB,OAAO,CAAC,aAAa,GAAG,SAAS,WAAW,EAAE,CAAC;YAC/C,qEAAqE;YACrE,6DAA6D;YAC7D,IAAI,CAAC,GAAG,CAAC,WAAW,EAAE,IAAI,CAAC,MAAM,CAAC,QAAQ,CAAC,CAAC;QAC7C,CAAC;aAAM,CAAC;YACP,IAAI,CAAC,GAAG,CAAC,WAAW,EAAE,IAAI,CAAC,MAAM,CAAC,QAAQ,CAAC,CAAC;YAC5C,IAAI,CAAC,GAAG,CAAC,eAAe,EAAE,IAAI,CAAC,MAAM,CAAC,YAAY,CAAC,CAAC;QACrD,CAAC;QAED,MAAM,QAAQ,GAAG,MAAM,gBAAgB,CAAC,IAAI,CAAC,cAAc,EAAE;YAC5D,MAAM,EAAE,MAAM;YACd,OAAO;YACP,IAAI;SACJ,CAAC,CAAC;QACH,IAAI,CAAC,QAAQ,CAAC,EAAE,EAAE,CAAC;YAClB,MAAM,IAAI,KAAK,CACd,GAAG,IAAI,CAAC,QAAQ,sCAAsC,QAAQ,CAAC,MAAM,GAAG,CACxE,CAAC;QACH,CAAC;QACD,MAAM,MAAM,GAAG,CAAC,MAAM,QAAQ,CAAC,IAAI,EAAE,CAAkB,CAAC;QACxD,IAAI,CAAC,MAAM,CAAC,YAAY,EAAE,CAAC;YAC1B,MAAM,IAAI,KAAK,CAAC,GAAG,IAAI,CAAC,QAAQ,qCAAqC,CAAC,CAAC;QACxE,CAAC;QACD,OAAO,MAAM,CAAC;IACf,CAAC;IAED,uEAAuE;IAC7D,KAAK,CAAC,SAAS,CAAC,WAAmB;QAC5C,MAAM,GAAG,GAAG,MAAM,IAAI,CAAC,GAAG,CAAC,IAAI,CAAC,WAAW,EAAE,WAAW,EAAE;YACzD,GAAG,IAAI,CAAC,cAAc,EAAE;SACxB,CAAC,CAAC;QACH,OAAO,IAAI,CAAC,OAAO,CAAC,GAAG,CAAC,CAAC;IAC1B,CAAC;IAED,+EAA+E;IACrE,KAAK,CAAC,OAAO,CACtB,GAAW,EACX,WAAmB,EACnB,SAAiC,EAAE;QAEnC,MAAM,IAAI,GAAG,MAAM,IAAI,CAAC,YAAY,CAAC,GAAG,EAAE,WAAW,EAAE,MAAM,CAAC,CAAC;QAC/D,OAAO,KAAK,CAAC,OAAO,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,CAAC;IACxC,CAAC;IAED,4DAA4D;IAClD,KAAK,CAAC,GAAG,CAClB,GAAW,EACX,WAAmB,EACnB,SAAiC,EAAE;QAEnC,MAAM,IAAI,GAAG,MAAM,IAAI,CAAC,YAAY,CAAC,GAAG,EAAE,WAAW,EAAE,MAAM,CAAC,CAAC;QAC/D,OAAO,OAAO,IAAI,KAAK,QAAQ,IAAI,IAAI,KAAK,IAAI,IAAI,CAAC,KAAK,CAAC,OAAO,CAAC,IAAI,CAAC;YACvE,CAAC,CAAE,IAAgC;YACnC,CAAC,CAAC,EAAE,CAAC;IACP,CAAC;IAED,4EAA4E;IAC5E,KAAK,CAAC,YAAY,CACjB,GAAW,EACX,WAAmB,EACnB,SAAiC,EAAE;QAEnC,MAAM,KAAK,GAAG,IAAI,eAAe,CAAC,MAAM,CAAC,CAAC,QAAQ,EAAE,CAAC;QACrD,MAAM,QAAQ,GAAG,MAAM,gBAAgB,CAAC,KAAK,CAAC,CAAC,CAAC,GAAG,GAAG,IAAI,KAAK,EAAE,CAAC,CAAC,CAAC,GAAG,EAAE;YACxE,OAAO,EAAE;gBACR,aAAa,EAAE,UAAU,WAAW,EAAE;gBACtC,MAAM,EAAE,kBAAkB;aAC1B;SACD,CAAC,CAAC;QACH,IAAI,CAAC,QAAQ,CAAC,EAAE,EAAE,CAAC;YAClB,MAAM,IAAI,KAAK,CACd,GAAG,IAAI,CAAC,QAAQ,iCAAiC,QAAQ,CAAC,MAAM,GAAG,CACnE,CAAC;QACH,CAAC;QACD,OAAO,MAAM,QAAQ,CAAC,IAAI,EAAE,CAAC;IAC9B,CAAC;CACD;AAED,mEAAmE;AACnE,MAAM,UAAU,YAAY,CAAC,MAAc;IAC1C,OAAO,UAAU,CAAC,QAAQ,CAAC,CAAC,MAAM,CAAC,MAAM,CAAC,CAAC,MAAM,CAAC,WAAW,CAAC,CAAC;AAChE,CAAC;AAED,uEAAuE;AACvE,SAAS,SAAS,CAAC,MAAqB,EAAE,WAAmB;IAC5D,OAAO;QACN,WAAW;QACX,GAAG,CAAC,OAAO,MAAM,CAAC,aAAa,KAAK,QAAQ;YAC3C,CAAC,CAAC,EAAE,YAAY,EAAE,MAAM,CAAC,aAAa,EAAE;YACxC,CAAC,CAAC,EAAE,CAAC;QACN,GAAG,CAAC,OAAO,MAAM,CAAC,UAAU,KAAK,QAAQ;YACxC,CAAC,CAAC,EAAE,SAAS,EAAE,MAAM,CAAC,UAAU,EAAE;YAClC,CAAC,CAAC,EAAE,CAAC;KACN,CAAC;AACH,CAAC;AAED,6EAA6E;AAC7E,MAAM,UAAU,GAAG,CAClB,GAA4B,EAC5B,GAAW;IAEX,MAAM,KAAK,GAAG,GAAG,CAAC,GAAG,CAAC,CAAC;IACvB,OAAO,OAAO,KAAK,KAAK,QAAQ,IAAI,KAAK,KAAK,EAAE,CAAC,CAAC,CAAC,KAAK,CAAC,CAAC,CAAC,SAAS,CAAC;AACtE,CAAC"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"OidcDriver.d.ts","sourceRoot":"","sources":["../../src/drivers/OidcDriver.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;GAYG;
|
|
1
|
+
{"version":3,"file":"OidcDriver.d.ts","sourceRoot":"","sources":["../../src/drivers/OidcDriver.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;GAYG;AAaH,OAAO,EAIN,KAAK,aAAa,EAClB,MAAM,YAAY,CAAC;AACpB,OAAO,KAAK,EACX,UAAU,EACV,eAAe,EACf,aAAa,EACb,WAAW,EACX,MAAM,aAAa,CAAC;AAGrB,MAAM,WAAW,UAAU;IAC1B,sEAAsE;IACtE,MAAM,EAAE,MAAM,CAAC;IACf,QAAQ,EAAE,MAAM,CAAC;IACjB;;;;OAIG;IACH,YAAY,EAAE,MAAM,GAAG,CAAC,MAAM,MAAM,GAAG,OAAO,CAAC,MAAM,CAAC,CAAC,CAAC;IACxD,WAAW,EAAE,MAAM,CAAC;IACpB,8EAA8E;IAC9E,MAAM,CAAC,EAAE,MAAM,EAAE,CAAC;IAClB,oFAAoF;IACpF,eAAe,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,CAAC;IACzC;;;OAGG;IACH,QAAQ,CAAC,EAAE,OAAO,CAAC;IACnB,8EAA8E;IAC9E,aAAa,CAAC,EAAE,MAAM,CAAC;IACvB,oEAAoE;IACpE,KAAK,CAAC,EAAE,aAAa,CAAC;CACtB;AASD,qBAAa,UAAW,YAAW,aAAa;;gBAKnC,MAAM,EAAE,UAAU;IAM9B;;;OAGG;IACH,WAAW,IAAI,MAAM;IAMf,KAAK,CAAC,KAAK,GAAE,MAAqB,GAAG,OAAO,CAAC,eAAe,CAAC;IAmC7D,QAAQ,CACb,IAAI,EAAE,MAAM,EACZ,KAAK,CAAC,EAAE,MAAM,EACd,aAAa,CAAC,EAAE,MAAM,EACtB,MAAM,CAAC,EAAE,MAAM,GACb,OAAO,CAAC;QAAE,IAAI,EAAE,WAAW,CAAC;QAAC,KAAK,EAAE,UAAU,CAAA;KAAE,CAAC;IAgCpD,iFAAiF;IAC3E,aAAa,CAAC,WAAW,EAAE,MAAM,GAAG,OAAO,CAAC,WAAW,CAAC;IAY9D;;;OAGG;IACH,SAAS,CAAC,OAAO,CAAC,GAAG,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,GAAG,WAAW;CA0J5D;AAED,8EAA8E;AAC9E,wBAAgB,WAAW,CAAC,GAAG,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,GAAG,WAAW,CAkBrE"}
|
|
@@ -12,6 +12,7 @@
|
|
|
12
12
|
* what `jwt.ts` does and what most of this class exists to feed.
|
|
13
13
|
*/
|
|
14
14
|
import { randomUUID } from "node:crypto";
|
|
15
|
+
import { fetchWithTimeout } from "../httpTimeout.js";
|
|
15
16
|
import { assertIdTokenClaims, decodeJws, isSupportedAlg, verifyJwsSignature, } from "../jwt.js";
|
|
16
17
|
import { challengeFor, createCodeVerifier } from "../Oauth2Driver.js";
|
|
17
18
|
import { JwksCache, OidcDiscovery, } from "../oidc.js";
|
|
@@ -131,7 +132,7 @@ export class OidcDriver {
|
|
|
131
132
|
// Only when a challenge was actually sent.
|
|
132
133
|
...(verifier === "" ? {} : { code_verifier: verifier }),
|
|
133
134
|
});
|
|
134
|
-
const response = await
|
|
135
|
+
const response = await fetchWithTimeout(metadata.token_endpoint, {
|
|
135
136
|
method: "POST",
|
|
136
137
|
headers: {
|
|
137
138
|
Accept: "application/json",
|
|
@@ -210,7 +211,7 @@ export class OidcDriver {
|
|
|
210
211
|
return { ...claims, ...info };
|
|
211
212
|
}
|
|
212
213
|
async #userinfo(endpoint, accessToken) {
|
|
213
|
-
const response = await
|
|
214
|
+
const response = await fetchWithTimeout(endpoint, {
|
|
214
215
|
headers: {
|
|
215
216
|
Authorization: `Bearer ${accessToken}`,
|
|
216
217
|
Accept: "application/json",
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"OidcDriver.js","sourceRoot":"","sources":["../../src/drivers/OidcDriver.ts"],"names":[],"mappings":"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
|
|
1
|
+
{"version":3,"file":"OidcDriver.js","sourceRoot":"","sources":["../../src/drivers/OidcDriver.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;GAYG;AAEH,OAAO,EAAE,UAAU,EAAE,MAAM,aAAa,CAAC;AACzC,OAAO,EAAE,gBAAgB,EAAE,MAAM,mBAAmB,CAAC;AACrD,OAAO,EACN,mBAAmB,EACnB,SAAS,EAET,cAAc,EAEd,kBAAkB,GAClB,MAAM,WAAW,CAAC;AACnB,OAAO,EAAE,YAAY,EAAE,kBAAkB,EAAE,MAAM,oBAAoB,CAAC;AACtE,OAAO,EACN,SAAS,EACT,aAAa,GAGb,MAAM,YAAY,CAAC;AAOpB,OAAO,EAAE,gBAAgB,EAAE,MAAM,aAAa,CAAC;AA4B/C;;;;GAIG;AACH,MAAM,gBAAgB,GAAG,GAAG,CAAC;AAE7B,MAAM,OAAO,UAAU;IACb,OAAO,CAAa;IACpB,UAAU,CAAgB;IAC1B,KAAK,CAAY;IAE1B,YAAY,MAAkB;QAC7B,IAAI,CAAC,OAAO,GAAG,MAAM,CAAC;QACtB,IAAI,CAAC,UAAU,GAAG,IAAI,aAAa,CAAC,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,KAAK,CAAC,CAAC;QACjE,IAAI,CAAC,KAAK,GAAG,IAAI,SAAS,CAAC,MAAM,CAAC,KAAK,CAAC,CAAC;IAC1C,CAAC;IAED;;;OAGG;IACH,WAAW;QACV,MAAM,IAAI,KAAK,CACd,8HAA8H,CAC9H,CAAC;IACH,CAAC;IAED,KAAK,CAAC,KAAK,CAAC,QAAgB,UAAU,EAAE;QACvC,MAAM,QAAQ,GAAG,MAAM,IAAI,CAAC,UAAU,CAAC,QAAQ,EAAE,CAAC;QAClD,MAAM,QAAQ,GAAG,kBAAkB,EAAE,CAAC;QACtC,MAAM,KAAK,GAAG,UAAU,EAAE,CAAC;QAE3B,MAAM,MAAM,GAAG,IAAI,eAAe,CAAC;YAClC,SAAS,EAAE,IAAI,CAAC,OAAO,CAAC,QAAQ;YAChC,YAAY,EAAE,IAAI,CAAC,OAAO,CAAC,WAAW;YACtC,aAAa,EAAE,MAAM;YACrB,KAAK,EAAE,IAAI,CAAC,OAAO,EAAE,CAAC,IAAI,CAAC,GAAG,CAAC;YAC/B,KAAK;YACL,KAAK;YACL,GAAG,IAAI,CAAC,OAAO,CAAC,eAAe;SAC/B,CAAC,CAAC;QAEH,mEAAmE;QACnE,yEAAyE;QACzE,yBAAyB;QACzB,MAAM,IAAI,GACT,QAAQ,CAAC,gCAAgC,EAAE,QAAQ,CAAC,MAAM,CAAC,KAAK,KAAK,CAAC;QACvE,IAAI,IAAI,EAAE,CAAC;YACV,MAAM,CAAC,GAAG,CAAC,gBAAgB,EAAE,YAAY,CAAC,QAAQ,CAAC,CAAC,CAAC;YACrD,MAAM,CAAC,GAAG,CAAC,uBAAuB,EAAE,MAAM,CAAC,CAAC;QAC7C,CAAC;QAED,sEAAsE;QACtE,wEAAwE;QACxE,gCAAgC;QAChC,OAAO;YACN,GAAG,EAAE,GAAG,QAAQ,CAAC,sBAAsB,IAAI,MAAM,EAAE;YACnD,KAAK;YACL,MAAM,EAAE,GAAG,IAAI,CAAC,CAAC,CAAC,QAAQ,CAAC,CAAC,CAAC,EAAE,GAAG,gBAAgB,GAAG,KAAK,EAAE;SAC5D,CAAC;IACH,CAAC;IAED,KAAK,CAAC,QAAQ,CACb,IAAY,EACZ,KAAc,EACd,aAAsB,EACtB,MAAe;QAEf,gBAAgB,CAAC,KAAK,EAAE,aAAa,CAAC,CAAC;QACvC,MAAM,EAAE,QAAQ,EAAE,KAAK,EAAE,GAAG,WAAW,CAAC,MAAM,CAAC,CAAC;QAEhD,MAAM,QAAQ,GAAG,MAAM,IAAI,CAAC,UAAU,CAAC,QAAQ,EAAE,CAAC;QAClD,MAAM,MAAM,GAAG,MAAM,IAAI,CAAC,SAAS,CAAC,QAAQ,EAAE,IAAI,EAAE,QAAQ,CAAC,CAAC;QAE9D,MAAM,OAAO,GAAG,MAAM,CAAC,QAAQ,CAAC;QAChC,IAAI,OAAO,OAAO,KAAK,QAAQ,IAAI,OAAO,KAAK,EAAE,EAAE,CAAC;YACnD,MAAM,IAAI,KAAK,CACd,wFAAwF,CACxF,CAAC;QACH,CAAC;QACD,MAAM,MAAM,GAAG,MAAM,IAAI,CAAC,cAAc,CAAC,QAAQ,EAAE,OAAO,EAAE,KAAK,CAAC,CAAC;QAEnE,MAAM,WAAW,GAAG,MAAM,CAAC,MAAM,CAAC,YAAY,IAAI,EAAE,CAAC,CAAC;QACtD,MAAM,OAAO,GAAG,MAAM,IAAI,CAAC,QAAQ,CAAC,QAAQ,EAAE,WAAW,EAAE,MAAM,CAAC,CAAC;QAEnE,OAAO;YACN,IAAI,EAAE,IAAI,CAAC,OAAO,CAAC,OAAO,CAAC;YAC3B,KAAK,EAAE;gBACN,WAAW;gBACX,GAAG,CAAC,OAAO,MAAM,CAAC,aAAa,KAAK,QAAQ;oBAC3C,CAAC,CAAC,EAAE,YAAY,EAAE,MAAM,CAAC,aAAa,EAAE;oBACxC,CAAC,CAAC,EAAE,CAAC;gBACN,GAAG,CAAC,OAAO,MAAM,CAAC,UAAU,KAAK,QAAQ;oBACxC,CAAC,CAAC,EAAE,SAAS,EAAE,MAAM,CAAC,UAAU,EAAE;oBAClC,CAAC,CAAC,EAAE,CAAC;aACN;SACD,CAAC;IACH,CAAC;IAED,iFAAiF;IACjF,KAAK,CAAC,aAAa,CAAC,WAAmB;QACtC,MAAM,QAAQ,GAAG,MAAM,IAAI,CAAC,UAAU,CAAC,QAAQ,EAAE,CAAC;QAClD,IAAI,CAAC,QAAQ,CAAC,iBAAiB,EAAE,CAAC;YACjC,MAAM,IAAI,KAAK,CACd,cAAc,IAAI,CAAC,OAAO,CAAC,MAAM,mFAAmF,CACpH,CAAC;QACH,CAAC;QACD,OAAO,IAAI,CAAC,OAAO,CAClB,MAAM,IAAI,CAAC,SAAS,CAAC,QAAQ,CAAC,iBAAiB,EAAE,WAAW,CAAC,CAC7D,CAAC;IACH,CAAC;IAED;;;OAGG;IACO,OAAO,CAAC,GAA4B;QAC7C,OAAO,WAAW,CAAC,GAAG,CAAC,CAAC;IACzB,CAAC;IAED,wCAAwC;IACxC,KAAK,CAAC,aAAa;QAClB,MAAM,MAAM,GAAG,IAAI,CAAC,OAAO,CAAC,YAAY,CAAC;QACzC,OAAO,OAAO,MAAM,KAAK,UAAU,CAAC,CAAC,CAAC,MAAM,MAAM,EAAE,CAAC,CAAC,CAAC,MAAM,CAAC;IAC/D,CAAC;IAED,OAAO;QACN,MAAM,MAAM,GAAG,CAAC,GAAG,CAAC,IAAI,CAAC,OAAO,CAAC,MAAM,IAAI,CAAC,QAAQ,EAAE,SAAS,EAAE,OAAO,CAAC,CAAC,CAAC,CAAC;QAC5E,wEAAwE;QACxE,gEAAgE;QAChE,IAAI,CAAC,MAAM,CAAC,QAAQ,CAAC,QAAQ,CAAC;YAAE,MAAM,CAAC,OAAO,CAAC,QAAQ,CAAC,CAAC;QACzD,OAAO,MAAM,CAAC;IACf,CAAC;IAED,KAAK,CAAC,SAAS,CACd,QAAsB,EACtB,IAAY,EACZ,QAAgB;QAEhB,MAAM,IAAI,GAAG,IAAI,eAAe,CAAC;YAChC,UAAU,EAAE,oBAAoB;YAChC,IAAI;YACJ,YAAY,EAAE,IAAI,CAAC,OAAO,CAAC,WAAW;YACtC,SAAS,EAAE,IAAI,CAAC,OAAO,CAAC,QAAQ;YAChC,aAAa,EAAE,MAAM,IAAI,CAAC,aAAa,EAAE;YACzC,2CAA2C;YAC3C,GAAG,CAAC,QAAQ,KAAK,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,EAAE,aAAa,EAAE,QAAQ,EAAE,CAAC;SACvD,CAAC,CAAC;QACH,MAAM,QAAQ,GAAG,MAAM,gBAAgB,CAAC,QAAQ,CAAC,cAAc,EAAE;YAChE,MAAM,EAAE,MAAM;YACd,OAAO,EAAE;gBACR,MAAM,EAAE,kBAAkB;gBAC1B,cAAc,EAAE,mCAAmC;aACnD;YACD,IAAI;SACJ,CAAC,CAAC;QACH,IAAI,CAAC,QAAQ,CAAC,EAAE,EAAE,CAAC;YAClB,MAAM,IAAI,KAAK,CACd,wDAAwD,QAAQ,CAAC,MAAM,GAAG,CAC1E,CAAC;QACH,CAAC;QACD,OAAO,CAAC,MAAM,QAAQ,CAAC,IAAI,EAAE,CAA4B,CAAC;IAC3D,CAAC;IAED;;;;OAIG;IACH,KAAK,CAAC,cAAc,CACnB,QAAsB,EACtB,OAAe,EACf,KAAa;QAEb,MAAM,KAAK,GAAG,SAAS,CAAC,OAAO,CAAC,CAAC;QACjC,MAAM,GAAG,GAAG,IAAI,CAAC,aAAa,CAAC,QAAQ,EAAE,KAAK,CAAC,MAAM,CAAC,GAAG,CAAC,CAAC;QAC3D,MAAM,GAAG,GACR,OAAO,KAAK,CAAC,MAAM,CAAC,GAAG,KAAK,QAAQ,CAAC,CAAC,CAAC,KAAK,CAAC,MAAM,CAAC,GAAG,CAAC,CAAC,CAAC,SAAS,CAAC;QAErE,MAAM,GAAG,GAAG,MAAM,IAAI,CAAC,KAAK,CAAC,GAAG,CAAC,QAAQ,CAAC,QAAQ,EAAE,GAAG,CAAC,CAAC;QACzD,IAAI,CAAC,kBAAkB,CAAC,KAAK,EAAE,GAAG,EAAE,GAAG,CAAC,EAAE,CAAC;YAC1C,MAAM,IAAI,KAAK,CAAC,8CAA8C,CAAC,CAAC;QACjE,CAAC;QAED,OAAO,mBAAmB,CAAC,KAAK,CAAC,OAAO,EAAE;YACzC,MAAM,EAAE,QAAQ,CAAC,MAAM;YACvB,QAAQ,EAAE,IAAI,CAAC,OAAO,CAAC,QAAQ;YAC/B,KAAK;YACL,aAAa,EAAE,IAAI,CAAC,OAAO,CAAC,aAAa;SACzC,CAAC,CAAC;IACJ,CAAC;IAED;;;;;;OAMG;IACH,aAAa,CAAC,QAAsB,EAAE,SAAkB;QACvD,uEAAuE;QACvE,iEAAiE;QACjE,MAAM,QAAQ,GAAG,QAAQ,CAAC,qCAAqC,IAAI;YAClE,OAAO;SACP,CAAC;QACF,MAAM,OAAO,GAAG,QAAQ,CAAC,MAAM,CAAC,cAAc,CAAC,CAAC;QAChD,IAAI,OAAO,CAAC,MAAM,KAAK,CAAC,EAAE,CAAC;YAC1B,MAAM,IAAI,KAAK,CACd,cAAc,IAAI,CAAC,OAAO,CAAC,MAAM,2DAA2D,QAAQ,CAAC,IAAI,CAAC,IAAI,CAAC,wCAAwC,CACvJ,CAAC;QACH,CAAC;QACD,IAAI,CAAC,cAAc,CAAC,SAAS,CAAC,EAAE,CAAC;YAChC,MAAM,IAAI,KAAK,CACd,iCAAiC,MAAM,CAAC,SAAS,CAAC,4EAA4E,CAC9H,CAAC;QACH,CAAC;QACD,IAAI,CAAC,OAAO,CAAC,QAAQ,CAAC,SAAS,CAAC,EAAE,CAAC;YAClC,MAAM,IAAI,KAAK,CACd,iCAAiC,SAAS,aAAa,IAAI,CAAC,OAAO,CAAC,MAAM,iCAAiC,CAC3G,CAAC;QACH,CAAC;QACD,sEAAsE;QACtE,6DAA6D;QAC7D,0DAA0D;QAC1D,OAAO,SAAS,CAAC;IAClB,CAAC;IAED;;;;OAIG;IACH,KAAK,CAAC,QAAQ,CACb,QAAsB,EACtB,WAAmB,EACnB,MAAqB;QAErB,IACC,IAAI,CAAC,OAAO,CAAC,QAAQ,KAAK,KAAK;YAC/B,CAAC,QAAQ,CAAC,iBAAiB;YAC3B,WAAW,KAAK,EAAE,EACjB,CAAC;YACF,OAAO,MAA4C,CAAC;QACrD,CAAC;QACD,MAAM,IAAI,GAAG,MAAM,IAAI,CAAC,SAAS,CAAC,QAAQ,CAAC,iBAAiB,EAAE,WAAW,CAAC,CAAC;QAC3E,IAAI,IAAI,CAAC,GAAG,KAAK,MAAM,CAAC,GAAG,EAAE,CAAC;YAC7B,MAAM,IAAI,KAAK,CACd,iFAAiF,CACjF,CAAC;QACH,CAAC;QACD,OAAO,EAAE,GAAI,MAA6C,EAAE,GAAG,IAAI,EAAE,CAAC;IACvE,CAAC;IAED,KAAK,CAAC,SAAS,CACd,QAAgB,EAChB,WAAmB;QAEnB,MAAM,QAAQ,GAAG,MAAM,gBAAgB,CAAC,QAAQ,EAAE;YACjD,OAAO,EAAE;gBACR,aAAa,EAAE,UAAU,WAAW,EAAE;gBACtC,MAAM,EAAE,kBAAkB;aAC1B;SACD,CAAC,CAAC;QACH,IAAI,CAAC,QAAQ,CAAC,EAAE,EAAE,CAAC;YAClB,MAAM,IAAI,KAAK,CACd,0DAA0D,QAAQ,CAAC,MAAM,GAAG,CAC5E,CAAC;QACH,CAAC;QACD,OAAO,CAAC,MAAM,QAAQ,CAAC,IAAI,EAAE,CAA4B,CAAC;IAC3D,CAAC;CACD;AAED,8EAA8E;AAC9E,MAAM,UAAU,WAAW,CAAC,GAA4B;IACvD,MAAM,KAAK,GAAG,GAAG,CAAC,GAAG,EAAE,YAAY,CAAC,CAAC;IACrC,MAAM,MAAM,GAAG,GAAG,CAAC,GAAG,EAAE,aAAa,CAAC,CAAC;IACvC,MAAM,KAAK,GAAG,GAAG,CAAC,GAAG,EAAE,OAAO,CAAC,CAAC;IAChC,OAAO;QACN,EAAE,EAAE,MAAM,CAAC,GAAG,CAAC,GAAG,IAAI,EAAE,CAAC;QACzB,KAAK,EAAE,KAAK,IAAI,EAAE;QAClB,IAAI,EAAE,GAAG,CAAC,GAAG,EAAE,MAAM,CAAC,IAAI,CAAC,KAAK,EAAE,MAAM,CAAC,CAAC,MAAM,CAAC,OAAO,CAAC,CAAC,IAAI,CAAC,GAAG,CAAC;QACnE,QAAQ,EAAE,GAAG,CAAC,GAAG,EAAE,oBAAoB,CAAC,IAAI,KAAK;QACjD,SAAS,EAAE,GAAG,CAAC,GAAG,EAAE,SAAS,CAAC;QAC9B,sBAAsB,EACrB,KAAK,KAAK,SAAS;YAClB,CAAC,CAAC,aAAa;YACf,CAAC,CAAC,GAAG,CAAC,cAAc,KAAK,IAAI;gBAC5B,CAAC,CAAC,UAAU;gBACZ,CAAC,CAAC,YAAY;QACjB,GAAG;KACH,CAAC;AACH,CAAC;AAED,SAAS,GAAG,CAAC,GAA4B,EAAE,GAAW;IACrD,MAAM,KAAK,GAAG,GAAG,CAAC,GAAG,CAAC,CAAC;IACvB,OAAO,OAAO,KAAK,KAAK,QAAQ,IAAI,KAAK,KAAK,EAAE,CAAC,CAAC,CAAC,KAAK,CAAC,CAAC,CAAC,SAAS,CAAC;AACtE,CAAC;AAED,0DAA0D;AAC1D,SAAS,WAAW,CAAC,MAA0B;IAI9C,MAAM,KAAK,GAAG,MAAM,EAAE,OAAO,CAAC,gBAAgB,CAAC,IAAI,CAAC,CAAC,CAAC;IACtD,yEAAyE;IACzE,4EAA4E;IAC5E,MAAM,KAAK,GAAG,MAAM,KAAK,SAAS,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,MAAM,CAAC,KAAK,CAAC,KAAK,GAAG,CAAC,CAAC,CAAC;IAClE,IAAI,MAAM,KAAK,SAAS,IAAI,KAAK,KAAK,CAAC,CAAC,IAAI,KAAK,KAAK,EAAE,EAAE,CAAC;QAC1D,MAAM,IAAI,KAAK,CACd,wHAAwH,CACxH,CAAC;IACH,CAAC;IACD,OAAO,EAAE,QAAQ,EAAE,MAAM,CAAC,KAAK,CAAC,CAAC,EAAE,KAAK,CAAC,EAAE,KAAK,EAAE,CAAC;AACpD,CAAC"}
|
|
@@ -0,0 +1,17 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Every outbound call this package makes, with a deadline on it.
|
|
3
|
+
*
|
|
4
|
+
* None of them had one. A provider that accepts the connection and then never
|
|
5
|
+
* answers held a request open indefinitely — discovery, JWKS, the token
|
|
6
|
+
* exchange, the callback — and the only thing that eventually freed it was the
|
|
7
|
+
* caller's own infrastructure, if it had any. An identity provider is the one
|
|
8
|
+
* dependency an application cannot route around, so it is the one that most
|
|
9
|
+
* needs a bound.
|
|
10
|
+
*
|
|
11
|
+
* Ten seconds, matching what the LDAP client already used, so the package has
|
|
12
|
+
* one answer rather than two.
|
|
13
|
+
*/
|
|
14
|
+
export declare const DEFAULT_TIMEOUT_MS = 10000;
|
|
15
|
+
/** `fetch`, refusing to wait forever. */
|
|
16
|
+
export declare function fetchWithTimeout(input: string | URL, init?: RequestInit, timeoutMs?: number): Promise<Response>;
|
|
17
|
+
//# sourceMappingURL=httpTimeout.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"httpTimeout.d.ts","sourceRoot":"","sources":["../src/httpTimeout.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;GAYG;AACH,eAAO,MAAM,kBAAkB,QAAS,CAAC;AAEzC,yCAAyC;AACzC,wBAAsB,gBAAgB,CACrC,KAAK,EAAE,MAAM,GAAG,GAAG,EACnB,IAAI,GAAE,WAAgB,EACtB,SAAS,GAAE,MAA2B,GACpC,OAAO,CAAC,QAAQ,CAAC,CASnB"}
|
|
@@ -0,0 +1,25 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Every outbound call this package makes, with a deadline on it.
|
|
3
|
+
*
|
|
4
|
+
* None of them had one. A provider that accepts the connection and then never
|
|
5
|
+
* answers held a request open indefinitely — discovery, JWKS, the token
|
|
6
|
+
* exchange, the callback — and the only thing that eventually freed it was the
|
|
7
|
+
* caller's own infrastructure, if it had any. An identity provider is the one
|
|
8
|
+
* dependency an application cannot route around, so it is the one that most
|
|
9
|
+
* needs a bound.
|
|
10
|
+
*
|
|
11
|
+
* Ten seconds, matching what the LDAP client already used, so the package has
|
|
12
|
+
* one answer rather than two.
|
|
13
|
+
*/
|
|
14
|
+
export const DEFAULT_TIMEOUT_MS = 10_000;
|
|
15
|
+
/** `fetch`, refusing to wait forever. */
|
|
16
|
+
export async function fetchWithTimeout(input, init = {}, timeoutMs = DEFAULT_TIMEOUT_MS) {
|
|
17
|
+
const deadline = AbortSignal.timeout(timeoutMs);
|
|
18
|
+
// A caller's own signal still cancels: the deadline is added to it, never
|
|
19
|
+
// substituted for it.
|
|
20
|
+
const signal = init.signal === null || init.signal === undefined
|
|
21
|
+
? deadline
|
|
22
|
+
: AbortSignal.any([init.signal, deadline]);
|
|
23
|
+
return fetch(input, { ...init, signal });
|
|
24
|
+
}
|
|
25
|
+
//# sourceMappingURL=httpTimeout.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"httpTimeout.js","sourceRoot":"","sources":["../src/httpTimeout.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;GAYG;AACH,MAAM,CAAC,MAAM,kBAAkB,GAAG,MAAM,CAAC;AAEzC,yCAAyC;AACzC,MAAM,CAAC,KAAK,UAAU,gBAAgB,CACrC,KAAmB,EACnB,OAAoB,EAAE,EACtB,YAAoB,kBAAkB;IAEtC,MAAM,QAAQ,GAAG,WAAW,CAAC,OAAO,CAAC,SAAS,CAAC,CAAC;IAChD,0EAA0E;IAC1E,sBAAsB;IACtB,MAAM,MAAM,GACX,IAAI,CAAC,MAAM,KAAK,IAAI,IAAI,IAAI,CAAC,MAAM,KAAK,SAAS;QAChD,CAAC,CAAC,QAAQ;QACV,CAAC,CAAC,WAAW,CAAC,GAAG,CAAC,CAAC,IAAI,CAAC,MAAM,EAAE,QAAQ,CAAC,CAAC,CAAC;IAC7C,OAAO,KAAK,CAAC,KAAK,EAAE,EAAE,GAAG,IAAI,EAAE,MAAM,EAAE,CAAC,CAAC;AAC1C,CAAC"}
|
package/dist/oidc.d.ts.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"oidc.d.ts","sourceRoot":"","sources":["../src/oidc.ts"],"names":[],"mappings":"AAAA;;;;;;;;;GASG;
|
|
1
|
+
{"version":3,"file":"oidc.d.ts","sourceRoot":"","sources":["../src/oidc.ts"],"names":[],"mappings":"AAAA;;;;;;;;;GASG;AAGH,OAAO,KAAK,EAAE,GAAG,EAAE,MAAM,UAAU,CAAC;AAEpC,sDAAsD;AACtD,MAAM,WAAW,YAAY;IAC5B,MAAM,EAAE,MAAM,CAAC;IACf,sBAAsB,EAAE,MAAM,CAAC;IAC/B,cAAc,EAAE,MAAM,CAAC;IACvB,QAAQ,EAAE,MAAM,CAAC;IACjB,iBAAiB,CAAC,EAAE,MAAM,CAAC;IAC3B,qCAAqC,CAAC,EAAE,MAAM,EAAE,CAAC;IACjD,gCAAgC,CAAC,EAAE,MAAM,EAAE,CAAC;CAC5C;AAED,MAAM,WAAW,aAAa;IAC7B,+EAA+E;IAC/E,KAAK,CAAC,EAAE,MAAM,CAAC;IACf,sEAAsE;IACtE,YAAY,CAAC,EAAE,MAAM,CAAC;IACtB,yBAAyB;IACzB,GAAG,CAAC,EAAE,MAAM,MAAM,CAAC;CACnB;AAKD;;;;;;;GAOG;AACH,qBAAa,aAAa;;gBAOb,MAAM,EAAE,MAAM,EAAE,OAAO,GAAE,aAAkB;IAQvD,IAAI,MAAM,IAAI,MAAM,CAEnB;IAED,IAAI,GAAG,IAAI,MAAM,CAEhB;IAEK,QAAQ,IAAI,OAAO,CAAC,YAAY,CAAC;CA2BvC;AAED;;;GAGG;AACH,qBAAa,SAAS;;gBAOT,OAAO,GAAE,aAAkB;IAKvC;;;;;;OAMG;IACG,GAAG,CAAC,GAAG,EAAE,MAAM,EAAE,GAAG,EAAE,MAAM,GAAG,SAAS,GAAG,OAAO,CAAC,GAAG,CAAC;CAwD7D"}
|
package/dist/oidc.js
CHANGED
|
@@ -8,6 +8,7 @@
|
|
|
8
8
|
* key hands anyone a way to make this application hammer the provider. The
|
|
9
9
|
* middle is a rate limit.
|
|
10
10
|
*/
|
|
11
|
+
import { fetchWithTimeout } from "./httpTimeout.js";
|
|
11
12
|
const DEFAULT_TTL_MS = 3_600_000;
|
|
12
13
|
const DEFAULT_MIN_REFETCH_MS = 300_000;
|
|
13
14
|
/**
|
|
@@ -50,7 +51,7 @@ export class OidcDiscovery {
|
|
|
50
51
|
return this.#inFlight;
|
|
51
52
|
}
|
|
52
53
|
async #fetch() {
|
|
53
|
-
const response = await
|
|
54
|
+
const response = await fetchWithTimeout(this.url, {
|
|
54
55
|
headers: { Accept: "application/json" },
|
|
55
56
|
});
|
|
56
57
|
if (!response.ok) {
|
|
@@ -91,7 +92,7 @@ export class JwksCache {
|
|
|
91
92
|
this.#now() - this.#fetchedAt < this.#minRefetchMs) {
|
|
92
93
|
throw new Error(`[transit] id_token names a signing key ('${kid ?? "no kid"}') the provider did not publish`);
|
|
93
94
|
}
|
|
94
|
-
await this.#
|
|
95
|
+
await this.#fetchKeys(uri);
|
|
95
96
|
const refreshed = this.#find(kid);
|
|
96
97
|
if (!refreshed) {
|
|
97
98
|
throw new Error(`[transit] id_token names a signing key ('${kid ?? "no kid"}') the provider did not publish`);
|
|
@@ -105,14 +106,14 @@ export class JwksCache {
|
|
|
105
106
|
// No `kid` is only unambiguous when the provider publishes one key.
|
|
106
107
|
return usable.length === 1 ? usable[0] : undefined;
|
|
107
108
|
}
|
|
108
|
-
async #
|
|
109
|
+
async #fetchKeys(uri) {
|
|
109
110
|
this.#inFlight ??= this.#fetchOnce(uri).finally(() => {
|
|
110
111
|
this.#inFlight = undefined;
|
|
111
112
|
});
|
|
112
113
|
return this.#inFlight;
|
|
113
114
|
}
|
|
114
115
|
async #fetchOnce(uri) {
|
|
115
|
-
const response = await
|
|
116
|
+
const response = await fetchWithTimeout(uri, {
|
|
116
117
|
headers: { Accept: "application/json" },
|
|
117
118
|
});
|
|
118
119
|
if (!response.ok) {
|
package/dist/oidc.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"oidc.js","sourceRoot":"","sources":["../src/oidc.ts"],"names":[],"mappings":"AAAA;;;;;;;;;GASG;
|
|
1
|
+
{"version":3,"file":"oidc.js","sourceRoot":"","sources":["../src/oidc.ts"],"names":[],"mappings":"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"}
|
package/package.json
CHANGED
package/src/Oauth1Driver.ts
CHANGED
|
@@ -18,6 +18,7 @@
|
|
|
18
18
|
* the secret kept from `begin()`.
|
|
19
19
|
*/
|
|
20
20
|
|
|
21
|
+
import { fetchWithTimeout } from "./httpTimeout.js";
|
|
21
22
|
import {
|
|
22
23
|
authorizationHeader,
|
|
23
24
|
baseOauthParams,
|
|
@@ -156,7 +157,7 @@ export abstract class Oauth1Driver implements TransitDriver {
|
|
|
156
157
|
const query = new URLSearchParams(params).toString();
|
|
157
158
|
const url = query ? `${this.userInfoUrl}?${query}` : this.userInfoUrl;
|
|
158
159
|
|
|
159
|
-
const response = await
|
|
160
|
+
const response = await fetchWithTimeout(url, {
|
|
160
161
|
headers: {
|
|
161
162
|
Authorization: authorizationHeader({
|
|
162
163
|
method: "GET",
|
|
@@ -192,7 +193,7 @@ export abstract class Oauth1Driver implements TransitDriver {
|
|
|
192
193
|
oauth: Param[],
|
|
193
194
|
tokenSecret?: string,
|
|
194
195
|
): Promise<Record<string, string>> {
|
|
195
|
-
const response = await
|
|
196
|
+
const response = await fetchWithTimeout(url, {
|
|
196
197
|
method: "POST",
|
|
197
198
|
headers: {
|
|
198
199
|
Authorization: authorizationHeader({
|
package/src/Oauth2Driver.ts
CHANGED
|
@@ -14,6 +14,7 @@
|
|
|
14
14
|
*/
|
|
15
15
|
|
|
16
16
|
import { createHash, randomBytes, randomUUID } from "node:crypto";
|
|
17
|
+
import { fetchWithTimeout } from "./httpTimeout.js";
|
|
17
18
|
import type {
|
|
18
19
|
OAuthConfig,
|
|
19
20
|
OAuthToken,
|
|
@@ -174,7 +175,7 @@ export abstract class Oauth2Driver implements TransitDriver {
|
|
|
174
175
|
body.set("client_secret", this.config.clientSecret);
|
|
175
176
|
}
|
|
176
177
|
|
|
177
|
-
const response = await
|
|
178
|
+
const response = await fetchWithTimeout(this.accessTokenUrl, {
|
|
178
179
|
method: "POST",
|
|
179
180
|
headers,
|
|
180
181
|
body,
|
|
@@ -228,7 +229,7 @@ export abstract class Oauth2Driver implements TransitDriver {
|
|
|
228
229
|
params: Record<string, string> = {},
|
|
229
230
|
): Promise<unknown> {
|
|
230
231
|
const query = new URLSearchParams(params).toString();
|
|
231
|
-
const response = await
|
|
232
|
+
const response = await fetchWithTimeout(query ? `${url}?${query}` : url, {
|
|
232
233
|
headers: {
|
|
233
234
|
Authorization: `Bearer ${accessToken}`,
|
|
234
235
|
Accept: "application/json",
|
|
@@ -13,6 +13,7 @@
|
|
|
13
13
|
*/
|
|
14
14
|
|
|
15
15
|
import { randomUUID } from "node:crypto";
|
|
16
|
+
import { fetchWithTimeout } from "../httpTimeout.js";
|
|
16
17
|
import {
|
|
17
18
|
assertIdTokenClaims,
|
|
18
19
|
decodeJws,
|
|
@@ -211,7 +212,7 @@ export class OidcDriver implements TransitDriver {
|
|
|
211
212
|
// Only when a challenge was actually sent.
|
|
212
213
|
...(verifier === "" ? {} : { code_verifier: verifier }),
|
|
213
214
|
});
|
|
214
|
-
const response = await
|
|
215
|
+
const response = await fetchWithTimeout(metadata.token_endpoint, {
|
|
215
216
|
method: "POST",
|
|
216
217
|
headers: {
|
|
217
218
|
Accept: "application/json",
|
|
@@ -320,7 +321,7 @@ export class OidcDriver implements TransitDriver {
|
|
|
320
321
|
endpoint: string,
|
|
321
322
|
accessToken: string,
|
|
322
323
|
): Promise<Record<string, unknown>> {
|
|
323
|
-
const response = await
|
|
324
|
+
const response = await fetchWithTimeout(endpoint, {
|
|
324
325
|
headers: {
|
|
325
326
|
Authorization: `Bearer ${accessToken}`,
|
|
326
327
|
Accept: "application/json",
|
|
@@ -0,0 +1,30 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Every outbound call this package makes, with a deadline on it.
|
|
3
|
+
*
|
|
4
|
+
* None of them had one. A provider that accepts the connection and then never
|
|
5
|
+
* answers held a request open indefinitely — discovery, JWKS, the token
|
|
6
|
+
* exchange, the callback — and the only thing that eventually freed it was the
|
|
7
|
+
* caller's own infrastructure, if it had any. An identity provider is the one
|
|
8
|
+
* dependency an application cannot route around, so it is the one that most
|
|
9
|
+
* needs a bound.
|
|
10
|
+
*
|
|
11
|
+
* Ten seconds, matching what the LDAP client already used, so the package has
|
|
12
|
+
* one answer rather than two.
|
|
13
|
+
*/
|
|
14
|
+
export const DEFAULT_TIMEOUT_MS = 10_000;
|
|
15
|
+
|
|
16
|
+
/** `fetch`, refusing to wait forever. */
|
|
17
|
+
export async function fetchWithTimeout(
|
|
18
|
+
input: string | URL,
|
|
19
|
+
init: RequestInit = {},
|
|
20
|
+
timeoutMs: number = DEFAULT_TIMEOUT_MS,
|
|
21
|
+
): Promise<Response> {
|
|
22
|
+
const deadline = AbortSignal.timeout(timeoutMs);
|
|
23
|
+
// A caller's own signal still cancels: the deadline is added to it, never
|
|
24
|
+
// substituted for it.
|
|
25
|
+
const signal =
|
|
26
|
+
init.signal === null || init.signal === undefined
|
|
27
|
+
? deadline
|
|
28
|
+
: AbortSignal.any([init.signal, deadline]);
|
|
29
|
+
return fetch(input, { ...init, signal });
|
|
30
|
+
}
|
package/src/oidc.ts
CHANGED
|
@@ -9,6 +9,7 @@
|
|
|
9
9
|
* middle is a rate limit.
|
|
10
10
|
*/
|
|
11
11
|
|
|
12
|
+
import { fetchWithTimeout } from "./httpTimeout.js";
|
|
12
13
|
import type { Jwk } from "./jwt.js";
|
|
13
14
|
|
|
14
15
|
/** The slice of the discovery document this reads. */
|
|
@@ -79,7 +80,7 @@ export class OidcDiscovery {
|
|
|
79
80
|
}
|
|
80
81
|
|
|
81
82
|
async #fetch(): Promise<OidcMetadata> {
|
|
82
|
-
const response = await
|
|
83
|
+
const response = await fetchWithTimeout(this.url, {
|
|
83
84
|
headers: { Accept: "application/json" },
|
|
84
85
|
});
|
|
85
86
|
if (!response.ok) {
|
|
@@ -130,7 +131,7 @@ export class JwksCache {
|
|
|
130
131
|
);
|
|
131
132
|
}
|
|
132
133
|
|
|
133
|
-
await this.#
|
|
134
|
+
await this.#fetchKeys(uri);
|
|
134
135
|
const refreshed = this.#find(kid);
|
|
135
136
|
if (!refreshed) {
|
|
136
137
|
throw new Error(
|
|
@@ -149,7 +150,7 @@ export class JwksCache {
|
|
|
149
150
|
return usable.length === 1 ? usable[0] : undefined;
|
|
150
151
|
}
|
|
151
152
|
|
|
152
|
-
async #
|
|
153
|
+
async #fetchKeys(uri: string): Promise<Jwk[]> {
|
|
153
154
|
this.#inFlight ??= this.#fetchOnce(uri).finally(() => {
|
|
154
155
|
this.#inFlight = undefined;
|
|
155
156
|
});
|
|
@@ -157,7 +158,7 @@ export class JwksCache {
|
|
|
157
158
|
}
|
|
158
159
|
|
|
159
160
|
async #fetchOnce(uri: string): Promise<Jwk[]> {
|
|
160
|
-
const response = await
|
|
161
|
+
const response = await fetchWithTimeout(uri, {
|
|
161
162
|
headers: { Accept: "application/json" },
|
|
162
163
|
});
|
|
163
164
|
if (!response.ok) {
|