@@ -14,7 +14,7 @@ namespace ModelContextProtocol.Authentication;
1414/// protection or caching - it acquires a token and server metadata and holds it in memory.
1515/// This is suitable for demonstration and development purposes.
1616/// </summary>
17- internal sealed class ClientOAuthProvider
17+ internal sealed partial class ClientOAuthProvider
1818{
1919 /// <summary>
2020 /// The Bearer authentication scheme.
@@ -207,7 +207,7 @@ private async Task PerformOAuthAuthorizationAsync(
207207 ThrowFailedToHandleUnauthorizedResponse ( $ "Authorization server selector returned a server not in the available list: { selectedAuthServer } . Available servers: { string . Join ( ", " , availableAuthorizationServers ) } ") ;
208208 }
209209
210- _logger . LogInformation ( "Selected authorization server: {Server} from {Count} available servers" , selectedAuthServer , availableAuthorizationServers . Count ) ;
210+ LogSelectedAuthorizationServer ( selectedAuthServer , availableAuthorizationServers . Count ) ;
211211
212212 // Get auth server metadata
213213 var authServerMetadata = await GetAuthServerMetadataAsync ( selectedAuthServer , cancellationToken ) . ConfigureAwait ( false ) ;
@@ -235,7 +235,7 @@ private async Task PerformOAuthAuthorizationAsync(
235235 }
236236
237237 _token = token ;
238- _logger . LogInformation ( "OAuth authorization completed successfully" ) ;
238+ LogOAuthAuthorizationCompleted ( ) ;
239239 }
240240
241241 private async Task < AuthorizationServerMetadata ? > GetAuthServerMetadataAsync ( Uri authServerUri , CancellationToken cancellationToken )
@@ -270,7 +270,7 @@ private async Task PerformOAuthAuthorizationAsync(
270270 }
271271 catch ( Exception ex )
272272 {
273- _logger . LogError ( ex , "Error fetching auth server metadata from {Path}" , path ) ;
273+ LogErrorFetchingAuthServerMetadata ( ex , path ) ;
274274 }
275275 }
276276
@@ -435,7 +435,7 @@ private async Task PerformDynamicClientRegistrationAsync(
435435 ThrowFailedToHandleUnauthorizedResponse ( "Authorization server does not support dynamic client registration" ) ;
436436 }
437437
438- _logger . LogInformation ( "Performing dynamic client registration with {RegistrationEndpoint}" , authServerMetadata . RegistrationEndpoint ) ;
438+ LogPerformingDynamicClientRegistration ( authServerMetadata . RegistrationEndpoint ) ;
439439
440440 var registrationRequest = new DynamicClientRegistrationRequest
441441 {
@@ -482,7 +482,7 @@ private async Task PerformDynamicClientRegistrationAsync(
482482 _clientSecret = registrationResponse . ClientSecret ;
483483 }
484484
485- _logger . LogInformation ( "Dynamic client registration successful. Client ID: {ClientId}" , _clientId ) ;
485+ LogDynamicClientRegistrationSuccessful ( _clientId ! ) ;
486486 }
487487
488488 /// <summary>
@@ -581,7 +581,7 @@ private async Task<ProtectedResourceMetadata> ExtractProtectedResourceMetadata(H
581581
582582 // Per RFC: The resource value must be identical to the URL that the client used
583583 // to make the request to the resource server
584- _logger . LogDebug ( $ "Validating resource metadata against original server URL: { serverUrl } " ) ;
584+ LogValidatingResourceMetadata ( serverUrl ) ;
585585
586586 if ( ! VerifyResourceMatch ( metadata , serverUrl ) )
587587 {
@@ -666,4 +666,22 @@ private static void ThrowIfNotBearerScheme(string scheme)
666666 [ DoesNotReturn ]
667667 private static void ThrowFailedToHandleUnauthorizedResponse ( string message ) =>
668668 throw new McpException ( $ "Failed to handle unauthorized response with 'Bearer' scheme. { message } ") ;
669+
670+ [ LoggerMessage ( Level = LogLevel . Information , Message = "Selected authorization server: {Server} from {Count} available servers" ) ]
671+ partial void LogSelectedAuthorizationServer ( Uri server , int count ) ;
672+
673+ [ LoggerMessage ( Level = LogLevel . Information , Message = "OAuth authorization completed successfully" ) ]
674+ partial void LogOAuthAuthorizationCompleted ( ) ;
675+
676+ [ LoggerMessage ( Level = LogLevel . Error , Message = "Error fetching auth server metadata from {Path}" ) ]
677+ partial void LogErrorFetchingAuthServerMetadata ( Exception ex , string path ) ;
678+
679+ [ LoggerMessage ( Level = LogLevel . Information , Message = "Performing dynamic client registration with {RegistrationEndpoint}" ) ]
680+ partial void LogPerformingDynamicClientRegistration ( Uri registrationEndpoint ) ;
681+
682+ [ LoggerMessage ( Level = LogLevel . Information , Message = "Dynamic client registration successful. Client ID: {ClientId}" ) ]
683+ partial void LogDynamicClientRegistrationSuccessful ( string clientId ) ;
684+
685+ [ LoggerMessage ( Level = LogLevel . Debug , Message = "Validating resource metadata against original server URL: {ServerUrl}" ) ]
686+ partial void LogValidatingResourceMetadata ( Uri serverUrl ) ;
669687}
0 commit comments