summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorAndrew Arnott <andrewarnott@gmail.com>2012-11-11 20:41:44 -0800
committerAndrew Arnott <andrewarnott@gmail.com>2012-11-11 20:41:44 -0800
commit055b6567722346a0dbc2dfb1caa183b521c42f5c (patch)
tree97d4d1c4949c345bbe9b91003c20b54fd6cfd9b9
parent31376a37a587523c5b80dbcf3f21b26f1a6bcb76 (diff)
downloadDotNetOpenAuth-055b6567722346a0dbc2dfb1caa183b521c42f5c.zip
DotNetOpenAuth-055b6567722346a0dbc2dfb1caa183b521c42f5c.tar.gz
DotNetOpenAuth-055b6567722346a0dbc2dfb1caa183b521c42f5c.tar.bz2
Fixes an InternalErrorException thrown when decoding corrupted access tokens.
Fixes #178
-rw-r--r--src/DotNetOpenAuth.Core/Messaging/MessagingUtilities.cs2
-rw-r--r--src/DotNetOpenAuth.Test/OAuth2/ResourceServerTests.cs2
2 files changed, 2 insertions, 2 deletions
diff --git a/src/DotNetOpenAuth.Core/Messaging/MessagingUtilities.cs b/src/DotNetOpenAuth.Core/Messaging/MessagingUtilities.cs
index 47d7f39..69b111d 100644
--- a/src/DotNetOpenAuth.Core/Messaging/MessagingUtilities.cs
+++ b/src/DotNetOpenAuth.Core/Messaging/MessagingUtilities.cs
@@ -1015,7 +1015,7 @@ namespace DotNetOpenAuth.Messaging {
missingPaddingCharacters = 0;
break;
default:
- throw ErrorUtilities.ThrowInternal("No more than two padding characters should be present for base64.");
+ throw new ProtocolException(MessagingStrings.DataCorruptionDetected, new ArgumentException("No more than two padding characters should be present for base64."));
}
var builder = new StringBuilder(base64WebSafe, base64WebSafe.Length + missingPaddingCharacters);
builder.Replace('-', '+').Replace('_', '/');
diff --git a/src/DotNetOpenAuth.Test/OAuth2/ResourceServerTests.cs b/src/DotNetOpenAuth.Test/OAuth2/ResourceServerTests.cs
index 97bae2a..4dbb225 100644
--- a/src/DotNetOpenAuth.Test/OAuth2/ResourceServerTests.cs
+++ b/src/DotNetOpenAuth.Test/OAuth2/ResourceServerTests.cs
@@ -60,7 +60,7 @@ namespace DotNetOpenAuth.Test.OAuth2 {
var resourceServer = new ResourceServer(new StandardAccessTokenAnalyzer(AsymmetricKey, null));
var requestHeaders = new NameValueCollection {
- { "Authorization", "Bearer " + accessToken + "zzz" },
+ { "Authorization", "Bearer " + accessToken.Substring(0, accessToken.Length - 1) + "zzz" },
};
var request = new HttpRequestInfo("GET", new Uri("http://localhost/resource"), headers: requestHeaders);
Assert.That(() => resourceServer.GetAccessToken(request), Throws.InstanceOf<ProtocolException>());