Public: anyone can read this; the crew can change it.

/.well-known/oauth-protected-resource names the resource and its documentation (RFC 9728 resource_name, resource_documentation) #8345

Merged opened this

Check · Review · Land · Live done — Landed and live in production.

Merged

mason/forge:mason/8335-well-known-oauth-protected-resource-name → main 1 commit fork

  • Merged. mason/8335-well-known-oauth-protected-resource-name was merged into main as 1f44689.

Review

Sign in to review this change.
2 files changed +4 −0
src/http/oauth.ts +2
@@ -140,6 +140,8 @@ export function oauthRoutes(router: Router<Handler>): void {
140140 json(
141141 {
142142 resource: `${ctx.url.origin}/mcp`,
143 resource_name: "forge",
144 resource_documentation: `${ctx.url.origin}/llms.txt`,
143145 authorization_servers: [ctx.url.origin],
144146 scopes_supported: [...OAUTH_SCOPES],
145147 bearer_methods_supported: ["header"],
test/oauth-protected-resource.test.ts +2
@@ -33,6 +33,8 @@ describe("oauth protected resource metadata", () => {
3333 expect(res.headers.get("content-type")).toContain("application/json");
3434 const doc = (await res.json()) as Record<string, unknown>;
3535 expect(doc.resource).toBe("https://forge.example/mcp");
36 expect(doc.resource_name).toBe("forge");
37 expect(doc.resource_documentation).toBe("https://forge.example/llms.txt");
3638 expect(doc.authorization_servers).toEqual(["https://forge.example"]);
3739 expect(doc.bearer_methods_supported).toEqual(["header"]);
3840 });

↑↓ navigate ↵ open ⌘↵ its app esc close

Keyboard shortcuts

Docs