@@ -87,7 +87,20 @@ public static void AuthorizeRequest(HttpWebRequest request, string accessToken)
8787 Requires . NotNull ( request , "request" ) ;
8888 Requires . NotNullOrEmpty ( accessToken , "accessToken" ) ;
8989
90- OAuthUtilities . AuthorizeWithBearerToken ( request , accessToken ) ;
90+ AuthorizeRequest ( request . Headers , accessToken ) ;
91+ }
92+
93+ /// <summary>
94+ /// Adds the necessary HTTP Authorization header to an HTTP request for protected resources
95+ /// so that the Service Provider will allow the request through.
96+ /// </summary>
97+ /// <param name="requestHeaders">The headers on the request for protected resources from the service provider.</param>
98+ /// <param name="accessToken">The access token previously obtained from the Authorization Server.</param>
99+ public static void AuthorizeRequest ( WebHeaderCollection requestHeaders , string accessToken ) {
100+ Requires . NotNull ( requestHeaders , "requestHeaders" ) ;
101+ Requires . NotNullOrEmpty ( accessToken , "accessToken" ) ;
102+
103+ OAuthUtilities . AuthorizeWithBearerToken ( requestHeaders , accessToken ) ;
91104 }
92105
93106 /// <summary>
@@ -99,6 +112,19 @@ public static void AuthorizeRequest(HttpWebRequest request, string accessToken)
99112 public void AuthorizeRequest ( HttpWebRequest request , IAuthorizationState authorization ) {
100113 Requires . NotNull ( request , "request" ) ;
101114 Requires . NotNull ( authorization , "authorization" ) ;
115+
116+ this . AuthorizeRequest ( request . Headers , authorization ) ;
117+ }
118+
119+ /// <summary>
120+ /// Adds the OAuth authorization token to an outgoing HTTP request, renewing a
121+ /// (nearly) expired access token if necessary.
122+ /// </summary>
123+ /// <param name="requestHeaders">The headers on the request for protected resources from the service provider.</param>
124+ /// <param name="authorization">The authorization for this request previously obtained via OAuth.</param>
125+ public void AuthorizeRequest ( WebHeaderCollection requestHeaders , IAuthorizationState authorization ) {
126+ Requires . NotNull ( requestHeaders , "requestHeaders" ) ;
127+ Requires . NotNull ( authorization , "authorization" ) ;
102128 Requires . True ( ! string . IsNullOrEmpty ( authorization . AccessToken ) , "authorization" ) ;
103129 ErrorUtilities . VerifyProtocol ( ! authorization . AccessTokenExpirationUtc . HasValue || authorization . AccessTokenExpirationUtc < DateTime . UtcNow || authorization . RefreshToken != null , ClientStrings . AuthorizationExpired ) ;
104130
@@ -107,7 +133,7 @@ public void AuthorizeRequest(HttpWebRequest request, IAuthorizationState authori
107133 this . RefreshAuthorization ( authorization ) ;
108134 }
109135
110- AuthorizeRequest ( request , authorization . AccessToken ) ;
136+ AuthorizeRequest ( requestHeaders , authorization . AccessToken ) ;
111137 }
112138
113139#if CLR4
0 commit comments