Movatterモバイル変換


[0]ホーム

URL:


Skip to content

Navigation Menu

Sign in
Appearance settings

Search code, repositories, users, issues, pull requests...

Provide feedback

We read every piece of feedback, and take your input very seriously.

Saved searches

Use saved searches to filter your results more quickly

Sign up
Appearance settings

feat: add OAuth2 protected resource metadata endpoint for RFC 9728#18643

New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to ourterms of service andprivacy statement. We’ll occasionally send you account related emails.

Already on GitHub?Sign in to your account

Conversation

ThomasK33
Copy link
Member

Add OAuth2 Protected Resource Metadata Endpoint

This PR implements the OAuth2 Protected Resource Metadata endpoint according to RFC 9728. The endpoint is available at/.well-known/oauth-protected-resource and provides information about Coder as an OAuth2 protected resource.

Key changes:

  • Added a new endpoint at/.well-known/oauth-protected-resource that returns metadata about Coder as an OAuth2 protected resource
  • Created a newOAuth2ProtectedResourceMetadata struct in the SDK
  • Added tests to verify the endpoint functionality
  • Updated API documentation to include the new endpoint

The implementation currently returns basic metadata including the resource identifier and authorization server URL. Thescopes_supported field is empty until a scope system based on RBAC permissions is implemented. Thebearer_methods_supported field is omitted as Coder uses custom authentication methods rather than standard RFC 6750 bearer tokens.

A TODO has been added to implement RFC 6750 bearer token support in the future.

@ThomasK33Graphite App
Copy link
MemberAuthor

ThomasK33 commentedJun 27, 2025
edited
Loading

This stack of pull requests is managed byGraphite. Learn more aboutstacking.

@ThomasK33ThomasK33force-pushed thethomask33/06-27-feat_oauth2_implement_rfc_9728_protected_resource_metadata_endpoint branch 2 times, most recently from5be6c6a tofded148CompareJune 27, 2025 17:29
@ThomasK33ThomasK33force-pushed thethomask33/feat_add_Go_LSP_configuration_and_code_navigation_documentation branch from1e2bc51 to3de973bCompareJune 27, 2025 17:29
@ThomasK33ThomasK33 marked this pull request as ready for reviewJune 29, 2025 11:14
@ThomasK33ThomasK33force-pushed thethomask33/feat_add_Go_LSP_configuration_and_code_navigation_documentation branch from3de973b to9f159b0CompareJune 30, 2025 11:06
@ThomasK33ThomasK33force-pushed thethomask33/06-27-feat_oauth2_implement_rfc_9728_protected_resource_metadata_endpoint branch 2 times, most recently from9b7f5d9 to7ef25b1CompareJune 30, 2025 11:49
@ThomasK33ThomasK33force-pushed thethomask33/feat_add_Go_LSP_configuration_and_code_navigation_documentation branch 2 times, most recently from47d9a0a tobffc160CompareJune 30, 2025 12:02
@ThomasK33ThomasK33force-pushed thethomask33/06-27-feat_oauth2_implement_rfc_9728_protected_resource_metadata_endpoint branch from7ef25b1 tof0608bcCompareJune 30, 2025 12:02
@ThomasK33ThomasK33force-pushed thethomask33/feat_add_Go_LSP_configuration_and_code_navigation_documentation branch frombffc160 toe733c7bCompareJune 30, 2025 12:31
@ThomasK33ThomasK33force-pushed thethomask33/06-27-feat_oauth2_implement_rfc_9728_protected_resource_metadata_endpoint branch 2 times, most recently fromc68a923 tof55771aCompareJune 30, 2025 12:46
@ThomasK33ThomasK33force-pushed thethomask33/feat_add_Go_LSP_configuration_and_code_navigation_documentation branch frome733c7b to70e8be9CompareJune 30, 2025 12:46
@ThomasK33ThomasK33force-pushed thethomask33/06-27-feat_oauth2_implement_rfc_9728_protected_resource_metadata_endpoint branch fromf55771a to34af681CompareJune 30, 2025 12:53
@ThomasK33ThomasK33force-pushed thethomask33/feat_add_Go_LSP_configuration_and_code_navigation_documentation branch from70e8be9 to476c079CompareJune 30, 2025 12:53
@ThomasK33ThomasK33force-pushed thethomask33/06-27-feat_oauth2_implement_rfc_9728_protected_resource_metadata_endpoint branch from34af681 toe72476eCompareJune 30, 2025 16:42
@ThomasK33ThomasK33force-pushed thethomask33/feat_add_Go_LSP_configuration_and_code_navigation_documentation branch from476c079 tod2eb876CompareJune 30, 2025 16:42
@ThomasK33ThomasK33force-pushed thethomask33/06-27-feat_oauth2_implement_rfc_9728_protected_resource_metadata_endpoint branch from1858134 toa239eaaCompareJuly 1, 2025 16:50
@ThomasK33ThomasK33force-pushed thethomask33/feat_add_Go_LSP_configuration_and_code_navigation_documentation branch from2621adf to661c0e6CompareJuly 1, 2025 16:50
@ThomasK33ThomasK33force-pushed thethomask33/06-27-feat_oauth2_implement_rfc_9728_protected_resource_metadata_endpoint branch froma239eaa to4ca3595CompareJuly 1, 2025 16:56
@ThomasK33ThomasK33force-pushed thethomask33/feat_add_Go_LSP_configuration_and_code_navigation_documentation branch from661c0e6 to5be06e7CompareJuly 1, 2025 17:18
@ThomasK33ThomasK33force-pushed thethomask33/06-27-feat_oauth2_implement_rfc_9728_protected_resource_metadata_endpoint branch from4ca3595 to23374cdCompareJuly 1, 2025 17:18
@ThomasK33ThomasK33force-pushed thethomask33/feat_add_Go_LSP_configuration_and_code_navigation_documentation branch from5be06e7 to3275584CompareJuly 1, 2025 19:54
@ThomasK33ThomasK33force-pushed thethomask33/06-27-feat_oauth2_implement_rfc_9728_protected_resource_metadata_endpoint branch 2 times, most recently from43fcceb todb5e215CompareJuly 1, 2025 20:14
@ThomasK33ThomasK33force-pushed thethomask33/feat_add_Go_LSP_configuration_and_code_navigation_documentation branch from3275584 to9bd7ff5CompareJuly 1, 2025 20:14
@ThomasK33ThomasK33force-pushed thethomask33/06-27-feat_oauth2_implement_rfc_9728_protected_resource_metadata_endpoint branch fromdb5e215 to953036fCompareJuly 2, 2025 12:08
@ThomasK33ThomasK33force-pushed thethomask33/feat_add_Go_LSP_configuration_and_code_navigation_documentation branch from9bd7ff5 to1d7dbb1CompareJuly 2, 2025 12:08
@ThomasK33ThomasK33force-pushed thethomask33/feat_add_Go_LSP_configuration_and_code_navigation_documentation branch from1d7dbb1 to7cab8d5CompareJuly 2, 2025 12:25
@ThomasK33ThomasK33force-pushed thethomask33/06-27-feat_oauth2_implement_rfc_9728_protected_resource_metadata_endpoint branch from953036f to22c2dc6CompareJuly 2, 2025 12:25
@ThomasK33ThomasK33force-pushed thethomask33/feat_add_Go_LSP_configuration_and_code_navigation_documentation branch 2 times, most recently froma1cb748 to1809030CompareJuly 2, 2025 15:49
@ThomasK33ThomasK33force-pushed thethomask33/06-27-feat_oauth2_implement_rfc_9728_protected_resource_metadata_endpoint branch from22c2dc6 to14e6e22CompareJuly 2, 2025 15:50
@ThomasK33ThomasK33force-pushed thethomask33/feat_add_Go_LSP_configuration_and_code_navigation_documentation branch from1809030 to910d2c8CompareJuly 2, 2025 16:35
@ThomasK33ThomasK33force-pushed thethomask33/06-27-feat_oauth2_implement_rfc_9728_protected_resource_metadata_endpoint branch from14e6e22 to5791cb0CompareJuly 2, 2025 16:35
@ThomasK33ThomasK33 changed the base branch fromthomask33/feat_add_Go_LSP_configuration_and_code_navigation_documentation tographite-base/18643July 2, 2025 16:43
@ThomasK33ThomasK33force-pushed thethomask33/06-27-feat_oauth2_implement_rfc_9728_protected_resource_metadata_endpoint branch from5791cb0 to7e0ce8aCompareJuly 2, 2025 16:43
@graphite-appgraphite-appbot changed the base branch fromgraphite-base/18643 tomainJuly 2, 2025 16:44
- Add OAuth2ProtectedResourceMetadata struct in codersdk/oauth2.go- Implement /.well-known/oauth-protected-resource endpoint handler- Register route in coderd.go for Protected Resource Metadata discovery- Add comprehensive test coverage in oauth2_metadata_test.go- Update OpenAPI documentation and generated API types- Correctly omit bearer_methods_supported field (Coder uses custom auth)- Support MCP OAuth2 compliance requirement for resource server metadataThis implements RFC 9728 OAuth 2.0 Protected Resource Metadata to enableMCP clients to discover resource server capabilities and authorization servers.Change-Id: I089232ae755acf13eb0a7be46944c9eeaaafb75bSigned-off-by: Thomas Kosiewski <tk@coder.com>
@ThomasK33ThomasK33force-pushed thethomask33/06-27-feat_oauth2_implement_rfc_9728_protected_resource_metadata_endpoint branch from7e0ce8a to59b7a9dCompareJuly 2, 2025 16:44
@ThomasK33ThomasK33 merged commit33bbf18 intomainJul 2, 2025
35 checks passed
@ThomasK33Graphite App
Copy link
MemberAuthor

Merge activity

@ThomasK33ThomasK33 deleted the thomask33/06-27-feat_oauth2_implement_rfc_9728_protected_resource_metadata_endpoint branchJuly 2, 2025 16:58
@github-actionsgithub-actionsbot locked and limited conversation to collaboratorsJul 2, 2025
Sign up for freeto subscribe to this conversation on GitHub. Already have an account?Sign in.
Reviewers

@johnstcnjohnstcnjohnstcn approved these changes

@EmyrkEmyrkEmyrk approved these changes

Assignees

@ThomasK33ThomasK33

Labels
None yet
Projects
None yet
Milestone
No milestone
Development

Successfully merging this pull request may close these issues.

3 participants
@ThomasK33@johnstcn@Emyrk

[8]ページ先頭

©2009-2025 Movatter.jp