Skip to content

Commit

Permalink
refactor: handle potential errors during ky requests in koa-auth midd…
Browse files Browse the repository at this point in the history
…leware (#6112)
  • Loading branch information
xiaoyijun authored and charIeszhao committed Jun 27, 2024
1 parent a5b1f00 commit 811de6b
Showing 1 changed file with 11 additions and 0 deletions.
11 changes: 11 additions & 0 deletions packages/core/src/middleware/koa-auth/index.ts
Original file line number Diff line number Diff line change
Expand Up @@ -6,6 +6,7 @@ import type { JWK } from 'jose';
import { createLocalJWKSet, jwtVerify } from 'jose';
import type { MiddlewareType, Request } from 'koa';
import type { IMiddleware, IRouterParamContext } from 'koa-router';
import { HTTPError } from 'ky';
import { z } from 'zod';

import { EnvSet } from '#src/env-set/index.js';
Expand Down Expand Up @@ -106,6 +107,16 @@ export const verifyBearerTokenFromRequest = async (
throw error;
}

/**
* Handle potential errors when ky makes requests during validation
* This may occur when fetching OIDC configuration from the oidc-config endpoint
* `TypeError`: typically thrown when the fetch operation fails (e.g., network issues)
* `HTTPError`: thrown by ky for non-2xx responses
*/
if (error instanceof TypeError || error instanceof HTTPError) {
throw error;
}

throw new RequestError({ code: 'auth.unauthorized', status: 401 }, error);
}
};
Expand Down

0 comments on commit 811de6b

Please sign in to comment.