summaryrefslogtreecommitdiffstats
path: root/src/DotNetOAuth/ChannelElements/OAuthChannel.cs
diff options
context:
space:
mode:
authorAndrew Arnott <andrewarnott@gmail.com>2008-09-28 15:04:04 -0700
committerAndrew <andrewarnott@gmail.com>2008-09-28 15:04:04 -0700
commitad79dec82e43910db29d1a259155f2cf3f86e731 (patch)
tree34fc5eab2d77fdd3e6c2aa48f2d056c5e6ba6ff5 /src/DotNetOAuth/ChannelElements/OAuthChannel.cs
parent92ec674bd52330d4847f75150cd34263336219b6 (diff)
downloadDotNetOpenAuth-ad79dec82e43910db29d1a259155f2cf3f86e731.zip
DotNetOpenAuth-ad79dec82e43910db29d1a259155f2cf3f86e731.tar.gz
DotNetOpenAuth-ad79dec82e43910db29d1a259155f2cf3f86e731.tar.bz2
Appendix scenario test passing (again), this time with HMAC signing of HTTP requests.
Diffstat (limited to 'src/DotNetOAuth/ChannelElements/OAuthChannel.cs')
-rw-r--r--src/DotNetOAuth/ChannelElements/OAuthChannel.cs17
1 files changed, 13 insertions, 4 deletions
diff --git a/src/DotNetOAuth/ChannelElements/OAuthChannel.cs b/src/DotNetOAuth/ChannelElements/OAuthChannel.cs
index 197acc4..5bb05b6 100644
--- a/src/DotNetOAuth/ChannelElements/OAuthChannel.cs
+++ b/src/DotNetOAuth/ChannelElements/OAuthChannel.cs
@@ -145,13 +145,22 @@ namespace DotNetOAuth.ChannelElements {
fields.Add(key, value);
}
- return this.Receive(fields);
+ return this.Receive(fields, request.GetRecipient());
}
}
}
// We didn't find an OAuth authorization header. Revert to other payload methods.
- return base.ReadFromRequestInternal(request);
+ IProtocolMessage message = base.ReadFromRequestInternal(request);
+
+ // Add receiving HTTP transport information required for signature generation.
+ var signedMessage = message as ITamperResistantOAuthMessage;
+ if (signedMessage != null) {
+ signedMessage.Recipient = request.Url;
+ signedMessage.HttpMethod = request.HttpMethod;
+ }
+
+ return message;
}
/// <summary>
@@ -167,7 +176,7 @@ namespace DotNetOAuth.ChannelElements {
using (StreamReader reader = new StreamReader(responseStream)) {
string response = reader.ReadToEnd();
var fields = HttpUtility.ParseQueryString(response).ToDictionary();
- return Receive(fields);
+ return Receive(fields, null);
}
}
@@ -189,7 +198,7 @@ namespace DotNetOAuth.ChannelElements {
return null;
}
var responseSerialize = MessageSerializer.Get(messageType);
- var responseMessage = responseSerialize.Deserialize(responseFields);
+ var responseMessage = responseSerialize.Deserialize(responseFields, null);
return responseMessage;
}