@kya-os/mcp-i
Version:
The TypeScript MCP framework with identity features built-in
37 lines (36 loc) • 1.31 kB
JavaScript
;
Object.defineProperty(exports, "__esModule", { value: true });
exports.createOAuthProxy = createOAuthProxy;
const proxy_provider_1 = require("./providers/proxy-provider");
const router_1 = require("./router");
const memory_storage_1 = require("./storage/memory-storage");
/**
* Creates an OAuth proxy setup
*/
function createOAuthProxy(config) {
// Create provider with configuration
const providerConfig = {
endpoints: config.endpoints,
storage: config.storage || new memory_storage_1.MemoryOAuthStorage(),
verifyAccessToken: config.verifyAccessToken,
defaultScopes: config.defaultScopes,
};
const provider = new proxy_provider_1.ProxyOAuthServerProvider(providerConfig);
// Create router configuration
const routerConfig = {
provider,
issuerUrl: new URL(config.issuerUrl),
baseUrl: new URL(config.baseUrl),
serviceDocumentationUrl: config.serviceDocumentationUrl
? new URL(config.serviceDocumentationUrl)
: undefined,
pathPrefix: config.pathPrefix,
};
const router = (0, router_1.createOAuthRouter)(routerConfig);
const middleware = (0, router_1.createOAuthMiddleware)(provider);
return {
provider,
router,
middleware,
};
}