@@ -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
0 commit comments