@superfunctions/oauth-router 0.0.1 → 0.1.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.
@@ -14,6 +14,12 @@ export interface OAuthBrowserRouteConfig {
14
14
  resolveCallbackInput?: (request: Request, context: RouteContext) => Promise<Partial<Omit<OAuthFlowCallbackInput, "providerId" | "requestId">>> | Partial<Omit<OAuthFlowCallbackInput, "providerId" | "requestId">>;
15
15
  callbackMode?: OAuthBrowserCallbackMode | ((result: OAuthFlowCallbackResult, request: Request, context: RouteContext) => Promise<OAuthBrowserCallbackMode> | OAuthBrowserCallbackMode);
16
16
  getRedirectLocation?: (result: OAuthFlowCallbackResult, request: Request, context: RouteContext) => Promise<string> | string;
17
+ /**
18
+ * Additional origins (beyond the request's own origin) that a post-callback
19
+ * redirect is permitted to target. Used to validate `returnTo` and prevent
20
+ * open-redirect attacks. Same-origin redirects are always allowed.
21
+ */
22
+ allowedRedirectOrigins?: string[];
17
23
  serializeCallbackResult?: (result: OAuthFlowCallbackResult, request: Request, context: RouteContext) => Promise<unknown> | unknown;
18
24
  routeMeta?: OAuthBrowserRouteMetaOverrides;
19
25
  requestIdHeader?: string;
@@ -1 +1 @@
1
- {"version":3,"file":"browser-routes.d.ts","sourceRoot":"","sources":["../src/browser-routes.ts"],"names":[],"mappings":"AACA,OAAO,KAAK,EAAiB,aAAa,EAAoB,KAAK,EAAE,YAAY,EAAE,MAAM,sBAAsB,CAAC;AAChH,OAAO,KAAK,EACV,sBAAsB,EACtB,uBAAuB,EACvB,wBAAwB,EACxB,gBAAgB,EAChB,mBAAmB,EACpB,MAAM,4BAA4B,CAAC;AAEpC,MAAM,MAAM,wBAAwB,GAAG,UAAU,GAAG,MAAM,CAAC;AAE3D,MAAM,MAAM,8BAA8B,GAAG;IAC3C,KAAK,CAAC,EAAE,aAAa,CAAC;IACtB,QAAQ,CAAC,EAAE,aAAa,CAAC;IACzB,UAAU,CAAC,EAAE,aAAa,CAAC;CAC5B,CAAC;AAEF,MAAM,WAAW,uBAAuB;IACtC,QAAQ,EAAE,MAAM,CAAC;IACjB,WAAW,EAAE,gBAAgB,CAAC;IAC9B,iBAAiB,EAAE,CAAC,OAAO,EAAE,OAAO,EAAE,OAAO,EAAE,YAAY,KAAK,OAAO,CAAC,mBAAmB,CAAC,GAAG,mBAAmB,CAAC;IACnH,sBAAsB,CAAC,EAAE,CACvB,OAAO,EAAE,OAAO,EAChB,OAAO,EAAE,YAAY,KAClB,OAAO,CAAC,IAAI,CAAC,wBAAwB,EAAE,YAAY,GAAG,WAAW,CAAC,CAAC,GAAG,IAAI,CAAC,wBAAwB,EAAE,YAAY,GAAG,WAAW,CAAC,CAAC;IACtI,oBAAoB,CAAC,EAAE,CACrB,OAAO,EAAE,OAAO,EAChB,OAAO,EAAE,YAAY,KAClB,OAAO,CAAC,OAAO,CAAC,IAAI,CAAC,sBAAsB,EAAE,YAAY,GAAG,WAAW,CAAC,CAAC,CAAC,GAAG,OAAO,CAAC,IAAI,CAAC,sBAAsB,EAAE,YAAY,GAAG,WAAW,CAAC,CAAC,CAAC;IACpJ,YAAY,CAAC,EAAE,wBAAwB,GAAG,CAAC,CACzC,MAAM,EAAE,uBAAuB,EAC/B,OAAO,EAAE,OAAO,EAChB,OAAO,EAAE,YAAY,KAClB,OAAO,CAAC,wBAAwB,CAAC,GAAG,wBAAwB,CAAC,CAAC;IACnE,mBAAmB,CAAC,EAAE,CACpB,MAAM,EAAE,uBAAuB,EAC/B,OAAO,EAAE,OAAO,EAChB,OAAO,EAAE,YAAY,KAClB,OAAO,CAAC,MAAM,CAAC,GAAG,MAAM,CAAC;IAC9B,uBAAuB,CAAC,EAAE,CACxB,MAAM,EAAE,uBAAuB,EAC/B,OAAO,EAAE,OAAO,EAChB,OAAO,EAAE,YAAY,KAClB,OAAO,CAAC,OAAO,CAAC,GAAG,OAAO,CAAC;IAChC,SAAS,CAAC,EAAE,8BAA8B,CAAC;IAC3C,eAAe,CAAC,EAAE,MAAM,CAAC;CAC1B;AAED,wBAAgB,wBAAwB,CAAC,MAAM,EAAE,uBAAuB,GAAG,KAAK,EAAE,CAsEjF"}
1
+ {"version":3,"file":"browser-routes.d.ts","sourceRoot":"","sources":["../src/browser-routes.ts"],"names":[],"mappings":"AACA,OAAO,KAAK,EAAiB,aAAa,EAAoB,KAAK,EAAE,YAAY,EAAE,MAAM,sBAAsB,CAAC;AAChH,OAAO,KAAK,EACV,sBAAsB,EACtB,uBAAuB,EACvB,wBAAwB,EACxB,gBAAgB,EAChB,mBAAmB,EACpB,MAAM,4BAA4B,CAAC;AAEpC,MAAM,MAAM,wBAAwB,GAAG,UAAU,GAAG,MAAM,CAAC;AAE3D,MAAM,MAAM,8BAA8B,GAAG;IAC3C,KAAK,CAAC,EAAE,aAAa,CAAC;IACtB,QAAQ,CAAC,EAAE,aAAa,CAAC;IACzB,UAAU,CAAC,EAAE,aAAa,CAAC;CAC5B,CAAC;AAEF,MAAM,WAAW,uBAAuB;IACtC,QAAQ,EAAE,MAAM,CAAC;IACjB,WAAW,EAAE,gBAAgB,CAAC;IAC9B,iBAAiB,EAAE,CAAC,OAAO,EAAE,OAAO,EAAE,OAAO,EAAE,YAAY,KAAK,OAAO,CAAC,mBAAmB,CAAC,GAAG,mBAAmB,CAAC;IACnH,sBAAsB,CAAC,EAAE,CACvB,OAAO,EAAE,OAAO,EAChB,OAAO,EAAE,YAAY,KAClB,OAAO,CAAC,IAAI,CAAC,wBAAwB,EAAE,YAAY,GAAG,WAAW,CAAC,CAAC,GAAG,IAAI,CAAC,wBAAwB,EAAE,YAAY,GAAG,WAAW,CAAC,CAAC;IACtI,oBAAoB,CAAC,EAAE,CACrB,OAAO,EAAE,OAAO,EAChB,OAAO,EAAE,YAAY,KAClB,OAAO,CAAC,OAAO,CAAC,IAAI,CAAC,sBAAsB,EAAE,YAAY,GAAG,WAAW,CAAC,CAAC,CAAC,GAAG,OAAO,CAAC,IAAI,CAAC,sBAAsB,EAAE,YAAY,GAAG,WAAW,CAAC,CAAC,CAAC;IACpJ,YAAY,CAAC,EAAE,wBAAwB,GAAG,CAAC,CACzC,MAAM,EAAE,uBAAuB,EAC/B,OAAO,EAAE,OAAO,EAChB,OAAO,EAAE,YAAY,KAClB,OAAO,CAAC,wBAAwB,CAAC,GAAG,wBAAwB,CAAC,CAAC;IACnE,mBAAmB,CAAC,EAAE,CACpB,MAAM,EAAE,uBAAuB,EAC/B,OAAO,EAAE,OAAO,EAChB,OAAO,EAAE,YAAY,KAClB,OAAO,CAAC,MAAM,CAAC,GAAG,MAAM,CAAC;IAC9B;;;;OAIG;IACH,sBAAsB,CAAC,EAAE,MAAM,EAAE,CAAC;IAClC,uBAAuB,CAAC,EAAE,CACxB,MAAM,EAAE,uBAAuB,EAC/B,OAAO,EAAE,OAAO,EAChB,OAAO,EAAE,YAAY,KAClB,OAAO,CAAC,OAAO,CAAC,GAAG,OAAO,CAAC;IAChC,SAAS,CAAC,EAAE,8BAA8B,CAAC;IAC3C,eAAe,CAAC,EAAE,MAAM,CAAC;CAC1B;AAED,wBAAgB,wBAAwB,CAAC,MAAM,EAAE,uBAAuB,GAAG,KAAK,EAAE,CAuEjF"}
@@ -1,5 +1,6 @@
1
1
  import { BadRequestError } from "@superfunctions/http";
2
2
  export function createOAuthBrowserRoutes(config) {
3
+ assertValidRedirectOrigins(config.allowedRedirectOrigins);
3
4
  const requestIdHeader = (config.requestIdHeader ?? "x-request-id").toLowerCase();
4
5
  return [
5
6
  {
@@ -62,6 +63,27 @@ export function createOAuthBrowserRoutes(config) {
62
63
  }
63
64
  ];
64
65
  }
66
+ function assertValidRedirectOrigins(origins) {
67
+ for (const origin of origins ?? []) {
68
+ let parsed;
69
+ try {
70
+ parsed = new URL(origin);
71
+ }
72
+ catch {
73
+ throw new Error(`OAUTH_ALLOWED_REDIRECT_ORIGIN_INVALID: ${origin}`);
74
+ }
75
+ if (parsed.protocol !== "http:" && parsed.protocol !== "https:") {
76
+ throw new Error(`OAUTH_ALLOWED_REDIRECT_ORIGIN_INVALID: ${origin}`);
77
+ }
78
+ if (parsed.username !== "" ||
79
+ parsed.password !== "" ||
80
+ (parsed.pathname !== "" && parsed.pathname !== "/") ||
81
+ parsed.search !== "" ||
82
+ parsed.hash !== "") {
83
+ throw new Error(`OAUTH_ALLOWED_REDIRECT_ORIGIN_INVALID: ${origin}`);
84
+ }
85
+ }
86
+ }
65
87
  function resolveRouteMeta(defaultMeta, overrideMeta) {
66
88
  if (!overrideMeta) {
67
89
  return defaultMeta;
@@ -118,13 +140,51 @@ async function resolveCallbackMode(mode, result, request, context) {
118
140
  }
119
141
  async function resolveRedirectLocation(config, result, request, context) {
120
142
  if (config.getRedirectLocation) {
143
+ // Caller-provided resolvers are trusted to produce safe locations.
121
144
  return config.getRedirectLocation(result, request, context);
122
145
  }
123
146
  if (result.subject.kind === "browser-auth" && result.subject.returnTo) {
124
- return result.subject.returnTo;
147
+ // `returnTo` originates from the (unauthenticated) flow start request and
148
+ // is attacker-influenceable, so it must be validated against the current
149
+ // origin and any explicitly allowlisted origins to prevent open redirects.
150
+ return sanitizeRedirectLocation(result.subject.returnTo, request, config.allowedRedirectOrigins);
125
151
  }
126
152
  return new URL("/", request.url).toString();
127
153
  }
154
+ function sanitizeRedirectLocation(returnTo, request, allowedRedirectOrigins) {
155
+ const requestUrl = new URL(request.url);
156
+ const fallback = new URL("/", requestUrl).toString();
157
+ let target;
158
+ try {
159
+ // Resolve relative URLs against the request origin; absolute URLs are
160
+ // parsed as-is so their origin can be checked.
161
+ target = new URL(returnTo, requestUrl);
162
+ }
163
+ catch {
164
+ return fallback;
165
+ }
166
+ // Only http(s) targets are ever acceptable (blocks javascript:, data:, etc.).
167
+ if (target.protocol !== "http:" && target.protocol !== "https:") {
168
+ return fallback;
169
+ }
170
+ if (target.origin === requestUrl.origin) {
171
+ return target.toString();
172
+ }
173
+ const allowed = new Set((allowedRedirectOrigins ?? [])
174
+ .map((origin) => {
175
+ try {
176
+ return new URL(origin).origin;
177
+ }
178
+ catch {
179
+ return null;
180
+ }
181
+ })
182
+ .filter((origin) => origin !== null));
183
+ if (allowed.has(target.origin)) {
184
+ return target.toString();
185
+ }
186
+ return fallback;
187
+ }
128
188
  async function parseDisconnectBody(request) {
129
189
  const body = asJsonObject(await parseJsonBody(request), "disconnect body");
130
190
  return {
@@ -1 +1 @@
1
- {"version":3,"file":"browser-routes.js","sourceRoot":"","sources":["../src/browser-routes.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,eAAe,EAAE,MAAM,sBAAsB,CAAC;AAiDvD,MAAM,UAAU,wBAAwB,CAAC,MAA+B;IACtE,MAAM,eAAe,GAAG,CAAC,MAAM,CAAC,eAAe,IAAI,cAAc,CAAC,CAAC,WAAW,EAAE,CAAC;IAEjF,OAAO;QACL;YACE,MAAM,EAAE,MAAM;YACd,IAAI,EAAE,QAAQ,CAAC,MAAM,CAAC,QAAQ,EAAE,OAAO,CAAC;YACxC,IAAI,EAAE,gBAAgB,CAAC,EAAE,IAAI,EAAE,EAAE,IAAI,EAAE,MAAM,EAAE,EAAE,EAAE,MAAM,CAAC,SAAS,EAAE,KAAK,CAAC;YAC3E,OAAO,EAAE,KAAK,EAAE,OAAO,EAAE,OAAO,EAAE,EAAE;gBAClC,MAAM,SAAS,GAAG,OAAO,CAAC,OAAO,CAAC,GAAG,CAAC,eAAe,CAAC,IAAI,SAAS,CAAC;gBACpE,MAAM,KAAK,GAAG,MAAM,MAAM,CAAC,iBAAiB,CAAC,OAAO,EAAE,OAAO,CAAC,CAAC;gBAC/D,MAAM,MAAM,GAAG,MAAM,MAAM,CAAC,WAAW,CAAC,KAAK,CAAC;oBAC5C,GAAG,KAAK;oBACR,SAAS,EAAE,SAAS,IAAI,KAAK,CAAC,SAAS;iBACxC,CAAC,CAAC;gBACH,OAAO,QAAQ,CAAC,IAAI,CAAC,MAAM,CAAC,CAAC;YAC/B,CAAC;SACF;QACD;YACE,MAAM,EAAE,KAAK;YACb,IAAI,EAAE,QAAQ,CAAC,MAAM,CAAC,QAAQ,EAAE,oBAAoB,CAAC;YACrD,IAAI,EAAE,gBAAgB,CAAC,EAAE,IAAI,EAAE,EAAE,IAAI,EAAE,MAAM,EAAE,EAAE,EAAE,MAAM,CAAC,SAAS,EAAE,QAAQ,CAAC;YAC9E,OAAO,EAAE,KAAK,EAAE,OAAO,EAAE,OAAO,EAAE,EAAE;gBAClC,MAAM,SAAS,GAAG,OAAO,CAAC,OAAO,CAAC,GAAG,CAAC,eAAe,CAAC,IAAI,SAAS,CAAC;gBACpE,MAAM,aAAa,GAAG,CAAC,MAAM,MAAM,CAAC,oBAAoB,EAAE,CAAC,OAAO,EAAE,OAAO,CAAC,CAAC,IAAI,EAAE,CAAC;gBACpF,MAAM,GAAG,GAAG,IAAI,GAAG,CAAC,OAAO,CAAC,GAAG,CAAC,CAAC;gBACjC,MAAM,cAAc,GAAG,MAAM,MAAM,CAAC,WAAW,CAAC,cAAc,CAAC;oBAC7D,UAAU,EAAE,OAAO,CAAC,MAAM,CAAC,QAAQ;oBACnC,IAAI,EAAE,gBAAgB,CAAC,aAAa,CAAC,IAAI,IAAI,GAAG,CAAC,YAAY,CAAC,GAAG,CAAC,MAAM,CAAC,EAAE,MAAM,CAAC;oBAClF,KAAK,EAAE,gBAAgB,CAAC,aAAa,CAAC,KAAK,IAAI,GAAG,CAAC,YAAY,CAAC,GAAG,CAAC,OAAO,CAAC,EAAE,OAAO,CAAC;oBACtF,WAAW,EAAE,gBAAgB,CAC3B,aAAa,CAAC,WAAW;wBACvB,GAAG,CAAC,YAAY,CAAC,GAAG,CAAC,aAAa,CAAC;wBACnC,wBAAwB,CAAC,GAAG,CAAC,EAC/B,aAAa,CACd;oBACD,SAAS;iBACV,CAAC,CAAC;gBAEH,MAAM,IAAI,GAAG,MAAM,mBAAmB,CAAC,MAAM,CAAC,YAAY,EAAE,cAAc,EAAE,OAAO,EAAE,OAAO,CAAC,CAAC;gBAC9F,IAAI,IAAI,KAAK,UAAU,EAAE,CAAC;oBACxB,MAAM,QAAQ,GAAG,MAAM,uBAAuB,CAAC,MAAM,EAAE,cAAc,EAAE,OAAO,EAAE,OAAO,CAAC,CAAC;oBACzF,OAAO,QAAQ,CAAC,QAAQ,CAAC,QAAQ,EAAE,GAAG,CAAC,CAAC;gBAC1C,CAAC;gBAED,MAAM,OAAO,GAAG,MAAM,CAAC,uBAAuB;oBAC5C,CAAC,CAAC,MAAM,MAAM,CAAC,uBAAuB,CAAC,cAAc,EAAE,OAAO,EAAE,OAAO,CAAC;oBACxE,CAAC,CAAC,cAAc,CAAC;gBACnB,OAAO,QAAQ,CAAC,IAAI,CAAC,OAAO,CAAC,CAAC;YAChC,CAAC;SACF;QACD;YACE,MAAM,EAAE,MAAM;YACd,IAAI,EAAE,QAAQ,CAAC,MAAM,CAAC,QAAQ,EAAE,sBAAsB,CAAC;YACvD,IAAI,EAAE,gBAAgB,CAAC,EAAE,IAAI,EAAE,EAAE,IAAI,EAAE,QAAQ,EAAE,EAAE,EAAE,MAAM,CAAC,SAAS,EAAE,UAAU,CAAC;YAClF,OAAO,EAAE,KAAK,EAAE,OAAO,EAAE,OAAO,EAAE,EAAE;gBAClC,MAAM,SAAS,GAAG,OAAO,CAAC,OAAO,CAAC,GAAG,CAAC,eAAe,CAAC,IAAI,SAAS,CAAC;gBACpE,MAAM,KAAK,GACT,CAAC,MAAM,MAAM,CAAC,sBAAsB,EAAE,CAAC,OAAO,EAAE,OAAO,CAAC,CAAC;oBACzD,CAAC,MAAM,mBAAmB,CAAC,OAAO,CAAC,CAAC,CAAC;gBAEvC,MAAM,MAAM,GAAG,MAAM,MAAM,CAAC,WAAW,CAAC,UAAU,CAAC;oBACjD,GAAG,KAAK;oBACR,UAAU,EAAE,OAAO,CAAC,MAAM,CAAC,QAAQ;oBACnC,SAAS;iBACV,CAAC,CAAC;gBACH,OAAO,QAAQ,CAAC,IAAI,CAAC,MAAM,CAAC,CAAC;YAC/B,CAAC;SACF;KACF,CAAC;AACJ,CAAC;AAED,SAAS,gBAAgB,CAAC,WAA0B,EAAE,YAAuC;IAC3F,IAAI,CAAC,YAAY,EAAE,CAAC;QAClB,OAAO,WAAW,CAAC;IACrB,CAAC;IAED,OAAO;QACL,GAAG,WAAW;QACd,GAAG,YAAY;QACf,IAAI,EAAE,aAAa,CAAC,WAAW,CAAC,IAAI,EAAE,YAAY,CAAC,IAAI,CAAC;QACxD,OAAO,EAAE,gBAAgB,CAAC,WAAW,CAAC,OAAO,EAAE,YAAY,CAAC,OAAO,CAAC;KACrE,CAAC;AACJ,CAAC;AAED,SAAS,aAAa,CACpB,WAAsC,EACtC,YAAuC;IAEvC,IAAI,CAAC,WAAW,EAAE,CAAC;QACjB,OAAO,YAAY,CAAC,CAAC,CAAC,EAAE,GAAG,YAAY,EAAE,CAAC,CAAC,CAAC,SAAS,CAAC;IACxD,CAAC;IAED,IAAI,CAAC,YAAY,EAAE,CAAC;QAClB,OAAO,EAAE,GAAG,WAAW,EAAE,CAAC;IAC5B,CAAC;IAED,OAAO;QACL,GAAG,WAAW;QACd,GAAG,YAAY;KAChB,CAAC;AACJ,CAAC;AAED,SAAS,gBAAgB,CACvB,WAAyC,EACzC,YAA0C;IAE1C,IAAI,CAAC,WAAW,EAAE,CAAC;QACjB,OAAO,YAAY,CAAC,CAAC,CAAC,EAAE,GAAG,YAAY,EAAE,CAAC,CAAC,CAAC,SAAS,CAAC;IACxD,CAAC;IAED,IAAI,CAAC,YAAY,EAAE,CAAC;QAClB,OAAO,EAAE,GAAG,WAAW,EAAE,CAAC;IAC5B,CAAC;IAED,OAAO;QACL,GAAG,WAAW;QACd,GAAG,YAAY;KAChB,CAAC;AACJ,CAAC;AAED,SAAS,QAAQ,CAAC,QAAgB,EAAE,MAAc;IAChD,MAAM,cAAc,GAAG,QAAQ,CAAC,UAAU,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,QAAQ,CAAC,CAAC,CAAC,IAAI,QAAQ,EAAE,CAAC;IAC5E,OAAO,GAAG,cAAc,CAAC,OAAO,CAAC,KAAK,EAAE,EAAE,CAAC,IAAI,MAAM,CAAC,OAAO,CAAC,KAAK,EAAE,EAAE,CAAC,EAAE,CAAC;AAC7E,CAAC;AAED,SAAS,gBAAgB,CAAC,KAAc,EAAE,KAAa;IACrD,IAAI,OAAO,KAAK,KAAK,QAAQ,IAAI,KAAK,CAAC,MAAM,KAAK,CAAC,EAAE,CAAC;QACpD,MAAM,IAAI,eAAe,CAAC,GAAG,KAAK,cAAc,EAAE,2BAA2B,CAAC,CAAC;IACjF,CAAC;IACD,OAAO,KAAK,CAAC;AACf,CAAC;AAED,KAAK,UAAU,mBAAmB,CAChC,IAA6C,EAC7C,MAA+B,EAC/B,OAAgB,EAChB,OAAqB;IAErB,IAAI,CAAC,IAAI,EAAE,CAAC;QACV,OAAO,MAAM,CAAC;IAChB,CAAC;IAED,IAAI,OAAO,IAAI,KAAK,UAAU,EAAE,CAAC;QAC/B,OAAO,IAAI,CAAC,MAAM,EAAE,OAAO,EAAE,OAAO,CAAC,CAAC;IACxC,CAAC;IAED,OAAO,IAAI,CAAC;AACd,CAAC;AAED,KAAK,UAAU,uBAAuB,CACpC,MAA+B,EAC/B,MAA+B,EAC/B,OAAgB,EAChB,OAAqB;IAErB,IAAI,MAAM,CAAC,mBAAmB,EAAE,CAAC;QAC/B,OAAO,MAAM,CAAC,mBAAmB,CAAC,MAAM,EAAE,OAAO,EAAE,OAAO,CAAC,CAAC;IAC9D,CAAC;IAED,IAAI,MAAM,CAAC,OAAO,CAAC,IAAI,KAAK,cAAc,IAAI,MAAM,CAAC,OAAO,CAAC,QAAQ,EAAE,CAAC;QACtE,OAAO,MAAM,CAAC,OAAO,CAAC,QAAQ,CAAC;IACjC,CAAC;IAED,OAAO,IAAI,GAAG,CAAC,GAAG,EAAE,OAAO,CAAC,GAAG,CAAC,CAAC,QAAQ,EAAE,CAAC;AAC9C,CAAC;AAED,KAAK,UAAU,mBAAmB,CAChC,OAAgB;IAEhB,MAAM,IAAI,GAAG,YAAY,CAAC,MAAM,aAAa,CAAC,OAAO,CAAC,EAAE,iBAAiB,CAIxE,CAAC;IAEF,OAAO;QACL,YAAY,EAAE,gBAAgB,CAAC,IAAI,CAAC,YAAY,EAAE,cAAc,CAAC;QACjE,YAAY,EAAE,iBAAiB,CAAC,IAAI,CAAC,YAAY,EAAE,cAAc,CAAC;QAClE,aAAa,EAAE,eAAe,CAAC,IAAI,CAAC,aAAa,CAAC;KACnD,CAAC;AACJ,CAAC;AAED,KAAK,UAAU,aAAa,CAAC,OAAgB;IAC3C,IAAI,CAAC;QACH,OAAO,MAAM,OAAO,CAAC,IAAI,EAAE,CAAC;IAC9B,CAAC;IAAC,MAAM,CAAC;QACP,MAAM,IAAI,eAAe,CAAC,oCAAoC,EAAE,2BAA2B,CAAC,CAAC;IAC/F,CAAC;AACH,CAAC;AAED,SAAS,wBAAwB,CAAC,GAAQ;IACxC,MAAM,WAAW,GAAG,IAAI,GAAG,CAAC,GAAG,CAAC,QAAQ,EAAE,CAAC,CAAC;IAC5C,KAAK,MAAM,cAAc,IAAI,CAAC,MAAM,EAAE,OAAO,EAAE,aAAa,EAAE,OAAO,EAAE,mBAAmB,EAAE,WAAW,CAAC,EAAE,CAAC;QACzG,WAAW,CAAC,YAAY,CAAC,MAAM,CAAC,cAAc,CAAC,CAAC;IAClD,CAAC;IACD,OAAO,WAAW,CAAC,QAAQ,EAAE,CAAC;AAChC,CAAC;AAED,SAAS,YAAY,CAAC,KAAc,EAAE,KAAa;IACjD,IAAI,CAAC,KAAK,IAAI,OAAO,KAAK,KAAK,QAAQ,IAAI,KAAK,CAAC,OAAO,CAAC,KAAK,CAAC,EAAE,CAAC;QAChE,MAAM,IAAI,eAAe,CAAC,GAAG,KAAK,wBAAwB,EAAE,2BAA2B,CAAC,CAAC;IAC3F,CAAC;IACD,OAAO,KAAgC,CAAC;AAC1C,CAAC;AAED,SAAS,iBAAiB,CAAC,KAAc,EAAE,KAAa;IACtD,IAAI,KAAK,KAAK,SAAS,EAAE,CAAC;QACxB,OAAO,SAAS,CAAC;IACnB,CAAC;IACD,IAAI,OAAO,KAAK,KAAK,SAAS,EAAE,CAAC;QAC/B,MAAM,IAAI,eAAe,CAAC,GAAG,KAAK,oBAAoB,EAAE,2BAA2B,CAAC,CAAC;IACvF,CAAC;IACD,OAAO,KAAK,CAAC;AACf,CAAC;AAED,SAAS,eAAe,CAAC,KAAc;IACrC,IAAI,KAAK,KAAK,SAAS,EAAE,CAAC;QACxB,OAAO,SAAS,CAAC;IACnB,CAAC;IACD,IAAI,KAAK,KAAK,cAAc,IAAI,KAAK,KAAK,eAAe,EAAE,CAAC;QAC1D,OAAO,KAAK,CAAC;IACf,CAAC;IACD,MAAM,IAAI,eAAe,CAAC,qDAAqD,EAAE,2BAA2B,CAAC,CAAC;AAChH,CAAC"}
1
+ {"version":3,"file":"browser-routes.js","sourceRoot":"","sources":["../src/browser-routes.ts"],"names":[],"mappings":"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"}
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@superfunctions/oauth-router",
3
- "version": "0.0.1",
3
+ "version": "0.1.0",
4
4
  "description": "Reusable OAuth route factories for Superfunctions",
5
5
  "type": "module",
6
6
  "main": "./dist/index.js",
@@ -38,8 +38,8 @@
38
38
  "access": "public"
39
39
  },
40
40
  "dependencies": {
41
- "@superfunctions/http": "0.1.3",
42
- "@superfunctions/oauth-flow": "0.0.1"
41
+ "@superfunctions/http": "0.2.0",
42
+ "@superfunctions/oauth-flow": "0.1.0"
43
43
  },
44
44
  "devDependencies": {
45
45
  "@types/node": "^22.0.0",