Skip to content

Commit a857cfc

Browse files
committed
Address review: iss in introspection, tighten field comments
- Example introspection response now includes iss so resource servers can key identity on (iss, sub). - subject comment notes uniqueness is per-issuer; drop "verified" from the claims comment since the SDK only stores what the verifier returns. - Keep subject=username in the example: the nearby user_id is regenerated per login and would not be a stable subject.
1 parent 4185d1c commit a857cfc

2 files changed

Lines changed: 3 additions & 2 deletions

File tree

examples/servers/simple-auth/mcp_simple_auth/auth_server.py

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -121,6 +121,7 @@ async def introspect_handler(request: Request) -> Response:
121121
"token_type": "Bearer",
122122
"aud": access_token.resource, # RFC 8707 audience claim
123123
"sub": access_token.subject, # RFC 7662 subject
124+
"iss": str(server_settings.server_url),
124125
}
125126
)
126127

src/mcp/server/auth/provider.py

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -42,8 +42,8 @@ class AccessToken(BaseModel):
4242
scopes: list[str]
4343
expires_at: int | None = None
4444
resource: str | None = None # RFC 8707 resource indicator
45-
subject: str | None = None # RFC 7662/9068 `sub`: resource owner the token was issued for
46-
claims: dict[str, Any] | None = None # additional verified claims (e.g. `iss`, `act`)
45+
subject: str | None = None # RFC 7662/9068 `sub`: resource owner; unique only per issuer
46+
claims: dict[str, Any] | None = None # additional claims (e.g. `iss`, `act`)
4747

4848

4949
RegistrationErrorCode = Literal[

0 commit comments

Comments
 (0)