mcp-auth-server 0.0.0-stage → 0.1.1
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.
- package/README.md +207 -2
- package/bin/keygen.mjs +26 -0
- package/lib/adapters/express/express.middleware.d.ts +4 -0
- package/lib/adapters/express/express.middleware.js +23 -0
- package/lib/adapters/express/express.middleware.js.map +1 -0
- package/lib/adapters/fastify/fastify.plugin.d.ts +4 -0
- package/lib/adapters/fastify/fastify.plugin.js +32 -0
- package/lib/adapters/fastify/fastify.plugin.js.map +1 -0
- package/lib/adapters/fetch/create.fetch.handler.d.ts +3 -0
- package/lib/adapters/fetch/create.fetch.handler.js +13 -0
- package/lib/adapters/fetch/create.fetch.handler.js.map +1 -0
- package/lib/adapters/fetch/to.http.request.d.ts +3 -0
- package/lib/adapters/fetch/to.http.request.js +22 -0
- package/lib/adapters/fetch/to.http.request.js.map +1 -0
- package/lib/adapters/fetch/to.response.d.ts +3 -0
- package/lib/adapters/fetch/to.response.js +10 -0
- package/lib/adapters/fetch/to.response.js.map +1 -0
- package/lib/adapters/koa/koa.middleware.d.ts +4 -0
- package/lib/adapters/koa/koa.middleware.js +19 -0
- package/lib/adapters/koa/koa.middleware.js.map +1 -0
- package/lib/adapters/node/create.node.handler.d.ts +4 -0
- package/lib/adapters/node/create.node.handler.js +16 -0
- package/lib/adapters/node/create.node.handler.js.map +1 -0
- package/lib/adapters/node/node.ssrf.guard.d.ts +2 -0
- package/lib/adapters/node/node.ssrf.guard.js +16 -0
- package/lib/adapters/node/node.ssrf.guard.js.map +1 -0
- package/lib/adapters/node/parse.node.body.d.ts +3 -0
- package/lib/adapters/node/parse.node.body.js +16 -0
- package/lib/adapters/node/parse.node.body.js.map +1 -0
- package/lib/adapters/node/read.node.body.d.ts +3 -0
- package/lib/adapters/node/read.node.body.js +10 -0
- package/lib/adapters/node/read.node.body.js.map +1 -0
- package/lib/adapters/node/to.node.http.request.d.ts +4 -0
- package/lib/adapters/node/to.node.http.request.js +20 -0
- package/lib/adapters/node/to.node.http.request.js.map +1 -0
- package/lib/adapters/node/write.node.response.d.ts +4 -0
- package/lib/adapters/node/write.node.response.js +10 -0
- package/lib/adapters/node/write.node.response.js.map +1 -0
- package/lib/cache/lru.metadata.cache.d.ts +10 -0
- package/lib/cache/lru.metadata.cache.js +31 -0
- package/lib/cache/lru.metadata.cache.js.map +1 -0
- package/lib/functions/body/parse.body.d.ts +2 -0
- package/lib/functions/body/parse.body.js +20 -0
- package/lib/functions/body/parse.body.js.map +1 -0
- package/lib/functions/body/parse.query.d.ts +2 -0
- package/lib/functions/body/parse.query.js +16 -0
- package/lib/functions/body/parse.query.js.map +1 -0
- package/lib/functions/cimd/assert.public.host.d.ts +2 -0
- package/lib/functions/cimd/assert.public.host.js +15 -0
- package/lib/functions/cimd/assert.public.host.js.map +1 -0
- package/lib/functions/cimd/cache.seconds.d.ts +2 -0
- package/lib/functions/cimd/cache.seconds.js +16 -0
- package/lib/functions/cimd/cache.seconds.js.map +1 -0
- package/lib/functions/cimd/create.metadata.resolver.d.ts +5 -0
- package/lib/functions/cimd/create.metadata.resolver.js +53 -0
- package/lib/functions/cimd/create.metadata.resolver.js.map +1 -0
- package/lib/functions/cimd/host.matches.d.ts +2 -0
- package/lib/functions/cimd/host.matches.js +5 -0
- package/lib/functions/cimd/host.matches.js.map +1 -0
- package/lib/functions/cimd/is.metadata.client.id.d.ts +2 -0
- package/lib/functions/cimd/is.metadata.client.id.js +14 -0
- package/lib/functions/cimd/is.metadata.client.id.js.map +1 -0
- package/lib/functions/cimd/is.private.ipv4.d.ts +2 -0
- package/lib/functions/cimd/is.private.ipv4.js +18 -0
- package/lib/functions/cimd/is.private.ipv4.js.map +1 -0
- package/lib/functions/cimd/is.private.ipv6.d.ts +2 -0
- package/lib/functions/cimd/is.private.ipv6.js +17 -0
- package/lib/functions/cimd/is.private.ipv6.js.map +1 -0
- package/lib/functions/cimd/read.limited.d.ts +2 -0
- package/lib/functions/cimd/read.limited.js +32 -0
- package/lib/functions/cimd/read.limited.js.map +1 -0
- package/lib/functions/cimd/validate.metadata.document.d.ts +3 -0
- package/lib/functions/cimd/validate.metadata.document.js +25 -0
- package/lib/functions/cimd/validate.metadata.document.js.map +1 -0
- package/lib/functions/consent/consent.styles.d.ts +2 -0
- package/lib/functions/consent/consent.styles.js +20 -0
- package/lib/functions/consent/consent.styles.js.map +1 -0
- package/lib/functions/consent/escape.html.d.ts +2 -0
- package/lib/functions/consent/escape.html.js +5 -0
- package/lib/functions/consent/escape.html.js.map +1 -0
- package/lib/functions/consent/render.default.consent.d.ts +3 -0
- package/lib/functions/consent/render.default.consent.js +50 -0
- package/lib/functions/consent/render.default.consent.js.map +1 -0
- package/lib/functions/crypto/random.id.d.ts +2 -0
- package/lib/functions/crypto/random.id.js +5 -0
- package/lib/functions/crypto/random.id.js.map +1 -0
- package/lib/functions/crypto/random.token.d.ts +2 -0
- package/lib/functions/crypto/random.token.js +9 -0
- package/lib/functions/crypto/random.token.js.map +1 -0
- package/lib/functions/crypto/sha256.base64.url.d.ts +2 -0
- package/lib/functions/crypto/sha256.base64.url.js +10 -0
- package/lib/functions/crypto/sha256.base64.url.js.map +1 -0
- package/lib/functions/crypto/sha256.digest.d.ts +2 -0
- package/lib/functions/crypto/sha256.digest.js +5 -0
- package/lib/functions/crypto/sha256.digest.js.map +1 -0
- package/lib/functions/crypto/sha256.hex.d.ts +2 -0
- package/lib/functions/crypto/sha256.hex.js +9 -0
- package/lib/functions/crypto/sha256.hex.js.map +1 -0
- package/lib/functions/crypto/to.base64.url.d.ts +2 -0
- package/lib/functions/crypto/to.base64.url.js +10 -0
- package/lib/functions/crypto/to.base64.url.js.map +1 -0
- package/lib/functions/http/form.params.d.ts +2 -0
- package/lib/functions/http/form.params.js +5 -0
- package/lib/functions/http/form.params.js.map +1 -0
- package/lib/functions/http/header.value.d.ts +3 -0
- package/lib/functions/http/header.value.js +8 -0
- package/lib/functions/http/header.value.js.map +1 -0
- package/lib/functions/http/json.response.d.ts +3 -0
- package/lib/functions/http/json.response.js +9 -0
- package/lib/functions/http/json.response.js.map +1 -0
- package/lib/functions/http/oauth.error.response.d.ts +3 -0
- package/lib/functions/http/oauth.error.response.js +9 -0
- package/lib/functions/http/oauth.error.response.js.map +1 -0
- package/lib/functions/http/plain.error.response.d.ts +3 -0
- package/lib/functions/http/plain.error.response.js +5 -0
- package/lib/functions/http/plain.error.response.js.map +1 -0
- package/lib/functions/http/query.param.d.ts +3 -0
- package/lib/functions/http/query.param.js +8 -0
- package/lib/functions/http/query.param.js.map +1 -0
- package/lib/functions/http/redirect.response.d.ts +3 -0
- package/lib/functions/http/redirect.response.js +5 -0
- package/lib/functions/http/redirect.response.js.map +1 -0
- package/lib/functions/http/text.value.d.ts +2 -0
- package/lib/functions/http/text.value.js +5 -0
- package/lib/functions/http/text.value.js.map +1 -0
- package/lib/functions/http/trim.trailing.slashes.d.ts +2 -0
- package/lib/functions/http/trim.trailing.slashes.js +10 -0
- package/lib/functions/http/trim.trailing.slashes.js.map +1 -0
- package/lib/functions/jwt/sign.access.token.d.ts +4 -0
- package/lib/functions/jwt/sign.access.token.js +21 -0
- package/lib/functions/jwt/sign.access.token.js.map +1 -0
- package/lib/functions/jwt/verify.access.token.d.ts +4 -0
- package/lib/functions/jwt/verify.access.token.js +16 -0
- package/lib/functions/jwt/verify.access.token.js.map +1 -0
- package/lib/functions/keys/der.length.d.ts +2 -0
- package/lib/functions/keys/der.length.js +12 -0
- package/lib/functions/keys/der.length.js.map +1 -0
- package/lib/functions/keys/is.rsa.key.d.ts +2 -0
- package/lib/functions/keys/is.rsa.key.js +8 -0
- package/lib/functions/keys/is.rsa.key.js.map +1 -0
- package/lib/functions/keys/normalize.pem.d.ts +2 -0
- package/lib/functions/keys/normalize.pem.js +16 -0
- package/lib/functions/keys/normalize.pem.js.map +1 -0
- package/lib/functions/keys/pkcs1.to.pkcs8.d.ts +2 -0
- package/lib/functions/keys/pkcs1.to.pkcs8.js +14 -0
- package/lib/functions/keys/pkcs1.to.pkcs8.js.map +1 -0
- package/lib/functions/keys/resolve.key.pair.d.ts +3 -0
- package/lib/functions/keys/resolve.key.pair.js +27 -0
- package/lib/functions/keys/resolve.key.pair.js.map +1 -0
- package/lib/functions/keys/signing.key.from.env.d.ts +2 -0
- package/lib/functions/keys/signing.key.from.env.js +14 -0
- package/lib/functions/keys/signing.key.from.env.js.map +1 -0
- package/lib/functions/keys/wrap.pem.d.ts +2 -0
- package/lib/functions/keys/wrap.pem.js +11 -0
- package/lib/functions/keys/wrap.pem.js.map +1 -0
- package/lib/functions/redirect/build.error.redirect.d.ts +2 -0
- package/lib/functions/redirect/build.error.redirect.js +9 -0
- package/lib/functions/redirect/build.error.redirect.js.map +1 -0
- package/lib/functions/redirect/build.redirect.d.ts +2 -0
- package/lib/functions/redirect/build.redirect.js +12 -0
- package/lib/functions/redirect/build.redirect.js.map +1 -0
- package/lib/functions/redirect/describe.redirect.target.d.ts +2 -0
- package/lib/functions/redirect/describe.redirect.target.js +8 -0
- package/lib/functions/redirect/describe.redirect.target.js.map +1 -0
- package/lib/functions/redirect/is.allowed.redirect.uri.d.ts +3 -0
- package/lib/functions/redirect/is.allowed.redirect.uri.js +19 -0
- package/lib/functions/redirect/is.allowed.redirect.uri.js.map +1 -0
- package/lib/functions/redirect/is.loopback.redirect.d.ts +2 -0
- package/lib/functions/redirect/is.loopback.redirect.js +13 -0
- package/lib/functions/redirect/is.loopback.redirect.js.map +1 -0
- package/lib/functions/redirect/is.safe.metadata.redirect.uri.d.ts +2 -0
- package/lib/functions/redirect/is.safe.metadata.redirect.uri.js +20 -0
- package/lib/functions/redirect/is.safe.metadata.redirect.uri.js.map +1 -0
- package/lib/functions/redirect/parse.url.d.ts +2 -0
- package/lib/functions/redirect/parse.url.js +14 -0
- package/lib/functions/redirect/parse.url.js.map +1 -0
- package/lib/functions/server/attach.and.continue.d.ts +6 -0
- package/lib/functions/server/attach.and.continue.js +15 -0
- package/lib/functions/server/attach.and.continue.js.map +1 -0
- package/lib/functions/server/authenticate.request.d.ts +5 -0
- package/lib/functions/server/authenticate.request.js +24 -0
- package/lib/functions/server/authenticate.request.js.map +1 -0
- package/lib/functions/server/awaiting.consent.d.ts +5 -0
- package/lib/functions/server/awaiting.consent.js +18 -0
- package/lib/functions/server/awaiting.consent.js.map +1 -0
- package/lib/functions/server/build.routes.d.ts +4 -0
- package/lib/functions/server/build.routes.js +40 -0
- package/lib/functions/server/build.routes.js.map +1 -0
- package/lib/functions/server/build.upstream.context.d.ts +6 -0
- package/lib/functions/server/build.upstream.context.js +11 -0
- package/lib/functions/server/build.upstream.context.js.map +1 -0
- package/lib/functions/server/challenge.response.d.ts +4 -0
- package/lib/functions/server/challenge.response.js +14 -0
- package/lib/functions/server/challenge.response.js.map +1 -0
- package/lib/functions/server/continue.with.user.d.ts +5 -0
- package/lib/functions/server/continue.with.user.js +18 -0
- package/lib/functions/server/continue.with.user.js.map +1 -0
- package/lib/functions/server/create.client.resolver.d.ts +6 -0
- package/lib/functions/server/create.client.resolver.js +26 -0
- package/lib/functions/server/create.client.resolver.js.map +1 -0
- package/lib/functions/server/create.mcp.auth.context.d.ts +4 -0
- package/lib/functions/server/create.mcp.auth.context.js +38 -0
- package/lib/functions/server/create.mcp.auth.context.js.map +1 -0
- package/lib/functions/server/create.mcp.auth.d.ts +4 -0
- package/lib/functions/server/create.mcp.auth.js +25 -0
- package/lib/functions/server/create.mcp.auth.js.map +1 -0
- package/lib/functions/server/deny.authorization.d.ts +5 -0
- package/lib/functions/server/deny.authorization.js +13 -0
- package/lib/functions/server/deny.authorization.js.map +1 -0
- package/lib/functions/server/exchange.authorization.code.d.ts +4 -0
- package/lib/functions/server/exchange.authorization.code.js +32 -0
- package/lib/functions/server/exchange.authorization.code.js.map +1 -0
- package/lib/functions/server/find.route.d.ts +4 -0
- package/lib/functions/server/find.route.js +5 -0
- package/lib/functions/server/find.route.js.map +1 -0
- package/lib/functions/server/handle.request.d.ts +6 -0
- package/lib/functions/server/handle.request.js +21 -0
- package/lib/functions/server/handle.request.js.map +1 -0
- package/lib/functions/server/has.credentials.d.ts +3 -0
- package/lib/functions/server/has.credentials.js +9 -0
- package/lib/functions/server/has.credentials.js.map +1 -0
- package/lib/functions/server/issue.authorization.code.d.ts +5 -0
- package/lib/functions/server/issue.authorization.code.js +24 -0
- package/lib/functions/server/issue.authorization.code.js.map +1 -0
- package/lib/functions/server/issue.tokens.d.ts +4 -0
- package/lib/functions/server/issue.tokens.js +30 -0
- package/lib/functions/server/issue.tokens.js.map +1 -0
- package/lib/functions/server/load.pending.d.ts +5 -0
- package/lib/functions/server/load.pending.js +13 -0
- package/lib/functions/server/load.pending.js.map +1 -0
- package/lib/functions/server/rotate.refresh.token.d.ts +4 -0
- package/lib/functions/server/rotate.refresh.token.js +33 -0
- package/lib/functions/server/rotate.refresh.token.js.map +1 -0
- package/lib/functions/server/token.failure.d.ts +3 -0
- package/lib/functions/server/token.failure.js +9 -0
- package/lib/functions/server/token.failure.js.map +1 -0
- package/lib/functions/sql/from.better.sqlite3.d.ts +10 -0
- package/lib/functions/sql/from.better.sqlite3.js +11 -0
- package/lib/functions/sql/from.better.sqlite3.js.map +1 -0
- package/lib/functions/sql/from.bun.sqlite.d.ts +7 -0
- package/lib/functions/sql/from.bun.sqlite.js +5 -0
- package/lib/functions/sql/from.bun.sqlite.js.map +1 -0
- package/lib/functions/sql/from.d1.d.ts +11 -0
- package/lib/functions/sql/from.d1.js +8 -0
- package/lib/functions/sql/from.d1.js.map +1 -0
- package/lib/functions/sql/from.node.sqlite.d.ts +7 -0
- package/lib/functions/sql/from.node.sqlite.js +5 -0
- package/lib/functions/sql/from.node.sqlite.js.map +1 -0
- package/lib/functions/sql/from.pg.d.ts +7 -0
- package/lib/functions/sql/from.pg.js +5 -0
- package/lib/functions/sql/from.pg.js.map +1 -0
- package/lib/functions/sql/from.postgres.js.d.ts +5 -0
- package/lib/functions/sql/from.postgres.js.js +5 -0
- package/lib/functions/sql/from.postgres.js.js.map +1 -0
- package/lib/functions/sql/optional.date.d.ts +2 -0
- package/lib/functions/sql/optional.date.js +5 -0
- package/lib/functions/sql/optional.date.js.map +1 -0
- package/lib/functions/sql/optional.number.d.ts +2 -0
- package/lib/functions/sql/optional.number.js +5 -0
- package/lib/functions/sql/optional.number.js.map +1 -0
- package/lib/functions/sql/optional.text.d.ts +2 -0
- package/lib/functions/sql/optional.text.js +5 -0
- package/lib/functions/sql/optional.text.js.map +1 -0
- package/lib/functions/sql/row.to.client.d.ts +4 -0
- package/lib/functions/sql/row.to.client.js +18 -0
- package/lib/functions/sql/row.to.client.js.map +1 -0
- package/lib/functions/sql/row.to.code.d.ts +4 -0
- package/lib/functions/sql/row.to.code.js +21 -0
- package/lib/functions/sql/row.to.code.js.map +1 -0
- package/lib/functions/sql/row.to.pending.d.ts +4 -0
- package/lib/functions/sql/row.to.pending.js +21 -0
- package/lib/functions/sql/row.to.pending.js.map +1 -0
- package/lib/functions/sql/row.to.refresh.token.d.ts +4 -0
- package/lib/functions/sql/row.to.refresh.token.js +22 -0
- package/lib/functions/sql/row.to.refresh.token.js.map +1 -0
- package/lib/functions/sql/sql.schema.d.ts +3 -0
- package/lib/functions/sql/sql.schema.js +62 -0
- package/lib/functions/sql/sql.schema.js.map +1 -0
- package/lib/functions/sql/to.dialect.sql.d.ts +3 -0
- package/lib/functions/sql/to.dialect.sql.js +13 -0
- package/lib/functions/sql/to.dialect.sql.js.map +1 -0
- package/lib/functions/upstream/app.session.upstream.d.ts +4 -0
- package/lib/functions/upstream/app.session.upstream.js +18 -0
- package/lib/functions/upstream/app.session.upstream.js.map +1 -0
- package/lib/functions/upstream/entra.upstream.d.ts +11 -0
- package/lib/functions/upstream/entra.upstream.js +16 -0
- package/lib/functions/upstream/entra.upstream.js.map +1 -0
- package/lib/functions/upstream/oidc.upstream.d.ts +4 -0
- package/lib/functions/upstream/oidc.upstream.js +82 -0
- package/lib/functions/upstream/oidc.upstream.js.map +1 -0
- package/lib/functions/upstream/verify.id.token.d.ts +3 -0
- package/lib/functions/upstream/verify.id.token.js +16 -0
- package/lib/functions/upstream/verify.id.token.js.map +1 -0
- package/lib/handlers/authorization.server.metadata.handler.d.ts +4 -0
- package/lib/handlers/authorization.server.metadata.handler.js +24 -0
- package/lib/handlers/authorization.server.metadata.handler.js.map +1 -0
- package/lib/handlers/authorize.handler.d.ts +5 -0
- package/lib/handlers/authorize.handler.js +58 -0
- package/lib/handlers/authorize.handler.js.map +1 -0
- package/lib/handlers/callback.handler.d.ts +5 -0
- package/lib/handlers/callback.handler.js +32 -0
- package/lib/handlers/callback.handler.js.map +1 -0
- package/lib/handlers/consent.decision.handler.d.ts +5 -0
- package/lib/handlers/consent.decision.handler.js +30 -0
- package/lib/handlers/consent.decision.handler.js.map +1 -0
- package/lib/handlers/consent.page.handler.d.ts +5 -0
- package/lib/handlers/consent.page.handler.js +43 -0
- package/lib/handlers/consent.page.handler.js.map +1 -0
- package/lib/handlers/protected.resource.metadata.handler.d.ts +4 -0
- package/lib/handlers/protected.resource.metadata.handler.js +9 -0
- package/lib/handlers/protected.resource.metadata.handler.js.map +1 -0
- package/lib/handlers/register.handler.d.ts +5 -0
- package/lib/handlers/register.handler.js +44 -0
- package/lib/handlers/register.handler.js.map +1 -0
- package/lib/handlers/resume.handler.d.ts +5 -0
- package/lib/handlers/resume.handler.js +25 -0
- package/lib/handlers/resume.handler.js.map +1 -0
- package/lib/handlers/revoke.handler.d.ts +5 -0
- package/lib/handlers/revoke.handler.js +27 -0
- package/lib/handlers/revoke.handler.js.map +1 -0
- package/lib/handlers/token.handler.d.ts +5 -0
- package/lib/handlers/token.handler.js +22 -0
- package/lib/handlers/token.handler.js.map +1 -0
- package/lib/mcp.auth.entra.d.ts +4 -0
- package/lib/mcp.auth.entra.js +11 -0
- package/lib/mcp.auth.entra.js.map +1 -0
- package/lib/mcp.auth.express.d.ts +4 -0
- package/lib/mcp.auth.express.js +11 -0
- package/lib/mcp.auth.express.js.map +1 -0
- package/lib/mcp.auth.fastify.d.ts +4 -0
- package/lib/mcp.auth.fastify.js +11 -0
- package/lib/mcp.auth.fastify.js.map +1 -0
- package/lib/mcp.auth.fetch.d.ts +6 -0
- package/lib/mcp.auth.fetch.js +15 -0
- package/lib/mcp.auth.fetch.js.map +1 -0
- package/lib/mcp.auth.koa.d.ts +4 -0
- package/lib/mcp.auth.koa.js +11 -0
- package/lib/mcp.auth.koa.js.map +1 -0
- package/lib/mcp.auth.memory.d.ts +4 -0
- package/lib/mcp.auth.memory.js +11 -0
- package/lib/mcp.auth.memory.js.map +1 -0
- package/lib/mcp.auth.mongodb.d.ts +6 -0
- package/lib/mcp.auth.mongodb.js +11 -0
- package/lib/mcp.auth.mongodb.js.map +1 -0
- package/lib/mcp.auth.node.d.ts +9 -0
- package/lib/mcp.auth.node.js +21 -0
- package/lib/mcp.auth.node.js.map +1 -0
- package/lib/mcp.auth.postgres.d.ts +11 -0
- package/lib/mcp.auth.postgres.js +20 -0
- package/lib/mcp.auth.postgres.js.map +1 -0
- package/lib/mcp.auth.server.d.ts +42 -0
- package/lib/mcp.auth.server.js +35 -0
- package/lib/mcp.auth.server.js.map +1 -0
- package/lib/mcp.auth.sqlite.d.ts +13 -0
- package/lib/mcp.auth.sqlite.js +24 -0
- package/lib/mcp.auth.sqlite.js.map +1 -0
- package/lib/storage/memory.storage.d.ts +30 -0
- package/lib/storage/memory.storage.js +91 -0
- package/lib/storage/memory.storage.js.map +1 -0
- package/lib/storage/mongodb.storage.d.ts +41 -0
- package/lib/storage/mongodb.storage.js +172 -0
- package/lib/storage/mongodb.storage.js.map +1 -0
- package/lib/storage/sql.storage.d.ts +35 -0
- package/lib/storage/sql.storage.js +128 -0
- package/lib/storage/sql.storage.js.map +1 -0
- package/lib/types/access.token.input.type.d.ts +9 -0
- package/lib/types/access.token.input.type.js +3 -0
- package/lib/types/access.token.input.type.js.map +1 -0
- package/lib/types/app.session.upstream.options.type.d.ts +7 -0
- package/lib/types/app.session.upstream.options.type.js +3 -0
- package/lib/types/app.session.upstream.options.type.js.map +1 -0
- package/lib/types/authenticate.result.type.d.ts +10 -0
- package/lib/types/authenticate.result.type.js +3 -0
- package/lib/types/authenticate.result.type.js.map +1 -0
- package/lib/types/authenticated.user.type.d.ts +5 -0
- package/lib/types/authenticated.user.type.js +3 -0
- package/lib/types/authenticated.user.type.js.map +1 -0
- package/lib/types/authorization.code.record.type.d.ts +11 -0
- package/lib/types/authorization.code.record.type.js +3 -0
- package/lib/types/authorization.code.record.type.js.map +1 -0
- package/lib/types/cimd.options.type.d.ts +16 -0
- package/lib/types/cimd.options.type.js +3 -0
- package/lib/types/cimd.options.type.js.map +1 -0
- package/lib/types/client.metadata.type.d.ts +7 -0
- package/lib/types/client.metadata.type.js +3 -0
- package/lib/types/client.metadata.type.js.map +1 -0
- package/lib/types/client.record.type.d.ts +11 -0
- package/lib/types/client.record.type.js +3 -0
- package/lib/types/client.record.type.js.map +1 -0
- package/lib/types/consent.model.type.d.ts +15 -0
- package/lib/types/consent.model.type.js +3 -0
- package/lib/types/consent.model.type.js.map +1 -0
- package/lib/types/consent.record.type.d.ts +5 -0
- package/lib/types/consent.record.type.js +3 -0
- package/lib/types/consent.record.type.js.map +1 -0
- package/lib/types/http.request.type.d.ts +9 -0
- package/lib/types/http.request.type.js +3 -0
- package/lib/types/http.request.type.js.map +1 -0
- package/lib/types/http.response.type.d.ts +6 -0
- package/lib/types/http.response.type.js +3 -0
- package/lib/types/http.response.type.js.map +1 -0
- package/lib/types/i.metadata.cache.d.ts +6 -0
- package/lib/types/i.metadata.cache.js +3 -0
- package/lib/types/i.metadata.cache.js.map +1 -0
- package/lib/types/i.storage.d.ts +25 -0
- package/lib/types/i.storage.js +3 -0
- package/lib/types/i.storage.js.map +1 -0
- package/lib/types/i.upstream.d.ts +11 -0
- package/lib/types/i.upstream.js +3 -0
- package/lib/types/i.upstream.js.map +1 -0
- package/lib/types/key.pair.type.d.ts +5 -0
- package/lib/types/key.pair.type.js +3 -0
- package/lib/types/key.pair.type.js.map +1 -0
- package/lib/types/logger.type.d.ts +6 -0
- package/lib/types/logger.type.js +3 -0
- package/lib/types/logger.type.js.map +1 -0
- package/lib/types/mcp.auth.context.type.d.ts +29 -0
- package/lib/types/mcp.auth.context.type.js +3 -0
- package/lib/types/mcp.auth.context.type.js.map +1 -0
- package/lib/types/mcp.auth.options.type.d.ts +39 -0
- package/lib/types/mcp.auth.options.type.js +3 -0
- package/lib/types/mcp.auth.options.type.js.map +1 -0
- package/lib/types/mcp.auth.type.d.ts +14 -0
- package/lib/types/mcp.auth.type.js +3 -0
- package/lib/types/mcp.auth.type.js.map +1 -0
- package/lib/types/metadata.resolution.type.d.ts +9 -0
- package/lib/types/metadata.resolution.type.js +3 -0
- package/lib/types/metadata.resolution.type.js.map +1 -0
- package/lib/types/mongo.storage.options.type.d.ts +13 -0
- package/lib/types/mongo.storage.options.type.js +3 -0
- package/lib/types/mongo.storage.options.type.js.map +1 -0
- package/lib/types/oidc.upstream.options.type.d.ts +9 -0
- package/lib/types/oidc.upstream.options.type.js +3 -0
- package/lib/types/oidc.upstream.options.type.js.map +1 -0
- package/lib/types/pending.authorization.type.d.ts +14 -0
- package/lib/types/pending.authorization.type.js +3 -0
- package/lib/types/pending.authorization.type.js.map +1 -0
- package/lib/types/pending.filter.type.d.ts +5 -0
- package/lib/types/pending.filter.type.js +3 -0
- package/lib/types/pending.filter.type.js.map +1 -0
- package/lib/types/redirect.policy.type.d.ts +5 -0
- package/lib/types/redirect.policy.type.js +3 -0
- package/lib/types/redirect.policy.type.js.map +1 -0
- package/lib/types/refresh.token.record.type.d.ts +11 -0
- package/lib/types/refresh.token.record.type.js +3 -0
- package/lib/types/refresh.token.record.type.js.map +1 -0
- package/lib/types/resolved.client.type.d.ts +7 -0
- package/lib/types/resolved.client.type.js +3 -0
- package/lib/types/resolved.client.type.js.map +1 -0
- package/lib/types/route.name.type.d.ts +2 -0
- package/lib/types/route.name.type.js +3 -0
- package/lib/types/route.name.type.js.map +1 -0
- package/lib/types/route.type.d.ts +10 -0
- package/lib/types/route.type.js +3 -0
- package/lib/types/route.type.js.map +1 -0
- package/lib/types/sql.dialect.type.d.ts +2 -0
- package/lib/types/sql.dialect.type.js +3 -0
- package/lib/types/sql.dialect.type.js.map +1 -0
- package/lib/types/sql.executor.type.d.ts +4 -0
- package/lib/types/sql.executor.type.js +3 -0
- package/lib/types/sql.executor.type.js.map +1 -0
- package/lib/types/sql.storage.options.type.d.ts +4 -0
- package/lib/types/sql.storage.options.type.js +3 -0
- package/lib/types/sql.storage.options.type.js.map +1 -0
- package/lib/types/upstream.begin.type.d.ts +9 -0
- package/lib/types/upstream.begin.type.js +3 -0
- package/lib/types/upstream.begin.type.js.map +1 -0
- package/lib/types/upstream.context.type.d.ts +10 -0
- package/lib/types/upstream.context.type.js +3 -0
- package/lib/types/upstream.context.type.js.map +1 -0
- package/lib/types/verify.result.type.d.ts +6 -0
- package/lib/types/verify.result.type.js +3 -0
- package/lib/types/verify.result.type.js.map +1 -0
- package/package.json +107 -5
- package/sql/postgres.sql +61 -0
- package/sql/sqlite.sql +61 -0
|
@@ -0,0 +1,14 @@
|
|
|
1
|
+
import type AuthenticateResultType from './authenticate.result.type';
|
|
2
|
+
import type HttpRequestType from './http.request.type';
|
|
3
|
+
import type HttpResponseType from './http.response.type';
|
|
4
|
+
import type RouteType from './route.type';
|
|
5
|
+
type McpAuthType<TUser = unknown> = {
|
|
6
|
+
issuer: string;
|
|
7
|
+
resource: string;
|
|
8
|
+
routes: RouteType[];
|
|
9
|
+
hasRoute: (request: HttpRequestType) => boolean;
|
|
10
|
+
handle: (request: HttpRequestType) => Promise<HttpResponseType>;
|
|
11
|
+
authenticate: (headers: HttpRequestType['headers'], rpcBody?: unknown) => Promise<AuthenticateResultType<TUser>>;
|
|
12
|
+
deleteExpired: () => Promise<void>;
|
|
13
|
+
};
|
|
14
|
+
export default McpAuthType;
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"mcp.auth.type.js","sourceRoot":"","sources":["../../src/types/mcp.auth.type.ts"],"names":[],"mappings":"AAAA,YAAY,CAAC"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"metadata.resolution.type.js","sourceRoot":"","sources":["../../src/types/metadata.resolution.type.ts"],"names":[],"mappings":"AAAA,YAAY,CAAC"}
|
|
@@ -0,0 +1,13 @@
|
|
|
1
|
+
type MongoStorageOptionsType = {
|
|
2
|
+
collections?: {
|
|
3
|
+
clients?: string;
|
|
4
|
+
pendingAuthorizations?: string;
|
|
5
|
+
authorizationCodes?: string;
|
|
6
|
+
refreshTokens?: string;
|
|
7
|
+
consents?: string;
|
|
8
|
+
};
|
|
9
|
+
userIdField?: string;
|
|
10
|
+
userIdToDb?: (userId: string) => unknown;
|
|
11
|
+
userIdFromDb?: (value: unknown) => string;
|
|
12
|
+
};
|
|
13
|
+
export default MongoStorageOptionsType;
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"mongo.storage.options.type.js","sourceRoot":"","sources":["../../src/types/mongo.storage.options.type.ts"],"names":[],"mappings":"AAAA,YAAY,CAAC"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"oidc.upstream.options.type.js","sourceRoot":"","sources":["../../src/types/oidc.upstream.options.type.ts"],"names":[],"mappings":"AAAA,YAAY,CAAC"}
|
|
@@ -0,0 +1,14 @@
|
|
|
1
|
+
type PendingAuthorizationType = {
|
|
2
|
+
stateId: string;
|
|
3
|
+
clientId: string;
|
|
4
|
+
clientName?: string;
|
|
5
|
+
redirectUri: string;
|
|
6
|
+
codeChallenge: string;
|
|
7
|
+
resource: string;
|
|
8
|
+
clientState?: string;
|
|
9
|
+
upstreamCodeVerifier?: string;
|
|
10
|
+
userId?: string;
|
|
11
|
+
userDisplayName?: string;
|
|
12
|
+
expiresAt: Date;
|
|
13
|
+
};
|
|
14
|
+
export default PendingAuthorizationType;
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"pending.authorization.type.js","sourceRoot":"","sources":["../../src/types/pending.authorization.type.ts"],"names":[],"mappings":"AAAA,YAAY,CAAC"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"pending.filter.type.js","sourceRoot":"","sources":["../../src/types/pending.filter.type.ts"],"names":[],"mappings":"AAAA,YAAY,CAAC"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"redirect.policy.type.js","sourceRoot":"","sources":["../../src/types/redirect.policy.type.ts"],"names":[],"mappings":"AAAA,YAAY,CAAC"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"refresh.token.record.type.js","sourceRoot":"","sources":["../../src/types/refresh.token.record.type.ts"],"names":[],"mappings":"AAAA,YAAY,CAAC"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"resolved.client.type.js","sourceRoot":"","sources":["../../src/types/resolved.client.type.ts"],"names":[],"mappings":"AAAA,YAAY,CAAC"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"route.name.type.js","sourceRoot":"","sources":["../../src/types/route.name.type.ts"],"names":[],"mappings":"AAAA,YAAY,CAAC"}
|
|
@@ -0,0 +1,10 @@
|
|
|
1
|
+
import type HttpRequestType from './http.request.type';
|
|
2
|
+
import type HttpResponseType from './http.response.type';
|
|
3
|
+
import type RouteNameType from './route.name.type';
|
|
4
|
+
type RouteType = {
|
|
5
|
+
method: 'GET' | 'POST';
|
|
6
|
+
path: string;
|
|
7
|
+
name: RouteNameType;
|
|
8
|
+
handler: (request: HttpRequestType) => Promise<HttpResponseType>;
|
|
9
|
+
};
|
|
10
|
+
export default RouteType;
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"route.type.js","sourceRoot":"","sources":["../../src/types/route.type.ts"],"names":[],"mappings":"AAAA,YAAY,CAAC"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"sql.dialect.type.js","sourceRoot":"","sources":["../../src/types/sql.dialect.type.ts"],"names":[],"mappings":"AAAA,YAAY,CAAC"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"sql.executor.type.js","sourceRoot":"","sources":["../../src/types/sql.executor.type.ts"],"names":[],"mappings":"AAAA,YAAY,CAAC"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"sql.storage.options.type.js","sourceRoot":"","sources":["../../src/types/sql.storage.options.type.ts"],"names":[],"mappings":"AAAA,YAAY,CAAC"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"upstream.begin.type.js","sourceRoot":"","sources":["../../src/types/upstream.begin.type.ts"],"names":[],"mappings":"AAAA,YAAY,CAAC"}
|
|
@@ -0,0 +1,10 @@
|
|
|
1
|
+
import type HttpRequestType from './http.request.type';
|
|
2
|
+
import type PendingAuthorizationType from './pending.authorization.type';
|
|
3
|
+
type UpstreamContextType = {
|
|
4
|
+
request: HttpRequestType;
|
|
5
|
+
pending: PendingAuthorizationType;
|
|
6
|
+
issuer: string;
|
|
7
|
+
callbackUrl: string;
|
|
8
|
+
resumeUrl: string;
|
|
9
|
+
};
|
|
10
|
+
export default UpstreamContextType;
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"upstream.context.type.js","sourceRoot":"","sources":["../../src/types/upstream.context.type.ts"],"names":[],"mappings":"AAAA,YAAY,CAAC"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"verify.result.type.js","sourceRoot":"","sources":["../../src/types/verify.result.type.ts"],"names":[],"mappings":"AAAA,YAAY,CAAC"}
|
package/package.json
CHANGED
|
@@ -1,6 +1,108 @@
|
|
|
1
1
|
{
|
|
2
|
-
|
|
3
|
-
|
|
4
|
-
|
|
5
|
-
|
|
6
|
-
|
|
2
|
+
"name": "mcp-auth-server",
|
|
3
|
+
"version": "0.1.1",
|
|
4
|
+
"description": "OAuth 2.1 authorization server for MCP servers, runtime-agnostic",
|
|
5
|
+
"license": "MIT",
|
|
6
|
+
"files": [
|
|
7
|
+
"lib/**/*",
|
|
8
|
+
"sql/**/*"
|
|
9
|
+
],
|
|
10
|
+
"bin": {
|
|
11
|
+
"mcp-auth-keygen": "./bin/keygen.mjs"
|
|
12
|
+
},
|
|
13
|
+
"main": "./lib/mcp.auth.server.js",
|
|
14
|
+
"types": "./lib/mcp.auth.server.d.ts",
|
|
15
|
+
"scripts": {
|
|
16
|
+
"all": "pnpm i && pnpm dedupe && (pnpm audit --fix=update || echo audit: unresolved vulnerabilities remain) && pnpm clean && pnpm format && pnpm build && skeletest -f && strictr -f && pnpm test && pnpm integration && pnpm run docs mcp-auth-server",
|
|
17
|
+
"clear:lib": "node -e \"require('node:fs').rmSync('lib',{recursive:true,force:true})\"",
|
|
18
|
+
"build": "pnpm clear:lib && tsc",
|
|
19
|
+
"build:watch": "tsc --watch",
|
|
20
|
+
"lint": "eslint .",
|
|
21
|
+
"clean": "eslint --fix .",
|
|
22
|
+
"format": "prettier --write \"src/**/*.ts\" \"test/**/*.ts\"",
|
|
23
|
+
"docs": "typedoc --readme none --out docs ./src/mcp.auth.server.ts",
|
|
24
|
+
"sync": "git pull && git fetch origin && git merge origin/main && pnpm i && git branch",
|
|
25
|
+
"test": "node --experimental-vm-modules ./node_modules/jest/bin/jest.js --coverage --config jest.config.js",
|
|
26
|
+
"integration": "ts-node test/integration/storage.integration.ts",
|
|
27
|
+
"quick": "node --experimental-vm-modules ./node_modules/jest/bin/jest.js --config jest.config.js",
|
|
28
|
+
"test:watch": "node --experimental-vm-modules ./node_modules/jest/bin/jest.js --watch --config jest.config.js",
|
|
29
|
+
"coveralls": "coveralls < coverage/lcov.info",
|
|
30
|
+
"test_qube": "node --experimental-vm-modules ./node_modules/jest/bin/jest.js --coverage --config jest.config.js --testResultsProcessor=jest-sonar-reporter",
|
|
31
|
+
"up": "pnpm up -i",
|
|
32
|
+
"latest": "pnpm up -i -L",
|
|
33
|
+
"l": "pnpm i && pnpm latest",
|
|
34
|
+
"srctree": "node -e \"const fs=require('node:fs'),path=require('node:path');fs.readdirSync('src',{recursive:true}).forEach(f=>console.log(path.resolve('src',f)))\" > srctree.txt",
|
|
35
|
+
"keygen": "node bin/keygen.mjs",
|
|
36
|
+
"preinstall": "npx only-allow pnpm"
|
|
37
|
+
},
|
|
38
|
+
"engines": {
|
|
39
|
+
"node": ">=24.12.0"
|
|
40
|
+
},
|
|
41
|
+
"packageManager": "pnpm@12.15.0",
|
|
42
|
+
"author": "Predrag Stojadinovic <predrag@stojadinovic.net>",
|
|
43
|
+
"repository": {
|
|
44
|
+
"type": "git",
|
|
45
|
+
"url": "git+https://github.com/cope/mcp-auth-server.git"
|
|
46
|
+
},
|
|
47
|
+
"publishConfig": {
|
|
48
|
+
"access": "public"
|
|
49
|
+
},
|
|
50
|
+
"minimumReleaseAge": 2880,
|
|
51
|
+
"dependencies": {
|
|
52
|
+
"jose": "^5.10.0"
|
|
53
|
+
},
|
|
54
|
+
"devDependencies": {
|
|
55
|
+
"@electric-sql/pglite": "^0.5.12",
|
|
56
|
+
"@eslint/js": "^10.0.1",
|
|
57
|
+
"@types/better-sqlite3": "^9.6.0",
|
|
58
|
+
"@types/express": "^5.0.6",
|
|
59
|
+
"@types/jest": "^30.0.0",
|
|
60
|
+
"@types/koa": "^3.0.3",
|
|
61
|
+
"@types/node": "^26.6.5",
|
|
62
|
+
"@types/pg": "^8.23.1",
|
|
63
|
+
"@types/rewire": "^2.5.30",
|
|
64
|
+
"better-sqlite3": "^13.0.3",
|
|
65
|
+
"coveralls": "^3.1.1",
|
|
66
|
+
"eslint": "^10.13.0",
|
|
67
|
+
"eslint-config-prettier": "^10.1.8",
|
|
68
|
+
"eslint-plugin-sonarjs": "^4.2.2",
|
|
69
|
+
"express": "^5.3.0",
|
|
70
|
+
"fastify": "^5.12.7",
|
|
71
|
+
"jest": "^30.5.2",
|
|
72
|
+
"jest-sonar-reporter": "^2.0.0",
|
|
73
|
+
"koa": "^3.2.1",
|
|
74
|
+
"mongodb": "^7.7.0",
|
|
75
|
+
"mongodb-memory-server": "^11.3.0",
|
|
76
|
+
"pg": "^8.23.1",
|
|
77
|
+
"prettier": "^3.9.10",
|
|
78
|
+
"rewire": "^9.0.1",
|
|
79
|
+
"skeletest": "^0.7.5",
|
|
80
|
+
"source-map-support": "^0.5.21",
|
|
81
|
+
"strictr": "^0.5.7",
|
|
82
|
+
"ts-jest": "^29.4.15",
|
|
83
|
+
"ts-node": "^10.9.2",
|
|
84
|
+
"typedoc": "^0.28.20",
|
|
85
|
+
"typescript": "^6.0.3",
|
|
86
|
+
"typescript-eslint": "^8.72.1"
|
|
87
|
+
},
|
|
88
|
+
"peerDependencies": {
|
|
89
|
+
"express": ">=4",
|
|
90
|
+
"fastify": ">=4",
|
|
91
|
+
"koa": ">=2",
|
|
92
|
+
"mongodb": ">=6"
|
|
93
|
+
},
|
|
94
|
+
"peerDependenciesMeta": {
|
|
95
|
+
"express": {
|
|
96
|
+
"optional": true
|
|
97
|
+
},
|
|
98
|
+
"fastify": {
|
|
99
|
+
"optional": true
|
|
100
|
+
},
|
|
101
|
+
"koa": {
|
|
102
|
+
"optional": true
|
|
103
|
+
},
|
|
104
|
+
"mongodb": {
|
|
105
|
+
"optional": true
|
|
106
|
+
}
|
|
107
|
+
}
|
|
108
|
+
}
|
package/sql/postgres.sql
ADDED
|
@@ -0,0 +1,61 @@
|
|
|
1
|
+
CREATE TABLE IF NOT EXISTS mcp_oauth_clients (
|
|
2
|
+
client_id TEXT PRIMARY KEY,
|
|
3
|
+
client_name TEXT,
|
|
4
|
+
redirect_uris TEXT NOT NULL,
|
|
5
|
+
application_type TEXT,
|
|
6
|
+
token_endpoint_auth_method TEXT NOT NULL,
|
|
7
|
+
grant_types TEXT NOT NULL,
|
|
8
|
+
response_types TEXT NOT NULL,
|
|
9
|
+
created_at BIGINT NOT NULL
|
|
10
|
+
);
|
|
11
|
+
|
|
12
|
+
CREATE TABLE IF NOT EXISTS mcp_oauth_pending_authorizations (
|
|
13
|
+
state_id TEXT PRIMARY KEY,
|
|
14
|
+
client_id TEXT NOT NULL,
|
|
15
|
+
client_name TEXT,
|
|
16
|
+
redirect_uri TEXT NOT NULL,
|
|
17
|
+
code_challenge TEXT NOT NULL,
|
|
18
|
+
resource TEXT NOT NULL,
|
|
19
|
+
client_state TEXT,
|
|
20
|
+
upstream_code_verifier TEXT,
|
|
21
|
+
user_id TEXT,
|
|
22
|
+
user_display_name TEXT,
|
|
23
|
+
expires_at BIGINT NOT NULL
|
|
24
|
+
);
|
|
25
|
+
|
|
26
|
+
CREATE INDEX IF NOT EXISTS mcp_oauth_pending_expires_idx ON mcp_oauth_pending_authorizations (expires_at);
|
|
27
|
+
|
|
28
|
+
CREATE TABLE IF NOT EXISTS mcp_oauth_authorization_codes (
|
|
29
|
+
code_hash TEXT PRIMARY KEY,
|
|
30
|
+
client_id TEXT NOT NULL,
|
|
31
|
+
redirect_uri TEXT NOT NULL,
|
|
32
|
+
code_challenge TEXT NOT NULL,
|
|
33
|
+
resource TEXT NOT NULL,
|
|
34
|
+
user_id TEXT NOT NULL,
|
|
35
|
+
used_at BIGINT,
|
|
36
|
+
expires_at BIGINT NOT NULL
|
|
37
|
+
);
|
|
38
|
+
|
|
39
|
+
CREATE INDEX IF NOT EXISTS mcp_oauth_codes_expires_idx ON mcp_oauth_authorization_codes (expires_at);
|
|
40
|
+
|
|
41
|
+
CREATE TABLE IF NOT EXISTS mcp_oauth_refresh_tokens (
|
|
42
|
+
token_hash TEXT PRIMARY KEY,
|
|
43
|
+
family_id TEXT NOT NULL,
|
|
44
|
+
client_id TEXT NOT NULL,
|
|
45
|
+
user_id TEXT NOT NULL,
|
|
46
|
+
resource TEXT NOT NULL,
|
|
47
|
+
used_at BIGINT,
|
|
48
|
+
revoked_at BIGINT,
|
|
49
|
+
expires_at BIGINT NOT NULL
|
|
50
|
+
);
|
|
51
|
+
|
|
52
|
+
CREATE INDEX IF NOT EXISTS mcp_oauth_refresh_family_idx ON mcp_oauth_refresh_tokens (family_id);
|
|
53
|
+
|
|
54
|
+
CREATE INDEX IF NOT EXISTS mcp_oauth_refresh_expires_idx ON mcp_oauth_refresh_tokens (expires_at);
|
|
55
|
+
|
|
56
|
+
CREATE TABLE IF NOT EXISTS mcp_oauth_consents (
|
|
57
|
+
client_id TEXT NOT NULL,
|
|
58
|
+
user_id TEXT NOT NULL,
|
|
59
|
+
created_at BIGINT NOT NULL,
|
|
60
|
+
PRIMARY KEY (client_id, user_id)
|
|
61
|
+
);
|
package/sql/sqlite.sql
ADDED
|
@@ -0,0 +1,61 @@
|
|
|
1
|
+
CREATE TABLE IF NOT EXISTS mcp_oauth_clients (
|
|
2
|
+
client_id TEXT PRIMARY KEY,
|
|
3
|
+
client_name TEXT,
|
|
4
|
+
redirect_uris TEXT NOT NULL,
|
|
5
|
+
application_type TEXT,
|
|
6
|
+
token_endpoint_auth_method TEXT NOT NULL,
|
|
7
|
+
grant_types TEXT NOT NULL,
|
|
8
|
+
response_types TEXT NOT NULL,
|
|
9
|
+
created_at INTEGER NOT NULL
|
|
10
|
+
);
|
|
11
|
+
|
|
12
|
+
CREATE TABLE IF NOT EXISTS mcp_oauth_pending_authorizations (
|
|
13
|
+
state_id TEXT PRIMARY KEY,
|
|
14
|
+
client_id TEXT NOT NULL,
|
|
15
|
+
client_name TEXT,
|
|
16
|
+
redirect_uri TEXT NOT NULL,
|
|
17
|
+
code_challenge TEXT NOT NULL,
|
|
18
|
+
resource TEXT NOT NULL,
|
|
19
|
+
client_state TEXT,
|
|
20
|
+
upstream_code_verifier TEXT,
|
|
21
|
+
user_id TEXT,
|
|
22
|
+
user_display_name TEXT,
|
|
23
|
+
expires_at INTEGER NOT NULL
|
|
24
|
+
);
|
|
25
|
+
|
|
26
|
+
CREATE INDEX IF NOT EXISTS mcp_oauth_pending_expires_idx ON mcp_oauth_pending_authorizations (expires_at);
|
|
27
|
+
|
|
28
|
+
CREATE TABLE IF NOT EXISTS mcp_oauth_authorization_codes (
|
|
29
|
+
code_hash TEXT PRIMARY KEY,
|
|
30
|
+
client_id TEXT NOT NULL,
|
|
31
|
+
redirect_uri TEXT NOT NULL,
|
|
32
|
+
code_challenge TEXT NOT NULL,
|
|
33
|
+
resource TEXT NOT NULL,
|
|
34
|
+
user_id TEXT NOT NULL,
|
|
35
|
+
used_at INTEGER,
|
|
36
|
+
expires_at INTEGER NOT NULL
|
|
37
|
+
);
|
|
38
|
+
|
|
39
|
+
CREATE INDEX IF NOT EXISTS mcp_oauth_codes_expires_idx ON mcp_oauth_authorization_codes (expires_at);
|
|
40
|
+
|
|
41
|
+
CREATE TABLE IF NOT EXISTS mcp_oauth_refresh_tokens (
|
|
42
|
+
token_hash TEXT PRIMARY KEY,
|
|
43
|
+
family_id TEXT NOT NULL,
|
|
44
|
+
client_id TEXT NOT NULL,
|
|
45
|
+
user_id TEXT NOT NULL,
|
|
46
|
+
resource TEXT NOT NULL,
|
|
47
|
+
used_at INTEGER,
|
|
48
|
+
revoked_at INTEGER,
|
|
49
|
+
expires_at INTEGER NOT NULL
|
|
50
|
+
);
|
|
51
|
+
|
|
52
|
+
CREATE INDEX IF NOT EXISTS mcp_oauth_refresh_family_idx ON mcp_oauth_refresh_tokens (family_id);
|
|
53
|
+
|
|
54
|
+
CREATE INDEX IF NOT EXISTS mcp_oauth_refresh_expires_idx ON mcp_oauth_refresh_tokens (expires_at);
|
|
55
|
+
|
|
56
|
+
CREATE TABLE IF NOT EXISTS mcp_oauth_consents (
|
|
57
|
+
client_id TEXT NOT NULL,
|
|
58
|
+
user_id TEXT NOT NULL,
|
|
59
|
+
created_at INTEGER NOT NULL,
|
|
60
|
+
PRIMARY KEY (client_id, user_id)
|
|
61
|
+
);
|