summaryrefslogtreecommitdiffstats
path: root/src/DotNetOpenAuth.OAuth2/OAuth2/OAuthUtilities.cs
diff options
context:
space:
mode:
authorAndrew Arnott <andrewarnott@gmail.com>2012-11-11 21:04:50 -0800
committerAndrew Arnott <andrewarnott@gmail.com>2012-11-11 21:05:22 -0800
commit0b5012fe114c118e36dac4a1cb79e149236bf089 (patch)
tree9d7e060ec64036a3ec8c7f2d83b4955902cd1d0d /src/DotNetOpenAuth.OAuth2/OAuth2/OAuthUtilities.cs
parentbe86c92c08a5178fca2253cdccf202b995cd1615 (diff)
downloadDotNetOpenAuth-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.cs15
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);