Skip to content

Commit a962f21

Browse files
committed
Add resource_owner field to AuthorizationCode and AccessToken classes
1 parent 6c26d08 commit a962f21

File tree

2 files changed

+5
-0
lines changed

2 files changed

+5
-0
lines changed

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

Lines changed: 3 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -163,6 +163,7 @@ async def handle_simple_callback(self, username: str, password: str, state: str)
163163
redirect_uri_provided_explicitly = state_data["redirect_uri_provided_explicitly"] == "True"
164164
client_id = state_data["client_id"]
165165
resource = state_data.get("resource") # RFC 8707
166+
resource_owner = username # Use username as resource owner
166167

167168
# These are required values from our own state mapping
168169
assert redirect_uri is not None
@@ -184,6 +185,7 @@ async def handle_simple_callback(self, username: str, password: str, state: str)
184185
scopes=[self.settings.mcp_scope],
185186
code_challenge=code_challenge,
186187
resource=resource, # RFC 8707
188+
resource_owner=resource_owner,
187189
)
188190
self.auth_codes[new_code] = auth_code
189191

@@ -220,6 +222,7 @@ async def exchange_authorization_code(
220222
scopes=authorization_code.scopes,
221223
expires_at=int(time.time()) + 3600,
222224
resource=authorization_code.resource, # RFC 8707
225+
resource_owner=authorization_code.resource_owner,
223226
)
224227

225228
# Store user data mapping for this token

src/mcp/server/auth/provider.py

Lines changed: 2 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -25,6 +25,7 @@ class AuthorizationCode(BaseModel):
2525
redirect_uri: AnyUrl
2626
redirect_uri_provided_explicitly: bool
2727
resource: str | None = None # RFC 8707 resource indicator
28+
resource_owner: str | None = None
2829

2930

3031
class RefreshToken(BaseModel):
@@ -40,6 +41,7 @@ class AccessToken(BaseModel):
4041
scopes: list[str]
4142
expires_at: int | None = None
4243
resource: str | None = None # RFC 8707 resource indicator
44+
resource_owner: str | None = None
4345

4446

4547
RegistrationErrorCode = Literal[

0 commit comments

Comments
 (0)