summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorAndrew Arnott <andrewarnott@gmail.com>2008-10-06 19:51:39 -0700
committerAndrew <andrewarnott@gmail.com>2008-10-06 19:51:39 -0700
commit43188751fe5c64c8f29f62e448a2c6a798910328 (patch)
tree1c823361ad36b71a84d2c5bd8dcc0c0a8fec7c50
parent25c05b43a692cd7e64f19a911df41f373649976f (diff)
downloadDotNetOpenAuth-43188751fe5c64c8f29f62e448a2c6a798910328.zip
DotNetOpenAuth-43188751fe5c64c8f29f62e448a2c6a798910328.tar.gz
DotNetOpenAuth-43188751fe5c64c8f29f62e448a2c6a798910328.tar.bz2
ITokenManager.StoreNewRequestToken now takes both request and response parameters.
Fixes one TODO item.
-rw-r--r--samples/Consumer/App_Code/InMemoryTokenManager.cs2
-rw-r--r--samples/ConsumerWpf/InMemoryTokenManager.cs2
-rw-r--r--samples/ServiceProvider/App_Code/DatabaseTokenManager.cs4
-rw-r--r--src/DotNetOAuth.Test/Mocks/InMemoryTokenManager.cs2
-rw-r--r--src/DotNetOAuth/ChannelElements/ITokenManager.cs5
-rw-r--r--src/DotNetOAuth/Consumer.cs3
-rw-r--r--src/DotNetOAuth/ServiceProvider.cs2
7 files changed, 11 insertions, 9 deletions
diff --git a/samples/Consumer/App_Code/InMemoryTokenManager.cs b/samples/Consumer/App_Code/InMemoryTokenManager.cs
index dc80da1..83c45bd 100644
--- a/samples/Consumer/App_Code/InMemoryTokenManager.cs
+++ b/samples/Consumer/App_Code/InMemoryTokenManager.cs
@@ -35,7 +35,7 @@ public class InMemoryTokenManager : ITokenManager {
return this.tokensAndSecrets[token];
}
- public void StoreNewRequestToken(string consumerKey, string requestToken, string requestTokenSecret, IDictionary<string, string> parameters) {
+ public void StoreNewRequestToken(string consumerKey, string requestToken, string requestTokenSecret, IDictionary<string, string> requestParameters, IDictionary<string, string> responseParameters) {
this.tokensAndSecrets[requestToken] = requestTokenSecret;
}
diff --git a/samples/ConsumerWpf/InMemoryTokenManager.cs b/samples/ConsumerWpf/InMemoryTokenManager.cs
index 4f61ba4..439f1a2 100644
--- a/samples/ConsumerWpf/InMemoryTokenManager.cs
+++ b/samples/ConsumerWpf/InMemoryTokenManager.cs
@@ -34,7 +34,7 @@ namespace DotNetOAuth.Samples.ConsumerWpf {
return this.tokensAndSecrets[token];
}
- public void StoreNewRequestToken(string consumerKey, string requestToken, string requestTokenSecret, IDictionary<string, string> parameters) {
+ public void StoreNewRequestToken(string consumerKey, string requestToken, string requestTokenSecret, IDictionary<string, string> requestParameters, IDictionary<string, string> responseParameters) {
this.tokensAndSecrets[requestToken] = requestTokenSecret;
}
diff --git a/samples/ServiceProvider/App_Code/DatabaseTokenManager.cs b/samples/ServiceProvider/App_Code/DatabaseTokenManager.cs
index cf4c6c6..acc8b94 100644
--- a/samples/ServiceProvider/App_Code/DatabaseTokenManager.cs
+++ b/samples/ServiceProvider/App_Code/DatabaseTokenManager.cs
@@ -33,9 +33,9 @@ public class DatabaseTokenManager : ITokenManager {
return tokenRow.TokenSecret;
}
- public void StoreNewRequestToken(string consumerKey, string requestToken, string requestTokenSecret, IDictionary<string, string> parameters) {
+ public void StoreNewRequestToken(string consumerKey, string requestToken, string requestTokenSecret, IDictionary<string, string> requestParameters, IDictionary<string, string> responseParameters) {
var consumer = Global.DataContext.OAuthConsumers.Single(consumerRow => consumerRow.ConsumerKey == consumerKey);
- string scope = parameters["scope"];
+ string scope = requestParameters["scope"];
OAuthToken newToken = new OAuthToken {
OAuthConsumer = consumer,
Token = requestToken,
diff --git a/src/DotNetOAuth.Test/Mocks/InMemoryTokenManager.cs b/src/DotNetOAuth.Test/Mocks/InMemoryTokenManager.cs
index e9ddf02..87d7608 100644
--- a/src/DotNetOAuth.Test/Mocks/InMemoryTokenManager.cs
+++ b/src/DotNetOAuth.Test/Mocks/InMemoryTokenManager.cs
@@ -34,7 +34,7 @@ namespace DotNetOAuth.Test.Mocks {
return this.tokensAndSecrets[token];
}
- public void StoreNewRequestToken(string consumerKey, string requestToken, string requestTokenSecret, IDictionary<string, string> parameters) {
+ public void StoreNewRequestToken(string consumerKey, string requestToken, string requestTokenSecret, IDictionary<string, string> requestParameters, IDictionary<string, string> responseParameters) {
this.tokensAndSecrets[requestToken] = requestTokenSecret;
this.requestTokens.Add(requestToken, false);
}
diff --git a/src/DotNetOAuth/ChannelElements/ITokenManager.cs b/src/DotNetOAuth/ChannelElements/ITokenManager.cs
index db1766d..4cb6ce7 100644
--- a/src/DotNetOAuth/ChannelElements/ITokenManager.cs
+++ b/src/DotNetOAuth/ChannelElements/ITokenManager.cs
@@ -41,9 +41,10 @@ namespace DotNetOAuth.ChannelElements {
/// <param name="consumerKey">The key of the Consumer that requested this token.</param>
/// <param name="requestToken">The token to store.</param>
/// <param name="requestTokenSecret">The secret to store as associated with the request token.</param>
- /// <param name="parameters">The optional application-specific parameters of this request.</param>
+ /// <param name="requestParameters">The optional application-specific parameters sent in the request message.</param>
+ /// <param name="responseParameters">The optional application-specific parameters sent in the response message.</param>
/// <exception cref="ArgumentException">Thrown if the consumer key is not registered, or a required parameter was not found in the parameters collection.</exception>
- void StoreNewRequestToken(string consumerKey, string requestToken, string requestTokenSecret, IDictionary<string, string> parameters);
+ void StoreNewRequestToken(string consumerKey, string requestToken, string requestTokenSecret, IDictionary<string, string> requestParameters, IDictionary<string, string> responseParameters);
/// <summary>
/// Checks whether a given request token has already been authorized
diff --git a/src/DotNetOAuth/Consumer.cs b/src/DotNetOAuth/Consumer.cs
index 151b412..b8d16f3 100644
--- a/src/DotNetOAuth/Consumer.cs
+++ b/src/DotNetOAuth/Consumer.cs
@@ -203,7 +203,8 @@ namespace DotNetOAuth {
};
requestToken.AddNonOAuthParameters(requestParameters);
var requestTokenResponse = this.Channel.Request<UnauthorizedRequestTokenMessage>(requestToken);
- this.TokenManager.StoreNewRequestToken(this.ConsumerKey, requestTokenResponse.RequestToken, requestTokenResponse.TokenSecret, null/*TODO*/);
+ IDictionary<string, string> responseParameters = ((IProtocolMessage)requestTokenResponse).ExtraData;
+ this.TokenManager.StoreNewRequestToken(this.ConsumerKey, requestTokenResponse.RequestToken, requestTokenResponse.TokenSecret, requestParameters, responseParameters);
// Request user authorization.
var requestAuthorization = new DirectUserToServiceProviderMessage(this.ServiceProvider.UserAuthorizationEndpoint) {
diff --git a/src/DotNetOAuth/ServiceProvider.cs b/src/DotNetOAuth/ServiceProvider.cs
index eab56f6..4168846 100644
--- a/src/DotNetOAuth/ServiceProvider.cs
+++ b/src/DotNetOAuth/ServiceProvider.cs
@@ -118,7 +118,7 @@ namespace DotNetOAuth {
public Response SendUnauthorizedTokenResponse(RequestTokenMessage request, IDictionary<string, string> extraParameters) {
string token = this.TokenGenerator.GenerateRequestToken(request.ConsumerKey);
string secret = this.TokenGenerator.GenerateSecret();
- this.TokenManager.StoreNewRequestToken(request.ConsumerKey, token, secret, ((IProtocolMessage)request).ExtraData);
+ this.TokenManager.StoreNewRequestToken(request.ConsumerKey, token, secret, ((IProtocolMessage)request).ExtraData, extraParameters);
UnauthorizedRequestTokenMessage response = new UnauthorizedRequestTokenMessage {
RequestToken = token,
TokenSecret = secret,