SocketDev / SocketDev/socket-mcp

Require the aud claim once the authorization server emits it

Open
#201 0 comments 0 reactions 0 assignees View on GitHub

Nobody has claimed this yet.

Dominant language
TypeScript
Stars
137
Forks
46
Avg merge
37m
Merged PRs (30d)
1

Description

The MCP 2026-07-28 spec makes audience validation a MUST for resource servers. verifyAccessToken rejects a token whose aud names another resource, but accepts one carrying no aud at all, because Socket's introspection endpoint returns only active, client_id, scope, and exp. Defaulting to strict today would reject every live OAuth request.

SOCKET_OAUTH_REQUIRE_AUDIENCE opts a deployment into requiring the claim. Once the authorization server reports aud at introspection, flip that default to on and drop the accept-when-absent branch in lib/oauth.ts.

Blocked on the authorization-server change landing and deploying.

Contributor guide

Open the contributing guide

First steps

  1. Read the whole issue, then the project's contributing guide.
  2. Comment on the issue to say you are picking it up — it saves two people doing the same work.
  3. Fork the repository and make your change on a branch.
  4. Open a pull request that references the issue number.

Research direction

Start in lib/oauth.ts at verifyAccessToken and trace the SOCKET_OAUTH_REQUIRE_AUDIENCE handling, including the accept-when-absent path. This remains blocked until the authorization server reports aud at introspection; done means the default requires the claim and tokens without it are rejected.

Written by the indexing model from the issue text.

Assessment

Tech stack
typescript
Domain
authentication, security
Issue type
Feature
Difficulty
2/5
Estimated time
1-3 hours
Activity status
Quiet
Clarity
Mostly clear
Newbie friendliness
52/100

Get new issues in your inbox

A short digest of beginner-friendly GitHub issues.