diff options
author | Andrew Arnott <andrewarnott@gmail.com> | 2013-06-09 17:03:41 -0700 |
---|---|---|
committer | Andrew Arnott <andrewarnott@gmail.com> | 2013-06-09 17:03:41 -0700 |
commit | c645128d5a5d768506351190c5741ac9fd19e9f2 (patch) | |
tree | f41a843aa673599a74b2a93c4911e556c5f469f2 /src | |
parent | c4f656a3d8a10b948e9577822d4f849d1586579d (diff) | |
download | DotNetOpenAuth-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.cs | 8 |
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); } |