@@ -13,17 +13,20 @@ static async Task Main(string[] args)
1313
1414 var serverUrl = "http://localhost:7071/sse" ;
1515
16- var httpClient = new HttpClient ( ) ;
17-
1816 var tokenProvider = new BasicOAuthAuthorizationProvider (
1917 new Uri ( serverUrl ) ,
2018 clientId : "6ad97b5f-7a7b-413f-8603-7a3517d4adb8" ,
2119 redirectUri : new Uri ( "http://localhost:1179/callback" ) ,
22- scopes : new List < string > { "api://167b4284-3f92-4436-92ed-38b38f83ae08/weather.read" } ,
23- httpClient : httpClient ) ;
20+ scopes : new List < string > { "api://167b4284-3f92-4436-92ed-38b38f83ae08/weather.read" }
21+ ) ;
22+
23+ var authHandler = new AuthorizationDelegatingHandler ( tokenProvider , "Bearer" )
24+ {
25+ // 3. Set the inner handler (the handler that actually sends the request)
26+ InnerHandler = new HttpClientHandler ( )
27+ } ;
2428
25- // Use the same HttpClient instance with the authentication provider
26- var authenticatedClient = httpClient . UseMcpAuthorizationProvider ( tokenProvider ) ;
29+ var httpClient = new HttpClient ( authHandler ) ;
2730
2831 Console . WriteLine ( ) ;
2932 Console . WriteLine ( $ "Connecting to weather server at { serverUrl } ...") ;
@@ -36,7 +39,8 @@ static async Task Main(string[] args)
3639 Name = "Secure Weather Client"
3740 } ;
3841
39- var transport = new SseClientTransport ( transportOptions , authenticatedClient ) ;
42+ // Use the single, pre-configured HttpClient
43+ var transport = new SseClientTransport ( transportOptions , httpClient ) ;
4044
4145 var client = await McpClientFactory . CreateAsync ( transport ) ;
4246
0 commit comments