Skip to content

feat: add Client ID Metadata Document (CIMD) support#112

Merged
mattzcarey merged 8 commits intomainfrom
feat-cimd
Dec 17, 2025
Merged

feat: add Client ID Metadata Document (CIMD) support#112
mattzcarey merged 8 commits intomainfrom
feat-cimd

Conversation

@mattzcarey
Copy link
Contributor

CIMD support allows clients to use HTTPS URLs as client_id values that point to metadata documents.

When a client_id is an HTTPS URL with a non-root path, the provider fetches and validates the metadata document instead of looking up in KV storage. Added validation to ensure client_id in the document matches the URL and redirect_uris are present.

matches the new authorization spec for MCP

https://modelcontextprotocol.io/specification/draft/basic/authorization

@changeset-bot
Copy link

changeset-bot bot commented Dec 3, 2025

⚠️ No Changeset found

Latest commit: ab69b97

Merging this PR will not cause a version bump for any packages. If these changes should not result in a new version, you're good to go. If these changes should result in a version bump, you need to add a changeset.

This PR includes no changesets

When changesets are added to this PR, you'll see the packages that this PR includes changesets for and the associated semver types

Click here to learn what changesets are, and how to add one.

Click here if you're a maintainer who wants to add a changeset to this PR

@pkg-pr-new
Copy link

pkg-pr-new bot commented Dec 3, 2025

Open in StackBlitz

npm i https://pkg.pr.new/cloudflare/workers-oauth-provider/@cloudflare/workers-oauth-provider@112

commit: ab69b97

@mattzcarey mattzcarey closed this Dec 3, 2025
@mattzcarey mattzcarey reopened this Dec 3, 2025
Copy link

@pcarleton pcarleton left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

overall looks good, minor comment about error message, and a question about internal network protection

@kentonv
Copy link
Member

kentonv commented Dec 17, 2025

Sorry it took me a while.

@mattzcarey mattzcarey merged commit d75f930 into main Dec 17, 2025
4 checks passed
@mattzcarey mattzcarey deleted the feat-cimd branch December 17, 2025 13:33
threepointone added a commit that referenced this pull request Dec 20, 2025
(by @mattzcarey in #112)

CIMD support allows clients to use HTTPS URLs as client_id values that
point to metadata documents.

When a client_id is an HTTPS URL with a non-root path, the provider
fetches and validates the metadata document instead of looking up in KV
storage. Added validation to ensure client_id in the document matches
the URL and redirect_uris are present.

matches the new authorization spec for MCP

https://modelcontextprotocol.io/specification/draft/basic/authorization
threepointone added a commit that referenced this pull request Dec 20, 2025
(by @mattzcarey in
#112)

CIMD support allows clients to use HTTPS URLs as client_id values that
point to metadata documents.

When a client_id is an HTTPS URL with a non-root path, the provider
fetches and validates the metadata document instead of looking up in KV
storage. Added validation to ensure client_id in the document matches
the URL and redirect_uris are present.

matches the new authorization spec for MCP

https://modelcontextprotocol.io/specification/draft/basic/authorization
@threepointone threepointone mentioned this pull request Dec 20, 2025
threepointone added a commit that referenced this pull request Dec 20, 2025
This PR was opened by the [Changesets
release](https://github.com/changesets/action) GitHub action. When
you're ready to do a release, you can merge this and the packages will
be published to npm automatically. If you're not ready to do a release
yet, that's fine, whenever you add more changesets to main, this PR will
be updated.


# Releases
## @cloudflare/workers-oauth-provider@0.2.0

### Minor Changes

- [#122](#122)
[`7187f9e`](7187f9e)
Thanks [@threepointone](https://github.com/threepointone)! - feat: add
Client ID Metadata Document (CIMD) support

(by @mattzcarey in
<#112>)

CIMD support allows clients to use HTTPS URLs as client_id values that
    point to metadata documents.

    When a client_id is an HTTPS URL with a non-root path, the provider
fetches and validates the metadata document instead of looking up in KV
storage. Added validation to ensure client_id in the document matches
    the URL and redirect_uris are present.

    matches the new authorization spec for MCP


<https://modelcontextprotocol.io/specification/draft/basic/authorization>

Co-authored-by: github-actions[bot] <41898282+github-actions[bot]@users.noreply.github.com>
@github-actions github-actions bot mentioned this pull request Dec 20, 2025
threepointone pushed a commit that referenced this pull request Dec 20, 2025
This PR was opened by the [Changesets
release](https://github.com/changesets/action) GitHub action. When
you're ready to do a release, you can merge this and the packages will
be published to npm automatically. If you're not ready to do a release
yet, that's fine, whenever you add more changesets to main, this PR will
be updated.


# Releases
## @cloudflare/workers-oauth-provider@0.2.1

### Patch Changes

- [#127](#127)
[`11fd839`](11fd839)
Thanks [@threepointone](https://github.com/threepointone)! - feat: add
Client ID Metadata Document (CIMD) support

(by @mattzcarey in
<#112>)

CIMD support allows clients to use HTTPS URLs as client_id values that
    point to metadata documents.

    When a client_id is an HTTPS URL with a non-root path, the provider
fetches and validates the metadata document instead of looking up in KV
storage. Added validation to ensure client_id in the document matches
    the URL and redirect_uris are present.

    matches the new authorization spec for MCP


<https://modelcontextprotocol.io/specification/draft/basic/authorization>

Co-authored-by: github-actions[bot] <41898282+github-actions[bot]@users.noreply.github.com>
@github-actions github-actions bot mentioned this pull request Dec 20, 2025
threepointone pushed a commit that referenced this pull request Dec 20, 2025
This PR was opened by the [Changesets
release](https://github.com/changesets/action) GitHub action. When
you're ready to do a release, you can merge this and the packages will
be published to npm automatically. If you're not ready to do a release
yet, that's fine, whenever you add more changesets to main, this PR will
be updated.


# Releases
## @cloudflare/workers-oauth-provider@0.2.2

### Patch Changes

- [#129](#129)
[`1e14e05`](1e14e05)
Thanks [@threepointone](https://github.com/threepointone)! - feat: add
Client ID Metadata Document (CIMD) support

(by @mattzcarey in
<#112>)

CIMD support allows clients to use HTTPS URLs as client_id values that
    point to metadata documents.

    When a client_id is an HTTPS URL with a non-root path, the provider
fetches and validates the metadata document instead of looking up in KV
storage. Added validation to ensure client_id in the document matches
    the URL and redirect_uris are present.

    matches the new authorization spec for MCP


<https://modelcontextprotocol.io/specification/draft/basic/authorization>

Co-authored-by: github-actions[bot] <41898282+github-actions[bot]@users.noreply.github.com>
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

3 participants