diff options
author | Andrew Arnott <andrewarnott@gmail.com> | 2012-11-11 21:04:50 -0800 |
---|---|---|
committer | Andrew Arnott <andrewarnott@gmail.com> | 2012-11-11 21:05:22 -0800 |
commit | 0b5012fe114c118e36dac4a1cb79e149236bf089 (patch) | |
tree | 9d7e060ec64036a3ec8c7f2d83b4955902cd1d0d /src/DotNetOpenAuth.OAuth2/OAuth2/OAuthUtilities.cs | |
parent | be86c92c08a5178fca2253cdccf202b995cd1615 (diff) | |
download | DotNetOpenAuth-0b5012fe114c118e36dac4a1cb79e149236bf089.zip DotNetOpenAuth-0b5012fe114c118e36dac4a1cb79e149236bf089.tar.gz DotNetOpenAuth-0b5012fe114c118e36dac4a1cb79e149236bf089.tar.bz2 |
Adds ClientBase.AuthorizeRequest overloads that accept WebHeaderCollection.
Fixes #119
Diffstat (limited to 'src/DotNetOpenAuth.OAuth2/OAuth2/OAuthUtilities.cs')
-rw-r--r-- | src/DotNetOpenAuth.OAuth2/OAuth2/OAuthUtilities.cs | 15 |
1 files changed, 14 insertions, 1 deletions
diff --git a/src/DotNetOpenAuth.OAuth2/OAuth2/OAuthUtilities.cs b/src/DotNetOpenAuth.OAuth2/OAuth2/OAuthUtilities.cs index 5a4a0d3..f28518f 100644 --- a/src/DotNetOpenAuth.OAuth2/OAuth2/OAuthUtilities.cs +++ b/src/DotNetOpenAuth.OAuth2/OAuth2/OAuthUtilities.cs @@ -136,7 +136,20 @@ namespace DotNetOpenAuth.OAuth2 { Requires.NotNullOrEmpty(accessToken, "accessToken"); ErrorUtilities.VerifyProtocol(accessToken.All(ch => accessTokenAuthorizationHeaderAllowedCharacters.IndexOf(ch) >= 0), OAuthStrings.AccessTokenInvalidForHttpAuthorizationHeader); - request.Headers[HttpRequestHeader.Authorization] = string.Format( + AuthorizeWithBearerToken(request.Headers, accessToken); + } + + /// <summary> + /// Authorizes an HTTP request using an OAuth 2.0 access token in an HTTP Authorization header. + /// </summary> + /// <param name="requestHeaders">The headers on the request for protected resources from the service provider.</param> + /// <param name="accessToken">The access token previously obtained from the Authorization Server.</param> + internal static void AuthorizeWithBearerToken(WebHeaderCollection requestHeaders, string accessToken) { + Requires.NotNull(requestHeaders, "requestHeaders"); + Requires.NotNullOrEmpty(accessToken, "accessToken"); + ErrorUtilities.VerifyProtocol(accessToken.All(ch => accessTokenAuthorizationHeaderAllowedCharacters.IndexOf(ch) >= 0), OAuthStrings.AccessTokenInvalidForHttpAuthorizationHeader); + + requestHeaders[HttpRequestHeader.Authorization] = string.Format( CultureInfo.InvariantCulture, Protocol.BearerHttpAuthorizationHeaderFormat, accessToken); |