diff options
Diffstat (limited to 'src/DotNetOAuth/ChannelElements')
3 files changed, 10 insertions, 12 deletions
diff --git a/src/DotNetOAuth/ChannelElements/ITamperResistantOAuthMessage.cs b/src/DotNetOAuth/ChannelElements/ITamperResistantOAuthMessage.cs index 500f65c..961daef 100644 --- a/src/DotNetOAuth/ChannelElements/ITamperResistantOAuthMessage.cs +++ b/src/DotNetOAuth/ChannelElements/ITamperResistantOAuthMessage.cs @@ -37,11 +37,5 @@ namespace DotNetOAuth.ChannelElements { /// Gets or sets the HTTP method that will be used to transmit the message.
/// </summary>
string HttpMethod { get; set; }
-
- /// <summary>
- /// Gets or sets the extra, non-OAuth parameters that will be included in the request.
- /// Only applicable to Consumer (SPs will receive these extra parameters via the ExtraData dictionary).
- /// </summary>
- IDictionary<string, string> AdditionalParametersInHttpRequest { get; set; }
}
}
diff --git a/src/DotNetOAuth/ChannelElements/OAuthChannel.cs b/src/DotNetOAuth/ChannelElements/OAuthChannel.cs index 38e6434..03db91e 100644 --- a/src/DotNetOAuth/ChannelElements/OAuthChannel.cs +++ b/src/DotNetOAuth/ChannelElements/OAuthChannel.cs @@ -290,14 +290,21 @@ namespace DotNetOAuth.ChannelElements { /// This method implements OAuth 1.0 section 5.2, item #1 (described in section 5.4).
/// </remarks>
private HttpWebRequest InitializeRequestAsAuthHeader(IDirectedProtocolMessage requestMessage) {
- var serializer = MessageSerializer.Get(requestMessage.GetType());
- var fields = new Dictionary<string, string>(serializer.Serialize(requestMessage)); // copy so as to not modify original
var protocol = Protocol.Lookup(requestMessage.ProtocolVersion);
+ var dictionary = new MessageDictionary(requestMessage);
+
+ // copy so as to not modify original
+ var fields = new Dictionary<string, string>();
+ foreach (string key in dictionary.DeclaredKeys) {
+ fields.Add(key, dictionary[key]);
+ }
if (this.Realm != null) {
fields.Add("realm", this.Realm.AbsoluteUri);
}
- HttpWebRequest httpRequest = (HttpWebRequest)WebRequest.Create(requestMessage.Recipient);
+ UriBuilder builder = new UriBuilder(requestMessage.Recipient);
+ MessagingUtilities.AppendQueryArgs(builder, requestMessage.ExtraData);
+ HttpWebRequest httpRequest = (HttpWebRequest)WebRequest.Create(builder.Uri);
StringBuilder authorization = new StringBuilder();
authorization.Append(protocol.AuthorizationHeaderScheme);
diff --git a/src/DotNetOAuth/ChannelElements/SigningBindingElementBase.cs b/src/DotNetOAuth/ChannelElements/SigningBindingElementBase.cs index 7886f1c..7ddf7e8 100644 --- a/src/DotNetOAuth/ChannelElements/SigningBindingElementBase.cs +++ b/src/DotNetOAuth/ChannelElements/SigningBindingElementBase.cs @@ -127,9 +127,6 @@ namespace DotNetOAuth.ChannelElements { signatureBaseStringElements.Add(endpoint.Uri.AbsoluteUri);
var encodedDictionary = OAuthChannel.GetEncodedParameters(message);
- if (message.AdditionalParametersInHttpRequest != null) {
- OAuthChannel.EncodeParameters(message.AdditionalParametersInHttpRequest, encodedDictionary);
- }
encodedDictionary.Remove("oauth_signature");
var sortedKeyValueList = new List<KeyValuePair<string, string>>(encodedDictionary);
sortedKeyValueList.Sort(SignatureBaseStringParameterComparer);
|