summaryrefslogtreecommitdiffstats
path: root/src
diff options
context:
space:
mode:
authorAndrew Arnott <andrewarnott@gmail.com>2013-06-09 17:03:41 -0700
committerAndrew Arnott <andrewarnott@gmail.com>2013-06-09 17:03:41 -0700
commitc645128d5a5d768506351190c5741ac9fd19e9f2 (patch)
treef41a843aa673599a74b2a93c4911e556c5f469f2 /src
parentc4f656a3d8a10b948e9577822d4f849d1586579d (diff)
downloadDotNetOpenAuth-c645128d5a5d768506351190c5741ac9fd19e9f2.zip
DotNetOpenAuth-c645128d5a5d768506351190c5741ac9fd19e9f2.tar.gz
DotNetOpenAuth-c645128d5a5d768506351190c5741ac9fd19e9f2.tar.bz2
Fixes escaping issues with OAuth 1.0 request tokens and cookies.
Diffstat (limited to 'src')
-rw-r--r--src/DotNetOpenAuth.OAuth.Consumer/OAuth/CookieTemporaryCredentialStorage.cs8
1 files changed, 5 insertions, 3 deletions
diff --git a/src/DotNetOpenAuth.OAuth.Consumer/OAuth/CookieTemporaryCredentialStorage.cs b/src/DotNetOpenAuth.OAuth.Consumer/OAuth/CookieTemporaryCredentialStorage.cs
index dac2139..9912e15 100644
--- a/src/DotNetOpenAuth.OAuth.Consumer/OAuth/CookieTemporaryCredentialStorage.cs
+++ b/src/DotNetOpenAuth.OAuth.Consumer/OAuth/CookieTemporaryCredentialStorage.cs
@@ -64,7 +64,8 @@ namespace DotNetOpenAuth.OAuth {
}
var encryptedToken = ProtectAndEncodeToken(identifier, secret);
- cookie.Values[identifier] = encryptedToken;
+ var escapedIdentifier = Uri.EscapeDataString(identifier);
+ cookie.Values[escapedIdentifier] = encryptedToken;
this.httpContext.Response.Cookies.Set(cookie);
}
@@ -81,8 +82,9 @@ namespace DotNetOpenAuth.OAuth {
return new KeyValuePair<string, string>();
}
- string identifier = cookie.Values.GetKey(0);
- string secret = DecodeAndUnprotectToken(identifier, cookie.Values[identifier]);
+ string escapedIdentifier = cookie.Values.GetKey(0);
+ string identifier = Uri.UnescapeDataString(escapedIdentifier);
+ string secret = DecodeAndUnprotectToken(identifier, cookie.Values[escapedIdentifier]);
return new KeyValuePair<string, string>(identifier, secret);
}