diff options
author | Andrew Arnott <andrewarnott@gmail.com> | 2008-09-24 21:37:59 -0700 |
---|---|---|
committer | Andrew <andrewarnott@gmail.com> | 2008-09-24 21:37:59 -0700 |
commit | 04d91238d616476708650105a9102779114dd7d1 (patch) | |
tree | 4de9e371363d3e2f040bff98171dee04cbb6ca31 /src | |
parent | a92ec583772221f818fe1c7259b4e2f2ae8acb8d (diff) | |
download | DotNetOpenAuth-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.cs | 4 | ||||
-rw-r--r-- | src/DotNetOAuth.Test/Scenarios/CoordinatingOAuthChannel.cs | 2 | ||||
-rw-r--r-- | src/DotNetOAuth/Consumer.cs | 7 | ||||
-rw-r--r-- | src/DotNetOAuth/Messages/MessageBase.cs | 3 |
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) {
|