summaryrefslogtreecommitdiffstats
path: root/src
diff options
context:
space:
mode:
authorAndrew Arnott <andrewarnott@gmail.com>2012-03-02 17:21:31 -0800
committerAndrew Arnott <andrewarnott@gmail.com>2012-03-02 17:21:31 -0800
commit68dc64e8a1a1b2fb85e3a3b3214d04a78be51ee9 (patch)
treed420582d48eb767f3bf40ab693d84eb7e9ca996b /src
parenta292822196d0911a68fc56597ed52a8c84a41cbe (diff)
parent062b432486426d4aeaff415702577607d7ec8fce (diff)
downloadDotNetOpenAuth-68dc64e8a1a1b2fb85e3a3b3214d04a78be51ee9.zip
DotNetOpenAuth-68dc64e8a1a1b2fb85e3a3b3214d04a78be51ee9.tar.gz
DotNetOpenAuth-68dc64e8a1a1b2fb85e3a3b3214d04a78be51ee9.tar.bz2
Merge pull request #80 from dotnetjunky/master
Fix unit tests failing.
Diffstat (limited to 'src')
-rw-r--r--src/DotNetOpenAuth.AspNet.Test/OAuth2ClientTest.cs3
-rw-r--r--src/DotNetOpenAuth.AspNet.Test/OAuthClientTest.cs3
-rw-r--r--src/DotNetOpenAuth.AspNet/Clients/OAuth/LinkedInClient.cs1
-rw-r--r--src/DotNetOpenAuth.AspNet/Clients/OAuth/OAuthClient.cs27
-rw-r--r--src/DotNetOpenAuth.AspNet/Clients/OAuth/TwitterClient.cs3
-rw-r--r--src/DotNetOpenAuth.AspNet/OpenAuthAuthenticationTicketHelper.cs2
6 files changed, 29 insertions, 10 deletions
diff --git a/src/DotNetOpenAuth.AspNet.Test/OAuth2ClientTest.cs b/src/DotNetOpenAuth.AspNet.Test/OAuth2ClientTest.cs
index d24cf77..e979beb 100644
--- a/src/DotNetOpenAuth.AspNet.Test/OAuth2ClientTest.cs
+++ b/src/DotNetOpenAuth.AspNet.Test/OAuth2ClientTest.cs
@@ -93,7 +93,7 @@
Assert.AreEqual("12345", result.ProviderUserId);
Assert.AreEqual("John Doe", result.UserName);
Assert.NotNull(result.ExtraData);
- Assert.AreEqual("abcde", result.ExtraData["token"]);
+ Assert.AreEqual("abcde", result.ExtraData["accesstoken"]);
}
private class MockOAuth2Client : OAuth2Client {
@@ -115,7 +115,6 @@
return new Dictionary<string, string>
{
{"id", "12345"},
- {"token", accessToken},
{"name", "John Doe"}
};
}
diff --git a/src/DotNetOpenAuth.AspNet.Test/OAuthClientTest.cs b/src/DotNetOpenAuth.AspNet.Test/OAuthClientTest.cs
index bec7f8a..f0eadd1 100644
--- a/src/DotNetOpenAuth.AspNet.Test/OAuthClientTest.cs
+++ b/src/DotNetOpenAuth.AspNet.Test/OAuthClientTest.cs
@@ -107,6 +107,9 @@
Assert.AreEqual("mockoauth", result.Provider);
Assert.AreEqual("12345", result.ProviderUserId);
Assert.AreEqual("super", result.UserName);
+ Assert.IsNotNull(result.ExtraData);
+ Assert.IsTrue(result.ExtraData.ContainsKey("accesstoken"));
+ Assert.AreEqual("ok", result.ExtraData["accesstoken"]);
}
private class MockOAuthClient : OAuthClient {
diff --git a/src/DotNetOpenAuth.AspNet/Clients/OAuth/LinkedInClient.cs b/src/DotNetOpenAuth.AspNet/Clients/OAuth/LinkedInClient.cs
index 68cf135..865a334 100644
--- a/src/DotNetOpenAuth.AspNet/Clients/OAuth/LinkedInClient.cs
+++ b/src/DotNetOpenAuth.AspNet/Clients/OAuth/LinkedInClient.cs
@@ -95,6 +95,7 @@ namespace DotNetOpenAuth.AspNet.Clients {
string userName = firstName + " " + lastName;
var extraData = new Dictionary<string, string>();
+ extraData.Add("accesstoken", accessToken);
extraData.Add("name", userName);
extraData.AddDataIfNotEmpty(document, "headline");
extraData.AddDataIfNotEmpty(document, "summary");
diff --git a/src/DotNetOpenAuth.AspNet/Clients/OAuth/OAuthClient.cs b/src/DotNetOpenAuth.AspNet/Clients/OAuth/OAuthClient.cs
index 42b960c..bae3f82 100644
--- a/src/DotNetOpenAuth.AspNet/Clients/OAuth/OAuthClient.cs
+++ b/src/DotNetOpenAuth.AspNet/Clients/OAuth/OAuthClient.cs
@@ -11,6 +11,7 @@ namespace DotNetOpenAuth.AspNet.Clients {
using DotNetOpenAuth.OAuth;
using DotNetOpenAuth.OAuth.ChannelElements;
using DotNetOpenAuth.OAuth.Messages;
+ using System.Collections.Generic;
/// <summary>
/// Represents base class for OAuth 1.0 clients
@@ -128,13 +129,27 @@ namespace DotNetOpenAuth.AspNet.Clients {
return AuthenticationResult.Failed;
}
- // add the access token to the user data dictionary just in case page developers want to use it
AuthenticationResult result = this.VerifyAuthenticationCore(response);
- if (result.IsSuccessful && result.ExtraData != null) {
- result.ExtraData["accesstoken"] = response.AccessToken;
- }
-
- return result;
+ if (result.IsSuccessful && result.ExtraData != null)
+ {
+ // add the access token to the user data dictionary just in case page developers want to use it
+ var wrapExtraData = result.ExtraData.IsReadOnly
+ ? new Dictionary<string, string>(result.ExtraData)
+ : result.ExtraData;
+ wrapExtraData["accesstoken"] = response.AccessToken;
+
+ AuthenticationResult wrapResult = new AuthenticationResult(
+ result.IsSuccessful,
+ result.Provider,
+ result.ProviderUserId,
+ result.UserName,
+ wrapExtraData
+ );
+
+ result = wrapResult;
+ }
+
+ return result;
}
#endregion
diff --git a/src/DotNetOpenAuth.AspNet/Clients/OAuth/TwitterClient.cs b/src/DotNetOpenAuth.AspNet/Clients/OAuth/TwitterClient.cs
index ad1a556..66a6a95 100644
--- a/src/DotNetOpenAuth.AspNet/Clients/OAuth/TwitterClient.cs
+++ b/src/DotNetOpenAuth.AspNet/Clients/OAuth/TwitterClient.cs
@@ -80,11 +80,12 @@ namespace DotNetOpenAuth.AspNet.Clients {
string userName = response.ExtraData["screen_name"];
string profileRequestUrl = "http://api.twitter.com/1/users/show.xml?user_id="
- + MessagingUtilities.EscapeUriDataStringRfc3986(userId);
+ + MessagingUtilities.EscapeUriDataStringRfc3986(userId);
var profileEndpoint = new MessageReceivingEndpoint(profileRequestUrl, HttpDeliveryMethods.GetRequest);
HttpWebRequest request = this.WebWorker.PrepareAuthorizedRequest(profileEndpoint, accessToken);
var extraData = new Dictionary<string, string>();
+ extraData.Add("accesstoken", accessToken);
try {
using (WebResponse profileResponse = request.GetResponse()) {
using (Stream responseStream = profileResponse.GetResponseStream()) {
diff --git a/src/DotNetOpenAuth.AspNet/OpenAuthAuthenticationTicketHelper.cs b/src/DotNetOpenAuth.AspNet/OpenAuthAuthenticationTicketHelper.cs
index abf9a9d..220d1d0 100644
--- a/src/DotNetOpenAuth.AspNet/OpenAuthAuthenticationTicketHelper.cs
+++ b/src/DotNetOpenAuth.AspNet/OpenAuthAuthenticationTicketHelper.cs
@@ -19,7 +19,7 @@ namespace DotNetOpenAuth.AspNet {
/// <summary>
/// The open auth cookie token.
/// </summary>
- private const string OpenAuthCookieToken = "OpenAuth";
+ private const string OpenAuthCookieToken = "OAuth";
#endregion