diff options
Diffstat (limited to 'src/DotNetOpenAuth.Core/Messaging')
-rw-r--r-- | src/DotNetOpenAuth.Core/Messaging/MessagingUtilities.cs | 9 |
1 files changed, 7 insertions, 2 deletions
diff --git a/src/DotNetOpenAuth.Core/Messaging/MessagingUtilities.cs b/src/DotNetOpenAuth.Core/Messaging/MessagingUtilities.cs index cfb9da3..337c86d 100644 --- a/src/DotNetOpenAuth.Core/Messaging/MessagingUtilities.cs +++ b/src/DotNetOpenAuth.Core/Messaging/MessagingUtilities.cs @@ -1205,8 +1205,13 @@ namespace DotNetOpenAuth.Messaging { foreach (string headerName in request.Headers) { string[] headerValues = request.Headers.GetValues(headerName); - if (!message.Headers.TryAddWithoutValidation(headerName, headerValues)) { - message.Content.Headers.TryAddWithoutValidation(headerName, headerValues); + if (headerName == "Authorization" && headerValues.Length > 1) { + // The TryAddWithoutValidation doesn't do this quite right, so do it by hand. + message.Headers.Authorization = AuthenticationHeaderValue.Parse(string.Join(",", headerValues)); + } else { + if (!message.Headers.TryAddWithoutValidation(headerName, headerValues)) { + message.Content.Headers.TryAddWithoutValidation(headerName, headerValues); + } } } } |