summaryrefslogtreecommitdiffstats
path: root/src
diff options
context:
space:
mode:
authorAndrew Arnott <andrewarnott@gmail.com>2008-09-24 21:37:59 -0700
committerAndrew <andrewarnott@gmail.com>2008-09-24 21:37:59 -0700
commit04d91238d616476708650105a9102779114dd7d1 (patch)
tree4de9e371363d3e2f040bff98171dee04cbb6ca31 /src
parenta92ec583772221f818fe1c7259b4e2f2ae8acb8d (diff)
downloadDotNetOpenAuth-04d91238d616476708650105a9102779114dd7d1.zip
DotNetOpenAuth-04d91238d616476708650105a9102779114dd7d1.tar.gz
DotNetOpenAuth-04d91238d616476708650105a9102779114dd7d1.tar.bz2
Fixed token secret retention bug.
Diffstat (limited to 'src')
-rw-r--r--src/DotNetOAuth.Test/Scenarios/AppendixScenarios.cs4
-rw-r--r--src/DotNetOAuth.Test/Scenarios/CoordinatingOAuthChannel.cs2
-rw-r--r--src/DotNetOAuth/Consumer.cs7
-rw-r--r--src/DotNetOAuth/Messages/MessageBase.cs3
4 files changed, 11 insertions, 5 deletions
diff --git a/src/DotNetOAuth.Test/Scenarios/AppendixScenarios.cs b/src/DotNetOAuth.Test/Scenarios/AppendixScenarios.cs
index 328255b..86d5d43 100644
--- a/src/DotNetOAuth.Test/Scenarios/AppendixScenarios.cs
+++ b/src/DotNetOAuth.Test/Scenarios/AppendixScenarios.cs
@@ -34,8 +34,8 @@ namespace DotNetOAuth.Test {
ServiceProvider = sp,
};
- consumer.RequestUserAuthorization(new Uri("http://printer.example.com/request_token_ready"));
- var accessTokenMessage = consumer.ProcessUserAuthorization();
+ string requestTokenSecret = consumer.RequestUserAuthorization(new Uri("http://printer.example.com/request_token_ready"));
+ var accessTokenMessage = consumer.ProcessUserAuthorization(requestTokenSecret);
},
channel => {
sp.Channel = channel;
diff --git a/src/DotNetOAuth.Test/Scenarios/CoordinatingOAuthChannel.cs b/src/DotNetOAuth.Test/Scenarios/CoordinatingOAuthChannel.cs
index abd95d1..32ac143 100644
--- a/src/DotNetOAuth.Test/Scenarios/CoordinatingOAuthChannel.cs
+++ b/src/DotNetOAuth.Test/Scenarios/CoordinatingOAuthChannel.cs
@@ -53,7 +53,7 @@ using System.Threading;
}
protected override void SendIndirectMessage(IDirectedProtocolMessage message) {
- TestBase.TestLogger.InfoFormat("Sending indirect message: {0}", message);
+ TestBase.TestLogger.Info("Next response is an indirect message...");
// In this mock transport, direct and indirect messages are the same.
SendDirectMessageResponse(message);
}
diff --git a/src/DotNetOAuth/Consumer.cs b/src/DotNetOAuth/Consumer.cs
index 0c55fdf..f8f22fd 100644
--- a/src/DotNetOAuth/Consumer.cs
+++ b/src/DotNetOAuth/Consumer.cs
@@ -64,7 +64,8 @@ namespace DotNetOAuth {
/// Begins an OAuth authorization request and redirects the user to the Service Provider
/// to provide that authorization.
/// </summary>
- public void RequestUserAuthorization(Uri callback) {
+ /// <returns>The Request Token Secret.</returns>
+ public string RequestUserAuthorization(Uri callback) {
// Obtain an unauthorized request token.
var requestToken = new RequestTokenMessage(ServiceProvider.RequestTokenEndpoint) {
ConsumerKey = this.ConsumerKey,
@@ -79,14 +80,16 @@ namespace DotNetOAuth {
};
this.Channel.Send(requestAuthorization);
this.PendingRequest = this.Channel.DequeueIndirectOrResponseMessage();
+ return requestTokenResponse.TokenSecret;
}
- internal GrantAccessTokenMessage ProcessUserAuthorization() {
+ internal GrantAccessTokenMessage ProcessUserAuthorization(string requestTokenSecret) {
var authorizationMessage = this.Channel.ReadFromRequest<DirectUserToConsumerMessage>();
// Exchange request token for access token.
var requestAccess = new RequestAccessTokenMessage(ServiceProvider.AccessTokenEndpoint) {
RequestToken = authorizationMessage.RequestToken,
+ TokenSecret = requestTokenSecret,
ConsumerKey = this.ConsumerKey,
ConsumerSecret = this.ConsumerSecret,
};
diff --git a/src/DotNetOAuth/Messages/MessageBase.cs b/src/DotNetOAuth/Messages/MessageBase.cs
index 097749d..12f8b77 100644
--- a/src/DotNetOAuth/Messages/MessageBase.cs
+++ b/src/DotNetOAuth/Messages/MessageBase.cs
@@ -138,6 +138,9 @@ namespace DotNetOAuth.Messages {
public override string ToString() {
StringBuilder builder = new StringBuilder();
builder.AppendFormat(CultureInfo.InvariantCulture, "{0} message", GetType().Name);
+ if (recipient != null) {
+ builder.AppendFormat(CultureInfo.InvariantCulture, " as {0} to {1}", recipient.AllowedMethods, recipient.Location);
+ }
builder.AppendLine();
MessageDictionary dictionary = new MessageDictionary(this);
foreach (var pair in dictionary) {