mirror of
https://github.com/vercel/eve.git
synced 2026-09-20 05:35:39 +08:00
fix(eve): validate resolved OIDC token
This commit is contained in:
@@ -0,0 +1,5 @@
|
||||
---
|
||||
"eve": patch
|
||||
---
|
||||
|
||||
Treat empty Vercel OIDC resolver results as unavailable credentials instead of reporting AI Gateway as connected.
|
||||
@@ -113,6 +113,19 @@ describe("handleAgentInfoRequest", () => {
|
||||
expect(mocks.getVercelOidcToken).toHaveBeenCalledOnce();
|
||||
});
|
||||
|
||||
it("does not report OIDC when the Vercel SDK returns an empty token", async () => {
|
||||
mocks.getVercelOidcToken.mockResolvedValue("");
|
||||
|
||||
const response = await requestAgentInfo();
|
||||
|
||||
expect(response.status).toBe(200);
|
||||
expect(mocks.buildAgentInfoResponseFromManifest).toHaveBeenCalledWith(GATEWAY_MANIFEST_DATA, {
|
||||
mode: "development",
|
||||
gatewayCredentials: { apiKey: false, oidc: false },
|
||||
});
|
||||
expect(mocks.getVercelOidcToken).toHaveBeenCalledOnce();
|
||||
});
|
||||
|
||||
it("does not resolve OIDC when an AI Gateway API key is present", async () => {
|
||||
vi.stubEnv("AI_GATEWAY_API_KEY", "gateway-key");
|
||||
|
||||
|
||||
@@ -45,8 +45,8 @@ async function resolveGatewayCredentialPresence(
|
||||
}
|
||||
|
||||
try {
|
||||
await getVercelOidcToken();
|
||||
return { apiKey: false, oidc: true };
|
||||
const token = await getVercelOidcToken();
|
||||
return { apiKey: false, oidc: token.trim() !== "" };
|
||||
} catch {
|
||||
return { apiKey: false, oidc: false };
|
||||
}
|
||||
|
||||
Reference in New Issue
Block a user