UNPKG

@inso_web/els-mcp

Version:

MCP-сервер поверх INSO Error Logs Service. Read-only tools (search, analytics, fingerprinting, correlations) для подключения Claude Desktop/Code и ChatGPT к логам ошибок. Streamable HTTP transport + stdio для npx-запуска.

34 lines 1.48 kB
import { createRemoteJWKSet, jwtVerify } from 'jose'; /** * JWKS resolver через `jose.createRemoteJWKSet`. * * `createRemoteJWKSet` сам кеширует ключи (`cacheMaxAge`) и реализует cooldown * между retry'ами при cache-miss (`cooldownDuration`). Мы используем: * - cacheMaxAge: 10 минут — TTL ключа в кеше * - cooldownDuration: 10 секунд — минимальный интервал между miss-fetch'ами * - timeoutDuration: 5 секунд — HTTP timeout на fetch JWKS * * Для dev: переменная `MCP_OIDC_JWKS_URL` уже подхватывается через config — * можно указать локальный auth URL (`http://localhost:4002/oidc/.well-known/jwks.json`). */ const CACHE_MAX_AGE_MS = 10 * 60 * 1000; const COOLDOWN_MS = 10 * 1000; const TIMEOUT_MS = 5 * 1000; export function createJwksResolver(config) { const jwks = createRemoteJWKSet(new URL(config.oidcJwksUrl), { cacheMaxAge: CACHE_MAX_AGE_MS, cooldownDuration: COOLDOWN_MS, timeoutDuration: TIMEOUT_MS, }); return { async verify(token) { const { payload } = await jwtVerify(token, jwks, { issuer: config.oidcIssuer, audience: config.oidcAudience, algorithms: ['RS256'], }); return payload; }, }; } //# sourceMappingURL=jwks.js.map