diff options
author | Andrew Arnott <andrewarnott@gmail.com> | 2012-03-01 19:38:01 -0800 |
---|---|---|
committer | Andrew Arnott <andrewarnott@gmail.com> | 2012-03-01 19:38:01 -0800 |
commit | bbebfbf5009526501d4a432c0ce7b0f8d325818c (patch) | |
tree | a77971c8ced99bac678e5f520780284aa5d337ef /src | |
parent | 9ffd411fa2115f5cdc4d2c0a473e55b0c82f7dc1 (diff) | |
parent | 3ed1a19d2ba373869e5d1aa285726f3b5b99d0c2 (diff) | |
download | DotNetOpenAuth-bbebfbf5009526501d4a432c0ce7b0f8d325818c.zip DotNetOpenAuth-bbebfbf5009526501d4a432c0ce7b0f8d325818c.tar.gz DotNetOpenAuth-bbebfbf5009526501d4a432c0ce7b0f8d325818c.tar.bz2 |
Merge branch 'master' into webpages
Conflicts:
src/DotNetOpenAuth.sln
Diffstat (limited to 'src')
684 files changed, 4425 insertions, 2447 deletions
diff --git a/src/DotNetOpenAuth.BuildTasks/AddFilesTo7Zip.cs b/src/DotNetOpenAuth.BuildTasks/AddFilesTo7Zip.cs index 8bf3e16..970adb0 100644 --- a/src/DotNetOpenAuth.BuildTasks/AddFilesTo7Zip.cs +++ b/src/DotNetOpenAuth.BuildTasks/AddFilesTo7Zip.cs @@ -1,6 +1,6 @@ //----------------------------------------------------------------------- -// <copyright file="AddFilesTo7Zip.cs" company="Andrew Arnott"> -// Copyright (c) Andrew Arnott. All rights reserved. +// <copyright file="AddFilesTo7Zip.cs" company="Outercurve Foundation"> +// Copyright (c) Outercurve Foundation. All rights reserved. // </copyright> //----------------------------------------------------------------------- diff --git a/src/DotNetOpenAuth.BuildTasks/AddProjectItems.cs b/src/DotNetOpenAuth.BuildTasks/AddProjectItems.cs index 0b84398..625f6fc 100644 --- a/src/DotNetOpenAuth.BuildTasks/AddProjectItems.cs +++ b/src/DotNetOpenAuth.BuildTasks/AddProjectItems.cs @@ -1,6 +1,6 @@ //----------------------------------------------------------------------- -// <copyright file="AddProjectItems.cs" company="Andrew Arnott"> -// Copyright (c) Andrew Arnott. All rights reserved. +// <copyright file="AddProjectItems.cs" company="Outercurve Foundation"> +// Copyright (c) Outercurve Foundation. All rights reserved. // </copyright> //----------------------------------------------------------------------- diff --git a/src/DotNetOpenAuth.BuildTasks/CheckAdminRights.cs b/src/DotNetOpenAuth.BuildTasks/CheckAdminRights.cs index 9cfd35d..c63ac11 100644 --- a/src/DotNetOpenAuth.BuildTasks/CheckAdminRights.cs +++ b/src/DotNetOpenAuth.BuildTasks/CheckAdminRights.cs @@ -1,6 +1,6 @@ //----------------------------------------------------------------------- -// <copyright file="CheckAdminRights.cs" company="Andrew Arnott"> -// Copyright (c) Andrew Arnott. All rights reserved. +// <copyright file="CheckAdminRights.cs" company="Outercurve Foundation"> +// Copyright (c) Outercurve Foundation. All rights reserved. // </copyright> //----------------------------------------------------------------------- diff --git a/src/DotNetOpenAuth.BuildTasks/CopyWithTokenSubstitution.cs b/src/DotNetOpenAuth.BuildTasks/CopyWithTokenSubstitution.cs index 5b097ab..8a2f5d7 100644 --- a/src/DotNetOpenAuth.BuildTasks/CopyWithTokenSubstitution.cs +++ b/src/DotNetOpenAuth.BuildTasks/CopyWithTokenSubstitution.cs @@ -1,6 +1,6 @@ //----------------------------------------------------------------------- -// <copyright file="CopyWithTokenSubstitution.cs" company="Andrew Arnott"> -// Copyright (c) Andrew Arnott. All rights reserved. +// <copyright file="CopyWithTokenSubstitution.cs" company="Outercurve Foundation"> +// Copyright (c) Outercurve Foundation. All rights reserved. // </copyright> //----------------------------------------------------------------------- diff --git a/src/DotNetOpenAuth.BuildTasks/CreateWebApplication.cs b/src/DotNetOpenAuth.BuildTasks/CreateWebApplication.cs index 4980898..229f726 100644 --- a/src/DotNetOpenAuth.BuildTasks/CreateWebApplication.cs +++ b/src/DotNetOpenAuth.BuildTasks/CreateWebApplication.cs @@ -1,6 +1,6 @@ //----------------------------------------------------------------------- -// <copyright file="CreateWebApplication.cs" company="Andrew Arnott"> -// Copyright (c) Andrew Arnott. All rights reserved. +// <copyright file="CreateWebApplication.cs" company="Outercurve Foundation"> +// Copyright (c) Outercurve Foundation. All rights reserved. // </copyright> //----------------------------------------------------------------------- diff --git a/src/DotNetOpenAuth.BuildTasks/DeleteWebApplication.cs b/src/DotNetOpenAuth.BuildTasks/DeleteWebApplication.cs index 930a8c4..6847222 100644 --- a/src/DotNetOpenAuth.BuildTasks/DeleteWebApplication.cs +++ b/src/DotNetOpenAuth.BuildTasks/DeleteWebApplication.cs @@ -1,6 +1,6 @@ //----------------------------------------------------------------------- -// <copyright file="DeleteWebApplication.cs" company="Andrew Arnott"> -// Copyright (c) Andrew Arnott. All rights reserved. +// <copyright file="DeleteWebApplication.cs" company="Outercurve Foundation"> +// Copyright (c) Outercurve Foundation. All rights reserved. // </copyright> //----------------------------------------------------------------------- diff --git a/src/DotNetOpenAuth.BuildTasks/DiscoverProjectTemplates.cs b/src/DotNetOpenAuth.BuildTasks/DiscoverProjectTemplates.cs index f49c9b1..8e2930e 100644 --- a/src/DotNetOpenAuth.BuildTasks/DiscoverProjectTemplates.cs +++ b/src/DotNetOpenAuth.BuildTasks/DiscoverProjectTemplates.cs @@ -1,6 +1,6 @@ //----------------------------------------------------------------------- -// <copyright file="DiscoverProjectTemplates.cs" company="Andrew Arnott"> -// Copyright (c) Andrew Arnott. All rights reserved. +// <copyright file="DiscoverProjectTemplates.cs" company="Outercurve Foundation"> +// Copyright (c) Outercurve Foundation. All rights reserved. // </copyright> //----------------------------------------------------------------------- diff --git a/src/DotNetOpenAuth.BuildTasks/DowngradeProjects.cs b/src/DotNetOpenAuth.BuildTasks/DowngradeProjects.cs index 380bd17..0b2109a 100644 --- a/src/DotNetOpenAuth.BuildTasks/DowngradeProjects.cs +++ b/src/DotNetOpenAuth.BuildTasks/DowngradeProjects.cs @@ -1,6 +1,6 @@ //----------------------------------------------------------------------- -// <copyright file="DowngradeProjects.cs" company="Andrew Arnott"> -// Copyright (c) Andrew Arnott. All rights reserved. +// <copyright file="DowngradeProjects.cs" company="Outercurve Foundation"> +// Copyright (c) Outercurve Foundation. All rights reserved. // </copyright> //----------------------------------------------------------------------- diff --git a/src/DotNetOpenAuth.BuildTasks/FixupReferenceHintPaths.cs b/src/DotNetOpenAuth.BuildTasks/FixupReferenceHintPaths.cs index babaab3..394379a 100644 --- a/src/DotNetOpenAuth.BuildTasks/FixupReferenceHintPaths.cs +++ b/src/DotNetOpenAuth.BuildTasks/FixupReferenceHintPaths.cs @@ -1,6 +1,6 @@ //----------------------------------------------------------------------- -// <copyright file="FixupReferenceHintPaths.cs" company="Andrew Arnott"> -// Copyright (c) Andrew Arnott. All rights reserved. +// <copyright file="FixupReferenceHintPaths.cs" company="Outercurve Foundation"> +// Copyright (c) Outercurve Foundation. All rights reserved. // </copyright> //----------------------------------------------------------------------- diff --git a/src/DotNetOpenAuth.BuildTasks/FixupShippingToolSamples.cs b/src/DotNetOpenAuth.BuildTasks/FixupShippingToolSamples.cs index 6c71740..b2b9694 100644 --- a/src/DotNetOpenAuth.BuildTasks/FixupShippingToolSamples.cs +++ b/src/DotNetOpenAuth.BuildTasks/FixupShippingToolSamples.cs @@ -1,6 +1,6 @@ //----------------------------------------------------------------------- -// <copyright file="FixupShippingToolSamples.cs" company="Andrew Arnott"> -// Copyright (c) Andrew Arnott. All rights reserved. +// <copyright file="FixupShippingToolSamples.cs" company="Outercurve Foundation"> +// Copyright (c) Outercurve Foundation. All rights reserved. // </copyright> //----------------------------------------------------------------------- diff --git a/src/DotNetOpenAuth.BuildTasks/HardLinkCopy.cs b/src/DotNetOpenAuth.BuildTasks/HardLinkCopy.cs index fa7ca06..eb6e7c5 100644 --- a/src/DotNetOpenAuth.BuildTasks/HardLinkCopy.cs +++ b/src/DotNetOpenAuth.BuildTasks/HardLinkCopy.cs @@ -1,6 +1,6 @@ //----------------------------------------------------------------------- -// <copyright file="HardLinkCopy.cs" company="Andrew Arnott"> -// Copyright (c) Andrew Arnott. All rights reserved. +// <copyright file="HardLinkCopy.cs" company="Outercurve Foundation"> +// Copyright (c) Outercurve Foundation. All rights reserved. // </copyright> //----------------------------------------------------------------------- diff --git a/src/DotNetOpenAuth.BuildTasks/JsPack.cs b/src/DotNetOpenAuth.BuildTasks/JsPack.cs index fa8c7f0..9db7b63 100644 --- a/src/DotNetOpenAuth.BuildTasks/JsPack.cs +++ b/src/DotNetOpenAuth.BuildTasks/JsPack.cs @@ -1,6 +1,6 @@ //----------------------------------------------------------------------- -// <copyright file="JsPack.cs" company="Andrew Arnott"> -// Copyright (c) Andrew Arnott. All rights reserved. +// <copyright file="JsPack.cs" company="Outercurve Foundation"> +// Copyright (c) Outercurve Foundation. All rights reserved. // </copyright> //----------------------------------------------------------------------- diff --git a/src/DotNetOpenAuth.BuildTasks/MergeProjectWithVSTemplate.cs b/src/DotNetOpenAuth.BuildTasks/MergeProjectWithVSTemplate.cs index d162cd6..0288957 100644 --- a/src/DotNetOpenAuth.BuildTasks/MergeProjectWithVSTemplate.cs +++ b/src/DotNetOpenAuth.BuildTasks/MergeProjectWithVSTemplate.cs @@ -1,6 +1,6 @@ //----------------------------------------------------------------------- -// <copyright file="MergeProjectWithVSTemplate.cs" company="Andrew Arnott"> -// Copyright (c) Andrew Arnott. All rights reserved. +// <copyright file="MergeProjectWithVSTemplate.cs" company="Outercurve Foundation"> +// Copyright (c) Outercurve Foundation. All rights reserved. // </copyright> //----------------------------------------------------------------------- diff --git a/src/DotNetOpenAuth.BuildTasks/NuGetPack.cs b/src/DotNetOpenAuth.BuildTasks/NuGetPack.cs index 91365e5..0e41e35 100644 --- a/src/DotNetOpenAuth.BuildTasks/NuGetPack.cs +++ b/src/DotNetOpenAuth.BuildTasks/NuGetPack.cs @@ -1,6 +1,6 @@ //----------------------------------------------------------------------- -// <copyright file="NuGetPack.cs" company="Andrew Arnott"> -// Copyright (c) Andrew Arnott. All rights reserved. +// <copyright file="NuGetPack.cs" company="Outercurve Foundation"> +// Copyright (c) Outercurve Foundation. All rights reserved. // </copyright> //----------------------------------------------------------------------- diff --git a/src/DotNetOpenAuth.BuildTasks/PathSegment.cs b/src/DotNetOpenAuth.BuildTasks/PathSegment.cs index 9179c82..f7a72b6 100644 --- a/src/DotNetOpenAuth.BuildTasks/PathSegment.cs +++ b/src/DotNetOpenAuth.BuildTasks/PathSegment.cs @@ -1,6 +1,6 @@ //----------------------------------------------------------------------- -// <copyright file="PathSegment.cs" company="Andrew Arnott"> -// Copyright (c) Andrew Arnott. All rights reserved. +// <copyright file="PathSegment.cs" company="Outercurve Foundation"> +// Copyright (c) Outercurve Foundation. All rights reserved. // </copyright> //----------------------------------------------------------------------- diff --git a/src/DotNetOpenAuth.BuildTasks/PrepareOhlohRelease.cs b/src/DotNetOpenAuth.BuildTasks/PrepareOhlohRelease.cs index fe13824..68e75ef 100644 --- a/src/DotNetOpenAuth.BuildTasks/PrepareOhlohRelease.cs +++ b/src/DotNetOpenAuth.BuildTasks/PrepareOhlohRelease.cs @@ -1,6 +1,6 @@ //----------------------------------------------------------------------- -// <copyright file="PrepareOhlohRelease.cs" company="Andrew Arnott"> -// Copyright (c) Andrew Arnott. All rights reserved. +// <copyright file="PrepareOhlohRelease.cs" company="Outercurve Foundation"> +// Copyright (c) Outercurve Foundation. All rights reserved. // </copyright> //----------------------------------------------------------------------- diff --git a/src/DotNetOpenAuth.BuildTasks/Properties/AssemblyInfo.cs b/src/DotNetOpenAuth.BuildTasks/Properties/AssemblyInfo.cs index 6fdcc21..e8c6484 100644 --- a/src/DotNetOpenAuth.BuildTasks/Properties/AssemblyInfo.cs +++ b/src/DotNetOpenAuth.BuildTasks/Properties/AssemblyInfo.cs @@ -10,7 +10,7 @@ using System.Runtime.InteropServices; [assembly: AssemblyConfiguration("")] [assembly: AssemblyCompany("")] [assembly: AssemblyProduct("CustomMsBuildTasks")] -[assembly: AssemblyCopyright("Copyright © 2008")] +[assembly: AssemblyCopyright("Copyright © 2011 Outercurve Foundation")] [assembly: AssemblyTrademark("")] [assembly: AssemblyCulture("")] diff --git a/src/DotNetOpenAuth.BuildTasks/Publicize.cs b/src/DotNetOpenAuth.BuildTasks/Publicize.cs index f1781a7..af50d06 100644 --- a/src/DotNetOpenAuth.BuildTasks/Publicize.cs +++ b/src/DotNetOpenAuth.BuildTasks/Publicize.cs @@ -1,6 +1,6 @@ //----------------------------------------------------------------------- -// <copyright file="Publicize.cs" company="Andrew Arnott"> -// Copyright (c) Andrew Arnott. All rights reserved. +// <copyright file="Publicize.cs" company="Outercurve Foundation"> +// Copyright (c) Outercurve Foundation. All rights reserved. // </copyright> //----------------------------------------------------------------------- diff --git a/src/DotNetOpenAuth.BuildTasks/Purge.cs b/src/DotNetOpenAuth.BuildTasks/Purge.cs index cf1a214..e6522c0 100644 --- a/src/DotNetOpenAuth.BuildTasks/Purge.cs +++ b/src/DotNetOpenAuth.BuildTasks/Purge.cs @@ -1,6 +1,6 @@ //----------------------------------------------------------------------- -// <copyright file="Purge.cs" company="Andrew Arnott"> -// Copyright (c) Andrew Arnott. All rights reserved. +// <copyright file="Purge.cs" company="Outercurve Foundation"> +// Copyright (c) Outercurve Foundation. All rights reserved. // </copyright> //----------------------------------------------------------------------- diff --git a/src/DotNetOpenAuth.BuildTasks/ReSignDelaySignedAssemblies.cs b/src/DotNetOpenAuth.BuildTasks/ReSignDelaySignedAssemblies.cs index 2bcc160..0d9dba8 100644 --- a/src/DotNetOpenAuth.BuildTasks/ReSignDelaySignedAssemblies.cs +++ b/src/DotNetOpenAuth.BuildTasks/ReSignDelaySignedAssemblies.cs @@ -1,6 +1,6 @@ //----------------------------------------------------------------------- -// <copyright file="ReSignDelaySignedAssemblies.cs" company="Andrew Arnott"> -// Copyright (c) Andrew Arnott. All rights reserved. +// <copyright file="ReSignDelaySignedAssemblies.cs" company="Outercurve Foundation"> +// Copyright (c) Outercurve Foundation. All rights reserved. // </copyright> //----------------------------------------------------------------------- diff --git a/src/DotNetOpenAuth.BuildTasks/RegexFileReplace.cs b/src/DotNetOpenAuth.BuildTasks/RegexFileReplace.cs index 294a859..8f97644 100644 --- a/src/DotNetOpenAuth.BuildTasks/RegexFileReplace.cs +++ b/src/DotNetOpenAuth.BuildTasks/RegexFileReplace.cs @@ -1,6 +1,6 @@ //----------------------------------------------------------------------- -// <copyright file="RegexFileReplace.cs" company="Andrew Arnott"> -// Copyright (c) Andrew Arnott. All rights reserved. +// <copyright file="RegexFileReplace.cs" company="Outercurve Foundation"> +// Copyright (c) Outercurve Foundation. All rights reserved. // </copyright> //----------------------------------------------------------------------- diff --git a/src/DotNetOpenAuth.BuildTasks/SignatureVerification.cs b/src/DotNetOpenAuth.BuildTasks/SignatureVerification.cs index 2e69926..86c36b1 100644 --- a/src/DotNetOpenAuth.BuildTasks/SignatureVerification.cs +++ b/src/DotNetOpenAuth.BuildTasks/SignatureVerification.cs @@ -1,6 +1,6 @@ //----------------------------------------------------------------------- -// <copyright file="SignatureVerification.cs" company="Andrew Arnott"> -// Copyright (c) Andrew Arnott. All rights reserved. +// <copyright file="SignatureVerification.cs" company="Outercurve Foundation"> +// Copyright (c) Outercurve Foundation. All rights reserved. // </copyright> //----------------------------------------------------------------------- diff --git a/src/DotNetOpenAuth.BuildTasks/SnToolTask.cs b/src/DotNetOpenAuth.BuildTasks/SnToolTask.cs index 29896fe..76fa562 100644 --- a/src/DotNetOpenAuth.BuildTasks/SnToolTask.cs +++ b/src/DotNetOpenAuth.BuildTasks/SnToolTask.cs @@ -1,6 +1,6 @@ //----------------------------------------------------------------------- -// <copyright file="SnToolTask.cs" company="Andrew Arnott"> -// Copyright (c) Andrew Arnott. All rights reserved. +// <copyright file="SnToolTask.cs" company="Outercurve Foundation"> +// Copyright (c) Outercurve Foundation. All rights reserved. // </copyright> //----------------------------------------------------------------------- diff --git a/src/DotNetOpenAuth.BuildTasks/Trim.cs b/src/DotNetOpenAuth.BuildTasks/Trim.cs index 972b87d..1f48a79 100644 --- a/src/DotNetOpenAuth.BuildTasks/Trim.cs +++ b/src/DotNetOpenAuth.BuildTasks/Trim.cs @@ -1,6 +1,6 @@ //----------------------------------------------------------------------- -// <copyright file="Trim.cs" company="Andrew Arnott"> -// Copyright (c) Andrew Arnott. All rights reserved. +// <copyright file="Trim.cs" company="Outercurve Foundation"> +// Copyright (c) Outercurve Foundation. All rights reserved. // </copyright> //----------------------------------------------------------------------- diff --git a/src/DotNetOpenAuth.BuildTasks/Utilities.cs b/src/DotNetOpenAuth.BuildTasks/Utilities.cs index 80e1733..4140727 100644 --- a/src/DotNetOpenAuth.BuildTasks/Utilities.cs +++ b/src/DotNetOpenAuth.BuildTasks/Utilities.cs @@ -1,6 +1,6 @@ //----------------------------------------------------------------------- -// <copyright file="Utilities.cs" company="Andrew Arnott"> -// Copyright (c) Andrew Arnott. All rights reserved. +// <copyright file="Utilities.cs" company="Outercurve Foundation"> +// Copyright (c) Outercurve Foundation. All rights reserved. // </copyright> //----------------------------------------------------------------------- diff --git a/src/DotNetOpenAuth.Core.UI/ComponentModel/ClaimTypeSuggestions.cs b/src/DotNetOpenAuth.Core.UI/ComponentModel/ClaimTypeSuggestions.cs index c9f4d96..c97ddbd 100644 --- a/src/DotNetOpenAuth.Core.UI/ComponentModel/ClaimTypeSuggestions.cs +++ b/src/DotNetOpenAuth.Core.UI/ComponentModel/ClaimTypeSuggestions.cs @@ -1,6 +1,6 @@ //----------------------------------------------------------------------- -// <copyright file="ClaimTypeSuggestions.cs" company="Andrew Arnott"> -// Copyright (c) Andrew Arnott. All rights reserved. +// <copyright file="ClaimTypeSuggestions.cs" company="Outercurve Foundation"> +// Copyright (c) Outercurve Foundation. All rights reserved. // </copyright> //----------------------------------------------------------------------- diff --git a/src/DotNetOpenAuth.Core.UI/ComponentModel/ConverterBase.cs b/src/DotNetOpenAuth.Core.UI/ComponentModel/ConverterBase.cs index 404d375..ca17197 100644 --- a/src/DotNetOpenAuth.Core.UI/ComponentModel/ConverterBase.cs +++ b/src/DotNetOpenAuth.Core.UI/ComponentModel/ConverterBase.cs @@ -1,6 +1,6 @@ //----------------------------------------------------------------------- -// <copyright file="ConverterBase.cs" company="Andrew Arnott"> -// Copyright (c) Andrew Arnott. All rights reserved. +// <copyright file="ConverterBase.cs" company="Outercurve Foundation"> +// Copyright (c) Outercurve Foundation. All rights reserved. // </copyright> //----------------------------------------------------------------------- diff --git a/src/DotNetOpenAuth.Core.UI/ComponentModel/SuggestedStringsConverter.cs b/src/DotNetOpenAuth.Core.UI/ComponentModel/SuggestedStringsConverter.cs index 62a4b13..c382716 100644 --- a/src/DotNetOpenAuth.Core.UI/ComponentModel/SuggestedStringsConverter.cs +++ b/src/DotNetOpenAuth.Core.UI/ComponentModel/SuggestedStringsConverter.cs @@ -1,6 +1,6 @@ //----------------------------------------------------------------------- -// <copyright file="SuggestedStringsConverter.cs" company="Andrew Arnott"> -// Copyright (c) Andrew Arnott. All rights reserved. +// <copyright file="SuggestedStringsConverter.cs" company="Outercurve Foundation"> +// Copyright (c) Outercurve Foundation. All rights reserved. // </copyright> //----------------------------------------------------------------------- diff --git a/src/DotNetOpenAuth.Core.UI/ComponentModel/SuggestedStringsConverterContract.cs b/src/DotNetOpenAuth.Core.UI/ComponentModel/SuggestedStringsConverterContract.cs index 1573208..dbd2278 100644 --- a/src/DotNetOpenAuth.Core.UI/ComponentModel/SuggestedStringsConverterContract.cs +++ b/src/DotNetOpenAuth.Core.UI/ComponentModel/SuggestedStringsConverterContract.cs @@ -1,6 +1,6 @@ //----------------------------------------------------------------------- -// <copyright file="SuggestedStringsConverterContract.cs" company="Andrew Arnott"> -// Copyright (c) Andrew Arnott. All rights reserved. +// <copyright file="SuggestedStringsConverterContract.cs" company="Outercurve Foundation"> +// Copyright (c) Outercurve Foundation. All rights reserved. // </copyright> //----------------------------------------------------------------------- diff --git a/src/DotNetOpenAuth.Core.UI/Properties/AssemblyInfo.cs b/src/DotNetOpenAuth.Core.UI/Properties/AssemblyInfo.cs index 3a94681..c383749 100644 --- a/src/DotNetOpenAuth.Core.UI/Properties/AssemblyInfo.cs +++ b/src/DotNetOpenAuth.Core.UI/Properties/AssemblyInfo.cs @@ -1,6 +1,6 @@ //----------------------------------------------------------------------- -// <copyright file="AssemblyInfo.cs" company="Andrew Arnott"> -// Copyright (c) Andrew Arnott. All rights reserved. +// <copyright file="AssemblyInfo.cs" company="Outercurve Foundation"> +// Copyright (c) Outercurve Foundation. All rights reserved. // </copyright> //----------------------------------------------------------------------- @@ -27,7 +27,7 @@ using System.Web.UI; [assembly: AssemblyConfiguration("")] [assembly: AssemblyCompany("")] [assembly: AssemblyProduct("DotNetOpenAuth")] -[assembly: AssemblyCopyright("Copyright © 2008")] +[assembly: AssemblyCopyright("Copyright © 2011 Outercurve Foundation")] [assembly: AssemblyTrademark("")] [assembly: AssemblyCulture("")] [assembly: NeutralResourcesLanguage("en-US")] diff --git a/src/DotNetOpenAuth.Core/Assumes.cs b/src/DotNetOpenAuth.Core/Assumes.cs index 67205a2..b61fbd4 100644 --- a/src/DotNetOpenAuth.Core/Assumes.cs +++ b/src/DotNetOpenAuth.Core/Assumes.cs @@ -1,6 +1,6 @@ //----------------------------------------------------------------------- -// <copyright file="Assumes.cs" company="Andrew Arnott"> -// Copyright (c) Andrew Arnott. All rights reserved. +// <copyright file="Assumes.cs" company="Outercurve Foundation"> +// Copyright (c) Outercurve Foundation. All rights reserved. // </copyright> //----------------------------------------------------------------------- @@ -8,7 +8,9 @@ namespace DotNetOpenAuth { using System; using System.Collections.Generic; using System.Diagnostics; + using System.Diagnostics.CodeAnalysis; using System.Diagnostics.Contracts; + using System.Globalization; using System.Linq; using System.Text; @@ -37,7 +39,7 @@ namespace DotNetOpenAuth { [Pure, DebuggerStepThrough] internal static void True(bool condition, string unformattedMessage, params object[] args) { if (!condition) { - Fail(String.Format(unformattedMessage, args)); + Fail(String.Format(CultureInfo.CurrentCulture, unformattedMessage, args)); } } @@ -57,6 +59,7 @@ namespace DotNetOpenAuth { /// <summary> /// An internal error exception that should never be caught. /// </summary> + [SuppressMessage("Microsoft.Design", "CA1064:ExceptionsShouldBePublic", Justification = "This exception should never be caught.")] [Serializable] private class InternalErrorException : Exception { /// <summary> @@ -69,15 +72,8 @@ namespace DotNetOpenAuth { /// Initializes a new instance of the <see cref="InternalErrorException"/> class. /// </summary> /// <param name="message">The message.</param> - internal InternalErrorException(string message) : base(message) { - } - - /// <summary> - /// Initializes a new instance of the <see cref="InternalErrorException"/> class. - /// </summary> - /// <param name="message">The message.</param> - /// <param name="inner">The inner exception.</param> - internal InternalErrorException(string message, Exception inner) : base(message, inner) { + internal InternalErrorException(string message) + : base(message) { } /// <summary> diff --git a/src/DotNetOpenAuth.Core/Configuration/DotNetOpenAuthSection.cs b/src/DotNetOpenAuth.Core/Configuration/DotNetOpenAuthSection.cs index e0c7fc4..7c03c48 100644 --- a/src/DotNetOpenAuth.Core/Configuration/DotNetOpenAuthSection.cs +++ b/src/DotNetOpenAuth.Core/Configuration/DotNetOpenAuthSection.cs @@ -1,6 +1,6 @@ //----------------------------------------------------------------------- -// <copyright file="DotNetOpenAuthSection.cs" company="Andrew Arnott"> -// Copyright (c) Andrew Arnott. All rights reserved. +// <copyright file="DotNetOpenAuthSection.cs" company="Outercurve Foundation"> +// Copyright (c) Outercurve Foundation. All rights reserved. // </copyright> //----------------------------------------------------------------------- diff --git a/src/DotNetOpenAuth.Core/Configuration/HostNameElement.cs b/src/DotNetOpenAuth.Core/Configuration/HostNameElement.cs index 9df218e..b46ece9 100644 --- a/src/DotNetOpenAuth.Core/Configuration/HostNameElement.cs +++ b/src/DotNetOpenAuth.Core/Configuration/HostNameElement.cs @@ -1,6 +1,6 @@ //----------------------------------------------------------------------- -// <copyright file="HostNameElement.cs" company="Andrew Arnott"> -// Copyright (c) Andrew Arnott. All rights reserved. +// <copyright file="HostNameElement.cs" company="Outercurve Foundation"> +// Copyright (c) Outercurve Foundation. All rights reserved. // </copyright> //----------------------------------------------------------------------- diff --git a/src/DotNetOpenAuth.Core/Configuration/HostNameOrRegexCollection.cs b/src/DotNetOpenAuth.Core/Configuration/HostNameOrRegexCollection.cs index c7d963b..f009ce5 100644 --- a/src/DotNetOpenAuth.Core/Configuration/HostNameOrRegexCollection.cs +++ b/src/DotNetOpenAuth.Core/Configuration/HostNameOrRegexCollection.cs @@ -1,6 +1,6 @@ //----------------------------------------------------------------------- -// <copyright file="HostNameOrRegexCollection.cs" company="Andrew Arnott"> -// Copyright (c) Andrew Arnott. All rights reserved. +// <copyright file="HostNameOrRegexCollection.cs" company="Outercurve Foundation"> +// Copyright (c) Outercurve Foundation. All rights reserved. // </copyright> //----------------------------------------------------------------------- diff --git a/src/DotNetOpenAuth.Core/Configuration/MessagingElement.cs b/src/DotNetOpenAuth.Core/Configuration/MessagingElement.cs index 7c3e242..ff98d36 100644 --- a/src/DotNetOpenAuth.Core/Configuration/MessagingElement.cs +++ b/src/DotNetOpenAuth.Core/Configuration/MessagingElement.cs @@ -1,6 +1,6 @@ //----------------------------------------------------------------------- -// <copyright file="MessagingElement.cs" company="Andrew Arnott"> -// Copyright (c) Andrew Arnott. All rights reserved. +// <copyright file="MessagingElement.cs" company="Outercurve Foundation"> +// Copyright (c) Outercurve Foundation. All rights reserved. // </copyright> //----------------------------------------------------------------------- diff --git a/src/DotNetOpenAuth.Core/Configuration/ReportingElement.cs b/src/DotNetOpenAuth.Core/Configuration/ReportingElement.cs index a8eb7d3..0af8205 100644 --- a/src/DotNetOpenAuth.Core/Configuration/ReportingElement.cs +++ b/src/DotNetOpenAuth.Core/Configuration/ReportingElement.cs @@ -1,6 +1,6 @@ //----------------------------------------------------------------------- -// <copyright file="ReportingElement.cs" company="Andrew Arnott"> -// Copyright (c) Andrew Arnott. All rights reserved. +// <copyright file="ReportingElement.cs" company="Outercurve Foundation"> +// Copyright (c) Outercurve Foundation. All rights reserved. // </copyright> //----------------------------------------------------------------------- diff --git a/src/DotNetOpenAuth.Core/Configuration/TrustedProviderConfigurationCollection.cs b/src/DotNetOpenAuth.Core/Configuration/TrustedProviderConfigurationCollection.cs index 1a287fd..96f60bf 100644 --- a/src/DotNetOpenAuth.Core/Configuration/TrustedProviderConfigurationCollection.cs +++ b/src/DotNetOpenAuth.Core/Configuration/TrustedProviderConfigurationCollection.cs @@ -1,6 +1,6 @@ //----------------------------------------------------------------------- -// <copyright file="TrustedProviderConfigurationCollection.cs" company="Andrew Arnott"> -// Copyright (c) Andrew Arnott. All rights reserved. +// <copyright file="TrustedProviderConfigurationCollection.cs" company="Outercurve Foundation"> +// Copyright (c) Outercurve Foundation. All rights reserved. // </copyright> //----------------------------------------------------------------------- diff --git a/src/DotNetOpenAuth.Core/Configuration/TrustedProviderEndpointConfigurationElement.cs b/src/DotNetOpenAuth.Core/Configuration/TrustedProviderEndpointConfigurationElement.cs index 2576eb0..1911730 100644 --- a/src/DotNetOpenAuth.Core/Configuration/TrustedProviderEndpointConfigurationElement.cs +++ b/src/DotNetOpenAuth.Core/Configuration/TrustedProviderEndpointConfigurationElement.cs @@ -1,6 +1,6 @@ //----------------------------------------------------------------------- -// <copyright file="TrustedProviderEndpointConfigurationElement.cs" company="Andrew Arnott"> -// Copyright (c) Andrew Arnott. All rights reserved. +// <copyright file="TrustedProviderEndpointConfigurationElement.cs" company="Outercurve Foundation"> +// Copyright (c) Outercurve Foundation. All rights reserved. // </copyright> //----------------------------------------------------------------------- diff --git a/src/DotNetOpenAuth.Core/Configuration/TypeConfigurationCollection.cs b/src/DotNetOpenAuth.Core/Configuration/TypeConfigurationCollection.cs index 95b9c50..3e72722 100644 --- a/src/DotNetOpenAuth.Core/Configuration/TypeConfigurationCollection.cs +++ b/src/DotNetOpenAuth.Core/Configuration/TypeConfigurationCollection.cs @@ -1,6 +1,6 @@ //----------------------------------------------------------------------- -// <copyright file="TypeConfigurationCollection.cs" company="Andrew Arnott"> -// Copyright (c) Andrew Arnott. All rights reserved. +// <copyright file="TypeConfigurationCollection.cs" company="Outercurve Foundation"> +// Copyright (c) Outercurve Foundation. All rights reserved. // </copyright> //----------------------------------------------------------------------- diff --git a/src/DotNetOpenAuth.Core/Configuration/TypeConfigurationElement.cs b/src/DotNetOpenAuth.Core/Configuration/TypeConfigurationElement.cs index fb1dee0..edbb614 100644 --- a/src/DotNetOpenAuth.Core/Configuration/TypeConfigurationElement.cs +++ b/src/DotNetOpenAuth.Core/Configuration/TypeConfigurationElement.cs @@ -1,12 +1,13 @@ //----------------------------------------------------------------------- -// <copyright file="TypeConfigurationElement.cs" company="Andrew Arnott"> -// Copyright (c) Andrew Arnott. All rights reserved. +// <copyright file="TypeConfigurationElement.cs" company="Outercurve Foundation"> +// Copyright (c) Outercurve Foundation. All rights reserved. // </copyright> //----------------------------------------------------------------------- namespace DotNetOpenAuth.Configuration { using System; using System.Configuration; + using System.Diagnostics.CodeAnalysis; using System.Diagnostics.Contracts; using System.IO; using System.Reflection; @@ -92,6 +93,7 @@ namespace DotNetOpenAuth.Configuration { /// <param name="defaultValue">The value to return if no type is given in the .config file.</param> /// <param name="allowInternals">if set to <c>true</c> then internal types may be instantiated.</param> /// <returns>The newly instantiated type.</returns> + [SuppressMessage("Microsoft.Reliability", "CA2000:Dispose objects before losing scope", Justification = "No apparent problem. False positive?")] public T CreateInstance(T defaultValue, bool allowInternals) { Contract.Ensures(Contract.Result<T>() != null || Contract.Result<T>() == defaultValue); diff --git a/src/DotNetOpenAuth.Core/Configuration/UntrustedWebRequestElement.cs b/src/DotNetOpenAuth.Core/Configuration/UntrustedWebRequestElement.cs index 43e41d9..b49452a 100644 --- a/src/DotNetOpenAuth.Core/Configuration/UntrustedWebRequestElement.cs +++ b/src/DotNetOpenAuth.Core/Configuration/UntrustedWebRequestElement.cs @@ -1,6 +1,6 @@ //----------------------------------------------------------------------- -// <copyright file="UntrustedWebRequestElement.cs" company="Andrew Arnott"> -// Copyright (c) Andrew Arnott. All rights reserved. +// <copyright file="UntrustedWebRequestElement.cs" company="Outercurve Foundation"> +// Copyright (c) Outercurve Foundation. All rights reserved. // </copyright> //----------------------------------------------------------------------- diff --git a/src/DotNetOpenAuth.Core/DotNetOpenAuth.Core.csproj b/src/DotNetOpenAuth.Core/DotNetOpenAuth.Core.csproj index 5fbd0f3..f669731 100644 --- a/src/DotNetOpenAuth.Core/DotNetOpenAuth.Core.csproj +++ b/src/DotNetOpenAuth.Core/DotNetOpenAuth.Core.csproj @@ -121,7 +121,6 @@ <Compile Include="Configuration\HostNameOrRegexCollection.cs" /> <Compile Include="Configuration\HostNameElement.cs" /> <Compile Include="IEmbeddedResourceRetrieval.cs" /> - <Compile Include="GlobalSuppressions.cs" /> <Compile Include="Logger.cs" /> <Compile Include="Loggers\ILog.cs" /> <Compile Include="Loggers\Log4NetLogger.cs" /> @@ -141,7 +140,6 @@ </ItemGroup> <ItemGroup> <None Include="Configuration\DotNetOpenAuth.xsd" /> - <None Include="Migrated rules for DotNetOpenAuth.ruleset" /> </ItemGroup> <ItemGroup> <EmbeddedResource Include="Strings.resx"> @@ -163,6 +161,11 @@ <ItemGroup> <EmbeddedResource Include="Messaging\MessagingStrings.sr.resx" /> </ItemGroup> + <ItemGroup> + <Reference Include="log4net, Version=1.2.10.0, Culture=neutral, PublicKeyToken=1b44e1d426115821, processorArchitecture=MSIL"> + <SpecificVersion>False</SpecificVersion> + </Reference> + </ItemGroup> <Import Project="$(MSBuildToolsPath)\Microsoft.CSharp.targets" /> <Import Project="$(ProjectRoot)tools\DotNetOpenAuth.targets" /> <Import Project="$([MSBuild]::GetDirectoryNameOfFileAbove($(MSBuildProjectDirectory), EnlistmentInfo.targets))\EnlistmentInfo.targets" Condition=" '$([MSBuild]::GetDirectoryNameOfFileAbove($(MSBuildProjectDirectory), EnlistmentInfo.targets))' != '' " /> diff --git a/src/DotNetOpenAuth.Core/IEmbeddedResourceRetrieval.cs b/src/DotNetOpenAuth.Core/IEmbeddedResourceRetrieval.cs index b9a6fd0..6b05f3e 100644 --- a/src/DotNetOpenAuth.Core/IEmbeddedResourceRetrieval.cs +++ b/src/DotNetOpenAuth.Core/IEmbeddedResourceRetrieval.cs @@ -1,6 +1,6 @@ //----------------------------------------------------------------------- -// <copyright file="IEmbeddedResourceRetrieval.cs" company="Andrew Arnott"> -// Copyright (c) Andrew Arnott. All rights reserved. +// <copyright file="IEmbeddedResourceRetrieval.cs" company="Outercurve Foundation"> +// Copyright (c) Outercurve Foundation. All rights reserved. // </copyright> //----------------------------------------------------------------------- diff --git a/src/DotNetOpenAuth.Core/Logger.cs b/src/DotNetOpenAuth.Core/Logger.cs index c9283cd..975b391 100644 --- a/src/DotNetOpenAuth.Core/Logger.cs +++ b/src/DotNetOpenAuth.Core/Logger.cs @@ -1,6 +1,6 @@ //----------------------------------------------------------------------- -// <copyright file="Logger.cs" company="Andrew Arnott"> -// Copyright (c) Andrew Arnott. All rights reserved. +// <copyright file="Logger.cs" company="Outercurve Foundation"> +// Copyright (c) Outercurve Foundation. All rights reserved. // </copyright> //----------------------------------------------------------------------- diff --git a/src/DotNetOpenAuth.Core/Messaging/BinaryDataBagFormatter.cs b/src/DotNetOpenAuth.Core/Messaging/BinaryDataBagFormatter.cs index 0c20955..4f4bf0e 100644 --- a/src/DotNetOpenAuth.Core/Messaging/BinaryDataBagFormatter.cs +++ b/src/DotNetOpenAuth.Core/Messaging/BinaryDataBagFormatter.cs @@ -1,12 +1,13 @@ //----------------------------------------------------------------------- -// <copyright file="BinaryDataBagFormatter.cs" company="Andrew Arnott"> -// Copyright (c) Andrew Arnott. All rights reserved. +// <copyright file="BinaryDataBagFormatter.cs" company="Outercurve Foundation"> +// Copyright (c) Outercurve Foundation. All rights reserved. // </copyright> //----------------------------------------------------------------------- namespace DotNetOpenAuth.Messaging { using System; using System.Collections.Generic; + using System.Diagnostics.CodeAnalysis; using System.Diagnostics.Contracts; using System.IO; using System.Linq; @@ -52,6 +53,7 @@ namespace DotNetOpenAuth.Messaging { /// </summary> /// <param name="message">The message.</param> /// <returns>The buffer containing the serialized data.</returns> + [SuppressMessage("Microsoft.Reliability", "CA2000:Dispose objects before losing scope", Justification = "No apparent problem. False positive?")] protected override byte[] SerializeCore(T message) { using (var stream = new MemoryStream()) { message.Serialize(stream); @@ -64,6 +66,7 @@ namespace DotNetOpenAuth.Messaging { /// </summary> /// <param name="message">The message instance to initialize with data from the buffer.</param> /// <param name="data">The data buffer.</param> + [SuppressMessage("Microsoft.Reliability", "CA2000:Dispose objects before losing scope", Justification = "No apparent problem. False positive?")] protected override void DeserializeCore(T message, byte[] data) { using (var stream = new MemoryStream(data)) { message.Deserialize(stream); diff --git a/src/DotNetOpenAuth.Core/Messaging/Bindings/AsymmetricCryptoKeyStoreWrapper.cs b/src/DotNetOpenAuth.Core/Messaging/Bindings/AsymmetricCryptoKeyStoreWrapper.cs index 2691202..4cb5337 100644 --- a/src/DotNetOpenAuth.Core/Messaging/Bindings/AsymmetricCryptoKeyStoreWrapper.cs +++ b/src/DotNetOpenAuth.Core/Messaging/Bindings/AsymmetricCryptoKeyStoreWrapper.cs @@ -1,6 +1,6 @@ //----------------------------------------------------------------------- -// <copyright file="AsymmetricCryptoKeyStoreWrapper.cs" company="Andrew Arnott"> -// Copyright (c) Andrew Arnott. All rights reserved. +// <copyright file="AsymmetricCryptoKeyStoreWrapper.cs" company="Outercurve Foundation"> +// Copyright (c) Outercurve Foundation. All rights reserved. // </copyright> //----------------------------------------------------------------------- @@ -154,6 +154,7 @@ namespace DotNetOpenAuth.Messaging.Bindings { /// Invariant conditions. /// </summary> [ContractInvariantMethod] + [SuppressMessage("Microsoft.Performance", "CA1811:AvoidUncalledPrivateCode", Justification = "Code contracts")] [SuppressMessage("Microsoft.Performance", "CA1822:MarkMembersAsStatic", Justification = "Required for code contracts.")] private void ObjectInvariant() { Contract.Invariant(this.EncryptedKey != null); diff --git a/src/DotNetOpenAuth.Core/Messaging/Bindings/CryptoKey.cs b/src/DotNetOpenAuth.Core/Messaging/Bindings/CryptoKey.cs index 7160014..3fa50d4 100644 --- a/src/DotNetOpenAuth.Core/Messaging/Bindings/CryptoKey.cs +++ b/src/DotNetOpenAuth.Core/Messaging/Bindings/CryptoKey.cs @@ -1,6 +1,6 @@ //----------------------------------------------------------------------- -// <copyright file="CryptoKey.cs" company="Andrew Arnott"> -// Copyright (c) Andrew Arnott. All rights reserved. +// <copyright file="CryptoKey.cs" company="Outercurve Foundation"> +// Copyright (c) Outercurve Foundation. All rights reserved. // </copyright> //----------------------------------------------------------------------- diff --git a/src/DotNetOpenAuth.Core/Messaging/Bindings/CryptoKeyCollisionException.cs b/src/DotNetOpenAuth.Core/Messaging/Bindings/CryptoKeyCollisionException.cs index ebd29de..980878d 100644 --- a/src/DotNetOpenAuth.Core/Messaging/Bindings/CryptoKeyCollisionException.cs +++ b/src/DotNetOpenAuth.Core/Messaging/Bindings/CryptoKeyCollisionException.cs @@ -1,6 +1,6 @@ //----------------------------------------------------------------------- -// <copyright file="CryptoKeyCollisionException.cs" company="Andrew Arnott"> -// Copyright (c) Andrew Arnott. All rights reserved. +// <copyright file="CryptoKeyCollisionException.cs" company="Outercurve Foundation"> +// Copyright (c) Outercurve Foundation. All rights reserved. // </copyright> //----------------------------------------------------------------------- diff --git a/src/DotNetOpenAuth.Core/Messaging/Bindings/ExpiredMessageException.cs b/src/DotNetOpenAuth.Core/Messaging/Bindings/ExpiredMessageException.cs index 196946d..5126897 100644 --- a/src/DotNetOpenAuth.Core/Messaging/Bindings/ExpiredMessageException.cs +++ b/src/DotNetOpenAuth.Core/Messaging/Bindings/ExpiredMessageException.cs @@ -1,6 +1,6 @@ //----------------------------------------------------------------------- -// <copyright file="ExpiredMessageException.cs" company="Andrew Arnott"> -// Copyright (c) Andrew Arnott. All rights reserved. +// <copyright file="ExpiredMessageException.cs" company="Outercurve Foundation"> +// Copyright (c) Outercurve Foundation. All rights reserved. // </copyright> //----------------------------------------------------------------------- diff --git a/src/DotNetOpenAuth.Core/Messaging/Bindings/ICryptoKeyStore.cs b/src/DotNetOpenAuth.Core/Messaging/Bindings/ICryptoKeyStore.cs index 861ba89..2e43bba 100644 --- a/src/DotNetOpenAuth.Core/Messaging/Bindings/ICryptoKeyStore.cs +++ b/src/DotNetOpenAuth.Core/Messaging/Bindings/ICryptoKeyStore.cs @@ -1,6 +1,6 @@ //----------------------------------------------------------------------- -// <copyright file="ICryptoKeyStore.cs" company="Andrew Arnott"> -// Copyright (c) Andrew Arnott. All rights reserved. +// <copyright file="ICryptoKeyStore.cs" company="Outercurve Foundation"> +// Copyright (c) Outercurve Foundation. All rights reserved. // </copyright> //----------------------------------------------------------------------- diff --git a/src/DotNetOpenAuth.Core/Messaging/Bindings/IExpiringProtocolMessage.cs b/src/DotNetOpenAuth.Core/Messaging/Bindings/IExpiringProtocolMessage.cs index fc43ae6..a85607e 100644 --- a/src/DotNetOpenAuth.Core/Messaging/Bindings/IExpiringProtocolMessage.cs +++ b/src/DotNetOpenAuth.Core/Messaging/Bindings/IExpiringProtocolMessage.cs @@ -1,6 +1,6 @@ //----------------------------------------------------------------------- -// <copyright file="IExpiringProtocolMessage.cs" company="Andrew Arnott"> -// Copyright (c) Andrew Arnott. All rights reserved. +// <copyright file="IExpiringProtocolMessage.cs" company="Outercurve Foundation"> +// Copyright (c) Outercurve Foundation. All rights reserved. // </copyright> //----------------------------------------------------------------------- diff --git a/src/DotNetOpenAuth.Core/Messaging/Bindings/INonceStore.cs b/src/DotNetOpenAuth.Core/Messaging/Bindings/INonceStore.cs index 7a3e8bb..3ce521d 100644 --- a/src/DotNetOpenAuth.Core/Messaging/Bindings/INonceStore.cs +++ b/src/DotNetOpenAuth.Core/Messaging/Bindings/INonceStore.cs @@ -1,6 +1,6 @@ //----------------------------------------------------------------------- -// <copyright file="INonceStore.cs" company="Andrew Arnott"> -// Copyright (c) Andrew Arnott. All rights reserved. +// <copyright file="INonceStore.cs" company="Outercurve Foundation"> +// Copyright (c) Outercurve Foundation. All rights reserved. // </copyright> //----------------------------------------------------------------------- diff --git a/src/DotNetOpenAuth.Core/Messaging/Bindings/IReplayProtectedProtocolMessage.cs b/src/DotNetOpenAuth.Core/Messaging/Bindings/IReplayProtectedProtocolMessage.cs index 1edf934..faaaeeb 100644 --- a/src/DotNetOpenAuth.Core/Messaging/Bindings/IReplayProtectedProtocolMessage.cs +++ b/src/DotNetOpenAuth.Core/Messaging/Bindings/IReplayProtectedProtocolMessage.cs @@ -1,6 +1,6 @@ //----------------------------------------------------------------------- -// <copyright file="IReplayProtectedProtocolMessage.cs" company="Andrew Arnott"> -// Copyright (c) Andrew Arnott. All rights reserved. +// <copyright file="IReplayProtectedProtocolMessage.cs" company="Outercurve Foundation"> +// Copyright (c) Outercurve Foundation. All rights reserved. // </copyright> //----------------------------------------------------------------------- diff --git a/src/DotNetOpenAuth.Core/Messaging/Bindings/InvalidSignatureException.cs b/src/DotNetOpenAuth.Core/Messaging/Bindings/InvalidSignatureException.cs index 28b7e96..2b266b4 100644 --- a/src/DotNetOpenAuth.Core/Messaging/Bindings/InvalidSignatureException.cs +++ b/src/DotNetOpenAuth.Core/Messaging/Bindings/InvalidSignatureException.cs @@ -1,6 +1,6 @@ //----------------------------------------------------------------------- -// <copyright file="InvalidSignatureException.cs" company="Andrew Arnott"> -// Copyright (c) Andrew Arnott. All rights reserved. +// <copyright file="InvalidSignatureException.cs" company="Outercurve Foundation"> +// Copyright (c) Outercurve Foundation. All rights reserved. // </copyright> //----------------------------------------------------------------------- diff --git a/src/DotNetOpenAuth.Core/Messaging/Bindings/MemoryCryptoKeyStore.cs b/src/DotNetOpenAuth.Core/Messaging/Bindings/MemoryCryptoKeyStore.cs index 63d1953..53bce17 100644 --- a/src/DotNetOpenAuth.Core/Messaging/Bindings/MemoryCryptoKeyStore.cs +++ b/src/DotNetOpenAuth.Core/Messaging/Bindings/MemoryCryptoKeyStore.cs @@ -1,6 +1,6 @@ //----------------------------------------------------------------------- -// <copyright file="MemoryCryptoKeyStore.cs" company="Andrew Arnott"> -// Copyright (c) Andrew Arnott. All rights reserved. +// <copyright file="MemoryCryptoKeyStore.cs" company="Outercurve Foundation"> +// Copyright (c) Outercurve Foundation. All rights reserved. // </copyright> //----------------------------------------------------------------------- diff --git a/src/DotNetOpenAuth.Core/Messaging/Bindings/NonceMemoryStore.cs b/src/DotNetOpenAuth.Core/Messaging/Bindings/NonceMemoryStore.cs index 6e64acc..d069d66 100644 --- a/src/DotNetOpenAuth.Core/Messaging/Bindings/NonceMemoryStore.cs +++ b/src/DotNetOpenAuth.Core/Messaging/Bindings/NonceMemoryStore.cs @@ -1,6 +1,6 @@ //----------------------------------------------------------------------- -// <copyright file="NonceMemoryStore.cs" company="Andrew Arnott"> -// Copyright (c) Andrew Arnott. All rights reserved. +// <copyright file="NonceMemoryStore.cs" company="Outercurve Foundation"> +// Copyright (c) Outercurve Foundation. All rights reserved. // </copyright> //----------------------------------------------------------------------- diff --git a/src/DotNetOpenAuth.Core/Messaging/Bindings/ReplayedMessageException.cs b/src/DotNetOpenAuth.Core/Messaging/Bindings/ReplayedMessageException.cs index 2b8df9d..923a2ae 100644 --- a/src/DotNetOpenAuth.Core/Messaging/Bindings/ReplayedMessageException.cs +++ b/src/DotNetOpenAuth.Core/Messaging/Bindings/ReplayedMessageException.cs @@ -1,6 +1,6 @@ //----------------------------------------------------------------------- -// <copyright file="ReplayedMessageException.cs" company="Andrew Arnott"> -// Copyright (c) Andrew Arnott. All rights reserved. +// <copyright file="ReplayedMessageException.cs" company="Outercurve Foundation"> +// Copyright (c) Outercurve Foundation. All rights reserved. // </copyright> //----------------------------------------------------------------------- diff --git a/src/DotNetOpenAuth.Core/Messaging/Bindings/StandardExpirationBindingElement.cs b/src/DotNetOpenAuth.Core/Messaging/Bindings/StandardExpirationBindingElement.cs index f8c8c6a..7ab78db 100644 --- a/src/DotNetOpenAuth.Core/Messaging/Bindings/StandardExpirationBindingElement.cs +++ b/src/DotNetOpenAuth.Core/Messaging/Bindings/StandardExpirationBindingElement.cs @@ -1,6 +1,6 @@ //----------------------------------------------------------------------- -// <copyright file="StandardExpirationBindingElement.cs" company="Andrew Arnott"> -// Copyright (c) Andrew Arnott. All rights reserved. +// <copyright file="StandardExpirationBindingElement.cs" company="Outercurve Foundation"> +// Copyright (c) Outercurve Foundation. All rights reserved. // </copyright> //----------------------------------------------------------------------- diff --git a/src/DotNetOpenAuth.Core/Messaging/Bindings/StandardReplayProtectionBindingElement.cs b/src/DotNetOpenAuth.Core/Messaging/Bindings/StandardReplayProtectionBindingElement.cs index 78fd1d5..7e39536 100644 --- a/src/DotNetOpenAuth.Core/Messaging/Bindings/StandardReplayProtectionBindingElement.cs +++ b/src/DotNetOpenAuth.Core/Messaging/Bindings/StandardReplayProtectionBindingElement.cs @@ -1,6 +1,6 @@ //----------------------------------------------------------------------- -// <copyright file="StandardReplayProtectionBindingElement.cs" company="Andrew Arnott"> -// Copyright (c) Andrew Arnott. All rights reserved. +// <copyright file="StandardReplayProtectionBindingElement.cs" company="Outercurve Foundation"> +// Copyright (c) Outercurve Foundation. All rights reserved. // </copyright> //----------------------------------------------------------------------- diff --git a/src/DotNetOpenAuth.Core/Messaging/CachedDirectWebResponse.cs b/src/DotNetOpenAuth.Core/Messaging/CachedDirectWebResponse.cs index 2f3a1d9..16e92a8 100644 --- a/src/DotNetOpenAuth.Core/Messaging/CachedDirectWebResponse.cs +++ b/src/DotNetOpenAuth.Core/Messaging/CachedDirectWebResponse.cs @@ -1,6 +1,6 @@ //----------------------------------------------------------------------- -// <copyright file="CachedDirectWebResponse.cs" company="Andrew Arnott"> -// Copyright (c) Andrew Arnott. All rights reserved. +// <copyright file="CachedDirectWebResponse.cs" company="Outercurve Foundation"> +// Copyright (c) Outercurve Foundation. All rights reserved. // </copyright> //----------------------------------------------------------------------- diff --git a/src/DotNetOpenAuth.Core/Messaging/Channel.cs b/src/DotNetOpenAuth.Core/Messaging/Channel.cs index f017214..26a8179 100644 --- a/src/DotNetOpenAuth.Core/Messaging/Channel.cs +++ b/src/DotNetOpenAuth.Core/Messaging/Channel.cs @@ -1,6 +1,6 @@ //----------------------------------------------------------------------- -// <copyright file="Channel.cs" company="Andrew Arnott"> -// Copyright (c) Andrew Arnott. All rights reserved. +// <copyright file="Channel.cs" company="Outercurve Foundation"> +// Copyright (c) Outercurve Foundation. All rights reserved. // </copyright> //----------------------------------------------------------------------- @@ -817,7 +817,7 @@ namespace DotNetOpenAuth.Messaging { if (tooLargeForGet) { ErrorUtilities.VerifyProtocol( (message.HttpMethods & HttpDeliveryMethods.PostRequest) == HttpDeliveryMethods.PostRequest, - "Message too large for a HTTP GET, and HTTP POST is not allowed for this message type."); + MessagingStrings.MessageExceedsGetSizePostNotAllowed); } // If GET didn't work out, for whatever reason... @@ -873,6 +873,7 @@ namespace DotNetOpenAuth.Messaging { /// <param name="message">The message to forward.</param> /// <param name="fields">The pre-serialized fields from the message.</param> /// <returns>The encoded HTTP response.</returns> + [SuppressMessage("Microsoft.Reliability", "CA2000:Dispose objects before losing scope", Justification = "No apparent problem. False positive?")] protected virtual OutgoingWebResponse CreateFormPostResponse(IDirectedProtocolMessage message, IDictionary<string, string> fields) { Requires.NotNull(message, "message"); Requires.True(message.Recipient != null, "message", MessagingStrings.DirectedMessageMissingRecipient); @@ -946,6 +947,7 @@ namespace DotNetOpenAuth.Messaging { /// <param name="message">The message to serialize.</param> /// <returns>A JSON string.</returns> [SuppressMessage("Microsoft.Usage", "CA2202:Do not dispose objects multiple times", Justification = "This Dispose is safe.")] + [SuppressMessage("Microsoft.Reliability", "CA2000:Dispose objects before losing scope", Justification = "No apparent problem. False positive?")] protected virtual string SerializeAsJson(IMessage message) { Requires.NotNull(message, "message"); @@ -966,6 +968,7 @@ namespace DotNetOpenAuth.Messaging { /// </summary> /// <param name="json">A JSON string.</param> /// <returns>The simple "key":"value" pairs from a JSON-encoded object.</returns> + [SuppressMessage("Microsoft.Reliability", "CA2000:Dispose objects before losing scope", Justification = "No apparent problem. False positive?")] protected virtual IDictionary<string, string> DeserializeFromJson(string json) { Requires.NotNullOrEmpty(json, "json"); @@ -1035,6 +1038,22 @@ namespace DotNetOpenAuth.Messaging { } /// <summary> + /// Applies message prescribed HTTP response headers to an outgoing web response. + /// </summary> + /// <param name="message">The message.</param> + /// <param name="response">The HTTP response.</param> + protected void ApplyMessageTemplate(IMessage message, OutgoingWebResponse response) { + Requires.NotNull(message, "message"); + var httpMessage = message as IHttpDirectResponse; + if (httpMessage != null) { + response.Status = httpMessage.HttpStatusCode; + foreach (string headerName in httpMessage.Headers) { + response.Headers.Add(headerName, httpMessage.Headers[headerName]); + } + } + } + + /// <summary> /// Prepares to send a request to the Service Provider as the query string in a GET request. /// </summary> /// <param name="requestMessage">The message to be transmitted to the ServiceProvider.</param> diff --git a/src/DotNetOpenAuth.Core/Messaging/ChannelContract.cs b/src/DotNetOpenAuth.Core/Messaging/ChannelContract.cs index bf313ef..b48d45b 100644 --- a/src/DotNetOpenAuth.Core/Messaging/ChannelContract.cs +++ b/src/DotNetOpenAuth.Core/Messaging/ChannelContract.cs @@ -1,6 +1,6 @@ //----------------------------------------------------------------------- -// <copyright file="ChannelContract.cs" company="Andrew Arnott"> -// Copyright (c) Andrew Arnott. All rights reserved. +// <copyright file="ChannelContract.cs" company="Outercurve Foundation"> +// Copyright (c) Outercurve Foundation. All rights reserved. // </copyright> //----------------------------------------------------------------------- diff --git a/src/DotNetOpenAuth.Core/Messaging/ChannelEventArgs.cs b/src/DotNetOpenAuth.Core/Messaging/ChannelEventArgs.cs index e09e655..f3ebc04 100644 --- a/src/DotNetOpenAuth.Core/Messaging/ChannelEventArgs.cs +++ b/src/DotNetOpenAuth.Core/Messaging/ChannelEventArgs.cs @@ -1,6 +1,6 @@ //----------------------------------------------------------------------- -// <copyright file="ChannelEventArgs.cs" company="Andrew Arnott"> -// Copyright (c) Andrew Arnott. All rights reserved. +// <copyright file="ChannelEventArgs.cs" company="Outercurve Foundation"> +// Copyright (c) Outercurve Foundation. All rights reserved. // </copyright> //----------------------------------------------------------------------- diff --git a/src/DotNetOpenAuth.Core/Messaging/DataBag.cs b/src/DotNetOpenAuth.Core/Messaging/DataBag.cs index 17a7bda..c9c3415 100644 --- a/src/DotNetOpenAuth.Core/Messaging/DataBag.cs +++ b/src/DotNetOpenAuth.Core/Messaging/DataBag.cs @@ -1,6 +1,6 @@ //----------------------------------------------------------------------- -// <copyright file="DataBag.cs" company="Andrew Arnott"> -// Copyright (c) Andrew Arnott. All rights reserved. +// <copyright file="DataBag.cs" company="Outercurve Foundation"> +// Copyright (c) Outercurve Foundation. All rights reserved. // </copyright> //----------------------------------------------------------------------- diff --git a/src/DotNetOpenAuth.Core/Messaging/DataBagFormatterBase.cs b/src/DotNetOpenAuth.Core/Messaging/DataBagFormatterBase.cs index 86ada44..43df1f5 100644 --- a/src/DotNetOpenAuth.Core/Messaging/DataBagFormatterBase.cs +++ b/src/DotNetOpenAuth.Core/Messaging/DataBagFormatterBase.cs @@ -1,12 +1,13 @@ //----------------------------------------------------------------------- -// <copyright file="DataBagFormatterBase.cs" company="Andrew Arnott"> -// Copyright (c) Andrew Arnott. All rights reserved. +// <copyright file="DataBagFormatterBase.cs" company="Outercurve Foundation"> +// Copyright (c) Outercurve Foundation. All rights reserved. // </copyright> //----------------------------------------------------------------------- namespace DotNetOpenAuth.Messaging { using System; using System.Collections.Generic; + using System.Diagnostics.CodeAnalysis; using System.Diagnostics.Contracts; using System.IO; using System.Linq; @@ -143,6 +144,7 @@ namespace DotNetOpenAuth.Messaging { /// </summary> /// <param name="message">The message to serialize. Must not be null.</param> /// <returns>A non-null, non-empty value.</returns> + [SuppressMessage("Microsoft.Reliability", "CA2000:Dispose objects before losing scope", Justification = "No apparent problem. False positive?")] public string Serialize(T message) { message.UtcCreationDate = DateTime.UtcNow; @@ -191,6 +193,7 @@ namespace DotNetOpenAuth.Messaging { /// <param name="containingMessage">The message that contains the <see cref="DataBag"/> serialized value. Must not be nulll.</param> /// <param name="value">The serialized form of the <see cref="DataBag"/> to deserialize. Must not be null or empty.</param> /// <returns>The deserialized value. Never null.</returns> + [SuppressMessage("Microsoft.Reliability", "CA2000:Dispose objects before losing scope", Justification = "No apparent problem. False positive?")] public T Deserialize(IProtocolMessage containingMessage, string value) { string symmetricSecretHandle = null; if (this.encrypted && this.cryptoKeyStore != null) { @@ -271,6 +274,7 @@ namespace DotNetOpenAuth.Messaging { /// <returns> /// <c>true</c> if the signature is valid; otherwise, <c>false</c>. /// </returns> + [SuppressMessage("Microsoft.Reliability", "CA2000:Dispose objects before losing scope", Justification = "No apparent problem. False positive?")] private bool IsSignatureValid(byte[] signedData, byte[] signature, string symmetricSecretHandle) { Requires.NotNull(signedData, "signedData"); Requires.NotNull(signature, "signature"); @@ -292,6 +296,7 @@ namespace DotNetOpenAuth.Messaging { /// <returns> /// The calculated signature. /// </returns> + [SuppressMessage("Microsoft.Reliability", "CA2000:Dispose objects before losing scope", Justification = "No apparent problem. False positive?")] private byte[] CalculateSignature(byte[] bytesToSign, string symmetricSecretHandle) { Requires.NotNull(bytesToSign, "bytesToSign"); Requires.ValidState(this.asymmetricSigning != null || this.cryptoKeyStore != null); @@ -303,7 +308,7 @@ namespace DotNetOpenAuth.Messaging { } } else { var key = this.cryptoKeyStore.GetKey(this.cryptoKeyBucket, symmetricSecretHandle); - ErrorUtilities.VerifyProtocol(key != null, "Missing decryption key."); + ErrorUtilities.VerifyProtocol(key != null, MessagingStrings.MissingDecryptionKeyForHandle, this.cryptoKeyBucket, symmetricSecretHandle); using (var symmetricHasher = new HMACSHA256(key.Key)) { return symmetricHasher.ComputeHash(bytesToSign); } @@ -346,7 +351,7 @@ namespace DotNetOpenAuth.Messaging { return this.asymmetricEncrypting.DecryptWithRandomSymmetricKey(value); } else { var key = this.cryptoKeyStore.GetKey(this.cryptoKeyBucket, symmetricSecretHandle); - ErrorUtilities.VerifyProtocol(key != null, "Missing decryption key."); + ErrorUtilities.VerifyProtocol(key != null, MessagingStrings.MissingDecryptionKeyForHandle, this.cryptoKeyBucket, symmetricSecretHandle); return MessagingUtilities.Decrypt(value, key.Key); } } diff --git a/src/DotNetOpenAuth.Core/Messaging/DirectWebRequestOptions.cs b/src/DotNetOpenAuth.Core/Messaging/DirectWebRequestOptions.cs index f3ce805..7adfd78 100644 --- a/src/DotNetOpenAuth.Core/Messaging/DirectWebRequestOptions.cs +++ b/src/DotNetOpenAuth.Core/Messaging/DirectWebRequestOptions.cs @@ -1,6 +1,6 @@ //----------------------------------------------------------------------- -// <copyright file="DirectWebRequestOptions.cs" company="Andrew Arnott"> -// Copyright (c) Andrew Arnott. All rights reserved. +// <copyright file="DirectWebRequestOptions.cs" company="Outercurve Foundation"> +// Copyright (c) Outercurve Foundation. All rights reserved. // </copyright> //----------------------------------------------------------------------- diff --git a/src/DotNetOpenAuth.Core/Messaging/EmptyDictionary.cs b/src/DotNetOpenAuth.Core/Messaging/EmptyDictionary.cs index 9db5169..a686d45 100644 --- a/src/DotNetOpenAuth.Core/Messaging/EmptyDictionary.cs +++ b/src/DotNetOpenAuth.Core/Messaging/EmptyDictionary.cs @@ -1,6 +1,6 @@ //----------------------------------------------------------------------- -// <copyright file="EmptyDictionary.cs" company="Andrew Arnott"> -// Copyright (c) Andrew Arnott. All rights reserved. +// <copyright file="EmptyDictionary.cs" company="Outercurve Foundation"> +// Copyright (c) Outercurve Foundation. All rights reserved. // </copyright> //----------------------------------------------------------------------- diff --git a/src/DotNetOpenAuth.Core/Messaging/EmptyEnumerator.cs b/src/DotNetOpenAuth.Core/Messaging/EmptyEnumerator.cs index f37e3d4..f436cdc 100644 --- a/src/DotNetOpenAuth.Core/Messaging/EmptyEnumerator.cs +++ b/src/DotNetOpenAuth.Core/Messaging/EmptyEnumerator.cs @@ -1,6 +1,6 @@ //----------------------------------------------------------------------- -// <copyright file="EmptyEnumerator.cs" company="Andrew Arnott"> -// Copyright (c) Andrew Arnott. All rights reserved. +// <copyright file="EmptyEnumerator.cs" company="Outercurve Foundation"> +// Copyright (c) Outercurve Foundation. All rights reserved. // </copyright> //----------------------------------------------------------------------- diff --git a/src/DotNetOpenAuth.Core/Messaging/EmptyList.cs b/src/DotNetOpenAuth.Core/Messaging/EmptyList.cs index 68cdabd..6790e19 100644 --- a/src/DotNetOpenAuth.Core/Messaging/EmptyList.cs +++ b/src/DotNetOpenAuth.Core/Messaging/EmptyList.cs @@ -1,6 +1,6 @@ //----------------------------------------------------------------------- -// <copyright file="EmptyList.cs" company="Andrew Arnott"> -// Copyright (c) Andrew Arnott. All rights reserved. +// <copyright file="EmptyList.cs" company="Outercurve Foundation"> +// Copyright (c) Outercurve Foundation. All rights reserved. // </copyright> //----------------------------------------------------------------------- diff --git a/src/DotNetOpenAuth.Core/Messaging/EnumerableCache.cs b/src/DotNetOpenAuth.Core/Messaging/EnumerableCache.cs index f6ea55e..afbdf30 100644 --- a/src/DotNetOpenAuth.Core/Messaging/EnumerableCache.cs +++ b/src/DotNetOpenAuth.Core/Messaging/EnumerableCache.cs @@ -1,6 +1,6 @@ //----------------------------------------------------------------------- -// <copyright file="EnumerableCache.cs" company="Andrew Arnott"> -// Copyright (c) Andrew Arnott. All rights reserved. +// <copyright file="EnumerableCache.cs" company="Outercurve Foundation"> +// Copyright (c) Outercurve Foundation. All rights reserved. // This code is released under the Microsoft Public License (Ms-PL). // </copyright> //----------------------------------------------------------------------- diff --git a/src/DotNetOpenAuth.Core/Messaging/ErrorUtilities.cs b/src/DotNetOpenAuth.Core/Messaging/ErrorUtilities.cs index 129a03d..f499d67 100644 --- a/src/DotNetOpenAuth.Core/Messaging/ErrorUtilities.cs +++ b/src/DotNetOpenAuth.Core/Messaging/ErrorUtilities.cs @@ -1,6 +1,6 @@ //----------------------------------------------------------------------- -// <copyright file="ErrorUtilities.cs" company="Andrew Arnott"> -// Copyright (c) Andrew Arnott. All rights reserved. +// <copyright file="ErrorUtilities.cs" company="Outercurve Foundation"> +// Copyright (c) Outercurve Foundation. All rights reserved. // </copyright> //----------------------------------------------------------------------- diff --git a/src/DotNetOpenAuth.Core/Messaging/HostErrorException.cs b/src/DotNetOpenAuth.Core/Messaging/HostErrorException.cs index 81691b0..0fb9d73 100644 --- a/src/DotNetOpenAuth.Core/Messaging/HostErrorException.cs +++ b/src/DotNetOpenAuth.Core/Messaging/HostErrorException.cs @@ -1,6 +1,6 @@ //----------------------------------------------------------------------- -// <copyright file="HostErrorException.cs" company="Andrew Arnott"> -// Copyright (c) Andrew Arnott. All rights reserved. +// <copyright file="HostErrorException.cs" company="Outercurve Foundation"> +// Copyright (c) Outercurve Foundation. All rights reserved. // </copyright> //----------------------------------------------------------------------- diff --git a/src/DotNetOpenAuth.Core/Messaging/HttpDeliveryMethods.cs b/src/DotNetOpenAuth.Core/Messaging/HttpDeliveryMethods.cs index 1443fff..c92b9de 100644 --- a/src/DotNetOpenAuth.Core/Messaging/HttpDeliveryMethods.cs +++ b/src/DotNetOpenAuth.Core/Messaging/HttpDeliveryMethods.cs @@ -1,6 +1,6 @@ //----------------------------------------------------------------------- -// <copyright file="HttpDeliveryMethods.cs" company="Andrew Arnott"> -// Copyright (c) Andrew Arnott. All rights reserved. +// <copyright file="HttpDeliveryMethods.cs" company="Outercurve Foundation"> +// Copyright (c) Outercurve Foundation. All rights reserved. // </copyright> //----------------------------------------------------------------------- diff --git a/src/DotNetOpenAuth.Core/Messaging/HttpRequestInfo.cs b/src/DotNetOpenAuth.Core/Messaging/HttpRequestInfo.cs index ad5b832..579225b 100644 --- a/src/DotNetOpenAuth.Core/Messaging/HttpRequestInfo.cs +++ b/src/DotNetOpenAuth.Core/Messaging/HttpRequestInfo.cs @@ -1,6 +1,6 @@ //----------------------------------------------------------------------- -// <copyright file="HttpRequestInfo.cs" company="Andrew Arnott"> -// Copyright (c) Andrew Arnott. All rights reserved. +// <copyright file="HttpRequestInfo.cs" company="Outercurve Foundation"> +// Copyright (c) Outercurve Foundation. All rights reserved. // </copyright> //----------------------------------------------------------------------- diff --git a/src/DotNetOpenAuth.Core/Messaging/IChannelBindingElement.cs b/src/DotNetOpenAuth.Core/Messaging/IChannelBindingElement.cs index 9dac9b3..1047ec5 100644 --- a/src/DotNetOpenAuth.Core/Messaging/IChannelBindingElement.cs +++ b/src/DotNetOpenAuth.Core/Messaging/IChannelBindingElement.cs @@ -1,6 +1,6 @@ //----------------------------------------------------------------------- -// <copyright file="IChannelBindingElement.cs" company="Andrew Arnott"> -// Copyright (c) Andrew Arnott. All rights reserved. +// <copyright file="IChannelBindingElement.cs" company="Outercurve Foundation"> +// Copyright (c) Outercurve Foundation. All rights reserved. // </copyright> //----------------------------------------------------------------------- diff --git a/src/DotNetOpenAuth.Core/Messaging/IDataBagFormatter.cs b/src/DotNetOpenAuth.Core/Messaging/IDataBagFormatter.cs index fd1c15d..f911264 100644 --- a/src/DotNetOpenAuth.Core/Messaging/IDataBagFormatter.cs +++ b/src/DotNetOpenAuth.Core/Messaging/IDataBagFormatter.cs @@ -1,6 +1,6 @@ //----------------------------------------------------------------------- -// <copyright file="IDataBagFormatter.cs" company="Andrew Arnott"> -// Copyright (c) Andrew Arnott. All rights reserved. +// <copyright file="IDataBagFormatter.cs" company="Outercurve Foundation"> +// Copyright (c) Outercurve Foundation. All rights reserved. // </copyright> //----------------------------------------------------------------------- diff --git a/src/DotNetOpenAuth.Core/Messaging/IDirectResponseProtocolMessage.cs b/src/DotNetOpenAuth.Core/Messaging/IDirectResponseProtocolMessage.cs index 3b4da6c..8b81a74 100644 --- a/src/DotNetOpenAuth.Core/Messaging/IDirectResponseProtocolMessage.cs +++ b/src/DotNetOpenAuth.Core/Messaging/IDirectResponseProtocolMessage.cs @@ -1,6 +1,6 @@ //----------------------------------------------------------------------- -// <copyright file="IDirectResponseProtocolMessage.cs" company="Andrew Arnott"> -// Copyright (c) Andrew Arnott. All rights reserved. +// <copyright file="IDirectResponseProtocolMessage.cs" company="Outercurve Foundation"> +// Copyright (c) Outercurve Foundation. All rights reserved. // </copyright> //----------------------------------------------------------------------- diff --git a/src/DotNetOpenAuth.Core/Messaging/IDirectWebRequestHandler.cs b/src/DotNetOpenAuth.Core/Messaging/IDirectWebRequestHandler.cs index add35f9..7878405 100644 --- a/src/DotNetOpenAuth.Core/Messaging/IDirectWebRequestHandler.cs +++ b/src/DotNetOpenAuth.Core/Messaging/IDirectWebRequestHandler.cs @@ -1,6 +1,6 @@ //----------------------------------------------------------------------- -// <copyright file="IDirectWebRequestHandler.cs" company="Andrew Arnott"> -// Copyright (c) Andrew Arnott. All rights reserved. +// <copyright file="IDirectWebRequestHandler.cs" company="Outercurve Foundation"> +// Copyright (c) Outercurve Foundation. All rights reserved. // </copyright> //----------------------------------------------------------------------- diff --git a/src/DotNetOpenAuth.Core/Messaging/IDirectedProtocolMessage.cs b/src/DotNetOpenAuth.Core/Messaging/IDirectedProtocolMessage.cs index 4342d45..79cbec4 100644 --- a/src/DotNetOpenAuth.Core/Messaging/IDirectedProtocolMessage.cs +++ b/src/DotNetOpenAuth.Core/Messaging/IDirectedProtocolMessage.cs @@ -1,6 +1,6 @@ //----------------------------------------------------------------------- -// <copyright file="IDirectedProtocolMessage.cs" company="Andrew Arnott"> -// Copyright (c) Andrew Arnott. All rights reserved. +// <copyright file="IDirectedProtocolMessage.cs" company="Outercurve Foundation"> +// Copyright (c) Outercurve Foundation. All rights reserved. // </copyright> //----------------------------------------------------------------------- diff --git a/src/DotNetOpenAuth.Core/Messaging/IExtensionMessage.cs b/src/DotNetOpenAuth.Core/Messaging/IExtensionMessage.cs index 5fc05a6..a2032bb 100644 --- a/src/DotNetOpenAuth.Core/Messaging/IExtensionMessage.cs +++ b/src/DotNetOpenAuth.Core/Messaging/IExtensionMessage.cs @@ -1,6 +1,6 @@ //----------------------------------------------------------------------- -// <copyright file="IExtensionMessage.cs" company="Andrew Arnott"> -// Copyright (c) Andrew Arnott. All rights reserved. +// <copyright file="IExtensionMessage.cs" company="Outercurve Foundation"> +// Copyright (c) Outercurve Foundation. All rights reserved. // </copyright> //----------------------------------------------------------------------- diff --git a/src/DotNetOpenAuth.Core/Messaging/IHttpDirectResponse.cs b/src/DotNetOpenAuth.Core/Messaging/IHttpDirectResponse.cs index 20c3d6f..d942366 100644 --- a/src/DotNetOpenAuth.Core/Messaging/IHttpDirectResponse.cs +++ b/src/DotNetOpenAuth.Core/Messaging/IHttpDirectResponse.cs @@ -1,6 +1,6 @@ //----------------------------------------------------------------------- -// <copyright file="IHttpDirectResponse.cs" company="Andrew Arnott"> -// Copyright (c) Andrew Arnott. All rights reserved. +// <copyright file="IHttpDirectResponse.cs" company="Outercurve Foundation"> +// Copyright (c) Outercurve Foundation. All rights reserved. // </copyright> //----------------------------------------------------------------------- diff --git a/src/DotNetOpenAuth.Core/Messaging/IHttpDirectResponseContract.cs b/src/DotNetOpenAuth.Core/Messaging/IHttpDirectResponseContract.cs index b1ddba2..a04ba62 100644 --- a/src/DotNetOpenAuth.Core/Messaging/IHttpDirectResponseContract.cs +++ b/src/DotNetOpenAuth.Core/Messaging/IHttpDirectResponseContract.cs @@ -1,6 +1,6 @@ //----------------------------------------------------------------------- -// <copyright file="IHttpDirectResponseContract.cs" company="Andrew Arnott"> -// Copyright (c) Andrew Arnott. All rights reserved. +// <copyright file="IHttpDirectResponseContract.cs" company="Outercurve Foundation"> +// Copyright (c) Outercurve Foundation. All rights reserved. // </copyright> //----------------------------------------------------------------------- diff --git a/src/DotNetOpenAuth.Core/Messaging/IHttpIndirectResponse.cs b/src/DotNetOpenAuth.Core/Messaging/IHttpIndirectResponse.cs index 7d0fe0c..e0e8665 100644 --- a/src/DotNetOpenAuth.Core/Messaging/IHttpIndirectResponse.cs +++ b/src/DotNetOpenAuth.Core/Messaging/IHttpIndirectResponse.cs @@ -1,6 +1,6 @@ //----------------------------------------------------------------------- -// <copyright file="IHttpIndirectResponse.cs" company="Andrew Arnott"> -// Copyright (c) Andrew Arnott. All rights reserved. +// <copyright file="IHttpIndirectResponse.cs" company="Outercurve Foundation"> +// Copyright (c) Outercurve Foundation. All rights reserved. // </copyright> //----------------------------------------------------------------------- diff --git a/src/DotNetOpenAuth.Core/Messaging/IMessage.cs b/src/DotNetOpenAuth.Core/Messaging/IMessage.cs index e91a160..62673ef 100644 --- a/src/DotNetOpenAuth.Core/Messaging/IMessage.cs +++ b/src/DotNetOpenAuth.Core/Messaging/IMessage.cs @@ -1,6 +1,6 @@ //----------------------------------------------------------------------- -// <copyright file="IMessage.cs" company="Andrew Arnott"> -// Copyright (c) Andrew Arnott. All rights reserved. +// <copyright file="IMessage.cs" company="Outercurve Foundation"> +// Copyright (c) Outercurve Foundation. All rights reserved. // </copyright> //----------------------------------------------------------------------- diff --git a/src/DotNetOpenAuth.Core/Messaging/IMessageFactory.cs b/src/DotNetOpenAuth.Core/Messaging/IMessageFactory.cs index b44bbbf..e45ac1d 100644 --- a/src/DotNetOpenAuth.Core/Messaging/IMessageFactory.cs +++ b/src/DotNetOpenAuth.Core/Messaging/IMessageFactory.cs @@ -1,6 +1,6 @@ //----------------------------------------------------------------------- -// <copyright file="IMessageFactory.cs" company="Andrew Arnott"> -// Copyright (c) Andrew Arnott. All rights reserved. +// <copyright file="IMessageFactory.cs" company="Outercurve Foundation"> +// Copyright (c) Outercurve Foundation. All rights reserved. // </copyright> //----------------------------------------------------------------------- diff --git a/src/DotNetOpenAuth.Core/Messaging/IMessageOriginalPayload.cs b/src/DotNetOpenAuth.Core/Messaging/IMessageOriginalPayload.cs index d18be20..099f54b 100644 --- a/src/DotNetOpenAuth.Core/Messaging/IMessageOriginalPayload.cs +++ b/src/DotNetOpenAuth.Core/Messaging/IMessageOriginalPayload.cs @@ -1,6 +1,6 @@ //----------------------------------------------------------------------- -// <copyright file="IMessageOriginalPayload.cs" company="Andrew Arnott"> -// Copyright (c) Andrew Arnott. All rights reserved. +// <copyright file="IMessageOriginalPayload.cs" company="Outercurve Foundation"> +// Copyright (c) Outercurve Foundation. All rights reserved. // </copyright> //----------------------------------------------------------------------- diff --git a/src/DotNetOpenAuth.Core/Messaging/IMessageWithBinaryData.cs b/src/DotNetOpenAuth.Core/Messaging/IMessageWithBinaryData.cs index 32ae227..60e1f50 100644 --- a/src/DotNetOpenAuth.Core/Messaging/IMessageWithBinaryData.cs +++ b/src/DotNetOpenAuth.Core/Messaging/IMessageWithBinaryData.cs @@ -1,6 +1,6 @@ //----------------------------------------------------------------------- -// <copyright file="IMessageWithBinaryData.cs" company="Andrew Arnott"> -// Copyright (c) Andrew Arnott. All rights reserved. +// <copyright file="IMessageWithBinaryData.cs" company="Outercurve Foundation"> +// Copyright (c) Outercurve Foundation. All rights reserved. // </copyright> //----------------------------------------------------------------------- diff --git a/src/DotNetOpenAuth.Core/Messaging/IMessageWithEvents.cs b/src/DotNetOpenAuth.Core/Messaging/IMessageWithEvents.cs index 51e00fc..965b074 100644 --- a/src/DotNetOpenAuth.Core/Messaging/IMessageWithEvents.cs +++ b/src/DotNetOpenAuth.Core/Messaging/IMessageWithEvents.cs @@ -1,6 +1,6 @@ //----------------------------------------------------------------------- -// <copyright file="IMessageWithEvents.cs" company="Andrew Arnott"> -// Copyright (c) Andrew Arnott. All rights reserved. +// <copyright file="IMessageWithEvents.cs" company="Outercurve Foundation"> +// Copyright (c) Outercurve Foundation. All rights reserved. // </copyright> //----------------------------------------------------------------------- diff --git a/src/DotNetOpenAuth.Core/Messaging/IProtocolMessage.cs b/src/DotNetOpenAuth.Core/Messaging/IProtocolMessage.cs index cf43360..5cbbdce 100644 --- a/src/DotNetOpenAuth.Core/Messaging/IProtocolMessage.cs +++ b/src/DotNetOpenAuth.Core/Messaging/IProtocolMessage.cs @@ -1,6 +1,6 @@ //----------------------------------------------------------------------- -// <copyright file="IProtocolMessage.cs" company="Andrew Arnott"> -// Copyright (c) Andrew Arnott. All rights reserved. +// <copyright file="IProtocolMessage.cs" company="Outercurve Foundation"> +// Copyright (c) Outercurve Foundation. All rights reserved. // </copyright> //----------------------------------------------------------------------- diff --git a/src/DotNetOpenAuth.Core/Messaging/IProtocolMessageWithExtensions.cs b/src/DotNetOpenAuth.Core/Messaging/IProtocolMessageWithExtensions.cs index 44c4cbb..c492e65 100644 --- a/src/DotNetOpenAuth.Core/Messaging/IProtocolMessageWithExtensions.cs +++ b/src/DotNetOpenAuth.Core/Messaging/IProtocolMessageWithExtensions.cs @@ -1,6 +1,6 @@ //----------------------------------------------------------------------- -// <copyright file="IProtocolMessageWithExtensions.cs" company="Andrew Arnott"> -// Copyright (c) Andrew Arnott. All rights reserved. +// <copyright file="IProtocolMessageWithExtensions.cs" company="Outercurve Foundation"> +// Copyright (c) Outercurve Foundation. All rights reserved. // </copyright> //----------------------------------------------------------------------- diff --git a/src/DotNetOpenAuth.Core/Messaging/IStreamSerializingDataBag.cs b/src/DotNetOpenAuth.Core/Messaging/IStreamSerializingDataBag.cs index 2003f9e..cc82d6a 100644 --- a/src/DotNetOpenAuth.Core/Messaging/IStreamSerializingDataBag.cs +++ b/src/DotNetOpenAuth.Core/Messaging/IStreamSerializingDataBag.cs @@ -1,6 +1,6 @@ //----------------------------------------------------------------------- -// <copyright file="IStreamSerializingDataBag.cs" company="Andrew Arnott"> -// Copyright (c) Andrew Arnott. All rights reserved. +// <copyright file="IStreamSerializingDataBag.cs" company="Outercurve Foundation"> +// Copyright (c) Outercurve Foundation. All rights reserved. // </copyright> //----------------------------------------------------------------------- diff --git a/src/DotNetOpenAuth.Core/Messaging/ITamperResistantProtocolMessage.cs b/src/DotNetOpenAuth.Core/Messaging/ITamperResistantProtocolMessage.cs index 0da6303..8b9501f 100644 --- a/src/DotNetOpenAuth.Core/Messaging/ITamperResistantProtocolMessage.cs +++ b/src/DotNetOpenAuth.Core/Messaging/ITamperResistantProtocolMessage.cs @@ -1,6 +1,6 @@ //----------------------------------------------------------------------- -// <copyright file="ITamperResistantProtocolMessage.cs" company="Andrew Arnott"> -// Copyright (c) Andrew Arnott. All rights reserved. +// <copyright file="ITamperResistantProtocolMessage.cs" company="Outercurve Foundation"> +// Copyright (c) Outercurve Foundation. All rights reserved. // </copyright> //----------------------------------------------------------------------- diff --git a/src/DotNetOpenAuth.Core/Messaging/IncomingWebResponse.cs b/src/DotNetOpenAuth.Core/Messaging/IncomingWebResponse.cs index 90d2f1f..cdb26ae 100644 --- a/src/DotNetOpenAuth.Core/Messaging/IncomingWebResponse.cs +++ b/src/DotNetOpenAuth.Core/Messaging/IncomingWebResponse.cs @@ -1,6 +1,6 @@ //----------------------------------------------------------------------- -// <copyright file="IncomingWebResponse.cs" company="Andrew Arnott"> -// Copyright (c) Andrew Arnott. All rights reserved. +// <copyright file="IncomingWebResponse.cs" company="Outercurve Foundation"> +// Copyright (c) Outercurve Foundation. All rights reserved. // </copyright> //----------------------------------------------------------------------- diff --git a/src/DotNetOpenAuth.Core/Messaging/IncomingWebResponseContract.cs b/src/DotNetOpenAuth.Core/Messaging/IncomingWebResponseContract.cs index 8c9a6df..5c94e47 100644 --- a/src/DotNetOpenAuth.Core/Messaging/IncomingWebResponseContract.cs +++ b/src/DotNetOpenAuth.Core/Messaging/IncomingWebResponseContract.cs @@ -1,6 +1,6 @@ //----------------------------------------------------------------------- -// <copyright file="IncomingWebResponseContract.cs" company="Andrew Arnott"> -// Copyright (c) Andrew Arnott. All rights reserved. +// <copyright file="IncomingWebResponseContract.cs" company="Outercurve Foundation"> +// Copyright (c) Outercurve Foundation. All rights reserved. // </copyright> //----------------------------------------------------------------------- diff --git a/src/DotNetOpenAuth.Core/Messaging/InternalErrorException.cs b/src/DotNetOpenAuth.Core/Messaging/InternalErrorException.cs index 32b44f2..25c3f91 100644 --- a/src/DotNetOpenAuth.Core/Messaging/InternalErrorException.cs +++ b/src/DotNetOpenAuth.Core/Messaging/InternalErrorException.cs @@ -1,6 +1,6 @@ //----------------------------------------------------------------------- -// <copyright file="InternalErrorException.cs" company="Andrew Arnott"> -// Copyright (c) Andrew Arnott. All rights reserved. +// <copyright file="InternalErrorException.cs" company="Outercurve Foundation"> +// Copyright (c) Outercurve Foundation. All rights reserved. // </copyright> //----------------------------------------------------------------------- diff --git a/src/DotNetOpenAuth.Core/Messaging/KeyedCollectionDelegate.cs b/src/DotNetOpenAuth.Core/Messaging/KeyedCollectionDelegate.cs index c0a08df..d0988c8 100644 --- a/src/DotNetOpenAuth.Core/Messaging/KeyedCollectionDelegate.cs +++ b/src/DotNetOpenAuth.Core/Messaging/KeyedCollectionDelegate.cs @@ -1,6 +1,6 @@ //----------------------------------------------------------------------- -// <copyright file="KeyedCollectionDelegate.cs" company="Andrew Arnott"> -// Copyright (c) Andrew Arnott. All rights reserved. +// <copyright file="KeyedCollectionDelegate.cs" company="Outercurve Foundation"> +// Copyright (c) Outercurve Foundation. All rights reserved. // </copyright> //----------------------------------------------------------------------- diff --git a/src/DotNetOpenAuth.Core/Messaging/MessagePartAttribute.cs b/src/DotNetOpenAuth.Core/Messaging/MessagePartAttribute.cs index 22c660c..6fd95ee 100644 --- a/src/DotNetOpenAuth.Core/Messaging/MessagePartAttribute.cs +++ b/src/DotNetOpenAuth.Core/Messaging/MessagePartAttribute.cs @@ -1,6 +1,6 @@ //----------------------------------------------------------------------- -// <copyright file="MessagePartAttribute.cs" company="Andrew Arnott"> -// Copyright (c) Andrew Arnott. All rights reserved. +// <copyright file="MessagePartAttribute.cs" company="Outercurve Foundation"> +// Copyright (c) Outercurve Foundation. All rights reserved. // </copyright> //----------------------------------------------------------------------- diff --git a/src/DotNetOpenAuth.Core/Messaging/MessageProtections.cs b/src/DotNetOpenAuth.Core/Messaging/MessageProtections.cs index c78c92f..d7b43ae 100644 --- a/src/DotNetOpenAuth.Core/Messaging/MessageProtections.cs +++ b/src/DotNetOpenAuth.Core/Messaging/MessageProtections.cs @@ -1,6 +1,6 @@ //----------------------------------------------------------------------- -// <copyright file="MessageProtections.cs" company="Andrew Arnott"> -// Copyright (c) Andrew Arnott. All rights reserved. +// <copyright file="MessageProtections.cs" company="Outercurve Foundation"> +// Copyright (c) Outercurve Foundation. All rights reserved. // </copyright> //----------------------------------------------------------------------- diff --git a/src/DotNetOpenAuth.Core/Messaging/MessageReceivingEndpoint.cs b/src/DotNetOpenAuth.Core/Messaging/MessageReceivingEndpoint.cs index ca7c5df..cf5ea92 100644 --- a/src/DotNetOpenAuth.Core/Messaging/MessageReceivingEndpoint.cs +++ b/src/DotNetOpenAuth.Core/Messaging/MessageReceivingEndpoint.cs @@ -1,6 +1,6 @@ //----------------------------------------------------------------------- -// <copyright file="MessageReceivingEndpoint.cs" company="Andrew Arnott"> -// Copyright (c) Andrew Arnott. All rights reserved. +// <copyright file="MessageReceivingEndpoint.cs" company="Outercurve Foundation"> +// Copyright (c) Outercurve Foundation. All rights reserved. // </copyright> //----------------------------------------------------------------------- diff --git a/src/DotNetOpenAuth.Core/Messaging/MessageSerializer.cs b/src/DotNetOpenAuth.Core/Messaging/MessageSerializer.cs index 957ea41..bdca190 100644 --- a/src/DotNetOpenAuth.Core/Messaging/MessageSerializer.cs +++ b/src/DotNetOpenAuth.Core/Messaging/MessageSerializer.cs @@ -1,6 +1,6 @@ //----------------------------------------------------------------------- -// <copyright file="MessageSerializer.cs" company="Andrew Arnott"> -// Copyright (c) Andrew Arnott. All rights reserved. +// <copyright file="MessageSerializer.cs" company="Outercurve Foundation"> +// Copyright (c) Outercurve Foundation. All rights reserved. // </copyright> //----------------------------------------------------------------------- diff --git a/src/DotNetOpenAuth.Core/Messaging/MessageTransport.cs b/src/DotNetOpenAuth.Core/Messaging/MessageTransport.cs index ee06c95..72fc50a 100644 --- a/src/DotNetOpenAuth.Core/Messaging/MessageTransport.cs +++ b/src/DotNetOpenAuth.Core/Messaging/MessageTransport.cs @@ -1,6 +1,6 @@ //----------------------------------------------------------------------- -// <copyright file="MessageTransport.cs" company="Andrew Arnott"> -// Copyright (c) Andrew Arnott. All rights reserved. +// <copyright file="MessageTransport.cs" company="Outercurve Foundation"> +// Copyright (c) Outercurve Foundation. All rights reserved. // </copyright> //----------------------------------------------------------------------- diff --git a/src/DotNetOpenAuth.Core/Messaging/MessagingStrings.Designer.cs b/src/DotNetOpenAuth.Core/Messaging/MessagingStrings.Designer.cs index 3ad2bdd..2fe273f 100644 --- a/src/DotNetOpenAuth.Core/Messaging/MessagingStrings.Designer.cs +++ b/src/DotNetOpenAuth.Core/Messaging/MessagingStrings.Designer.cs @@ -295,6 +295,15 @@ namespace DotNetOpenAuth.Messaging { } /// <summary> + /// Looks up a localized string similar to Message too large for a HTTP GET, and HTTP POST is not allowed for this message type.. + /// </summary> + internal static string MessageExceedsGetSizePostNotAllowed { + get { + return ResourceManager.GetString("MessageExceedsGetSizePostNotAllowed", resourceCulture); + } + } + + /// <summary> /// Looks up a localized string similar to The {0} message does not support extensions.. /// </summary> internal static string MessageNotExtensible { @@ -349,6 +358,15 @@ namespace DotNetOpenAuth.Messaging { } /// <summary> + /// Looks up a localized string similar to Missing decryption key for bucket "{0}" handle "{1}". + /// </summary> + internal static string MissingDecryptionKeyForHandle { + get { + return ResourceManager.GetString("MissingDecryptionKeyForHandle", resourceCulture); + } + } + + /// <summary> /// Looks up a localized string similar to A non-empty string was expected.. /// </summary> internal static string NonEmptyStringExpected { @@ -520,6 +538,15 @@ namespace DotNetOpenAuth.Messaging { } /// <summary> + /// Looks up a localized string similar to Unexpected buffer length.. + /// </summary> + internal static string UnexpectedBufferLength { + get { + return ResourceManager.GetString("UnexpectedBufferLength", resourceCulture); + } + } + + /// <summary> /// Looks up a localized string similar to The array must not be empty.. /// </summary> internal static string UnexpectedEmptyArray { diff --git a/src/DotNetOpenAuth.Core/Messaging/MessagingStrings.resx b/src/DotNetOpenAuth.Core/Messaging/MessagingStrings.resx index 5f3f79a..fbdb63d 100644 --- a/src/DotNetOpenAuth.Core/Messaging/MessagingStrings.resx +++ b/src/DotNetOpenAuth.Core/Messaging/MessagingStrings.resx @@ -324,4 +324,13 @@ <data name="ExpectedParameterWasMissing" xml:space="preserve"> <value>The message part {0} was expected in the {1} message but was not found.</value> </data> + <data name="MessageExceedsGetSizePostNotAllowed" xml:space="preserve"> + <value>Message too large for a HTTP GET, and HTTP POST is not allowed for this message type.</value> + </data> + <data name="MissingDecryptionKeyForHandle" xml:space="preserve"> + <value>Missing decryption key for bucket "{0}" handle "{1}"</value> + </data> + <data name="UnexpectedBufferLength" xml:space="preserve"> + <value>Unexpected buffer length.</value> + </data> </root>
\ No newline at end of file diff --git a/src/DotNetOpenAuth.Core/Messaging/MessagingUtilities.cs b/src/DotNetOpenAuth.Core/Messaging/MessagingUtilities.cs index 2a94791..1305620 100644 --- a/src/DotNetOpenAuth.Core/Messaging/MessagingUtilities.cs +++ b/src/DotNetOpenAuth.Core/Messaging/MessagingUtilities.cs @@ -1,6 +1,6 @@ //----------------------------------------------------------------------- -// <copyright file="MessagingUtilities.cs" company="Andrew Arnott"> -// Copyright (c) Andrew Arnott. All rights reserved. +// <copyright file="MessagingUtilities.cs" company="Outercurve Foundation"> +// Copyright (c) Outercurve Foundation. All rights reserved. // </copyright> //----------------------------------------------------------------------- @@ -427,7 +427,7 @@ namespace DotNetOpenAuth.Messaging { if (trimmedAuth.StartsWith(prefix, StringComparison.OrdinalIgnoreCase)) { // RFC 2617 says this is case INsensitive string data = trimmedAuth.Substring(prefix.Length); return from element in data.Split(CommaArray) - let parts = element.Split(EqualsArray, 2) + let parts = element.Trim().Split(EqualsArray, 2) let key = Uri.UnescapeDataString(parts[0]) let value = Uri.UnescapeDataString(parts[1].Trim(QuoteArray)) select new KeyValuePair<string, string>(key, value); @@ -585,6 +585,7 @@ namespace DotNetOpenAuth.Messaging { /// <param name="buffer">The buffer to encrypt.</param> /// <param name="key">The symmetric secret to use to encrypt the buffer. Allowed values are 128, 192, or 256 bytes in length.</param> /// <returns>The encrypted buffer</returns> + [SuppressMessage("Microsoft.Reliability", "CA2000:Dispose objects before losing scope", Justification = "No apparent problem. False positive?")] internal static byte[] Encrypt(byte[] buffer, byte[] key) { using (SymmetricAlgorithm crypto = CreateSymmetricAlgorithm(key)) { using (var ms = new MemoryStream()) { @@ -609,6 +610,7 @@ namespace DotNetOpenAuth.Messaging { /// <param name="key">The symmetric secret to use to decrypt the buffer. Allowed values are 128, 192, and 256.</param> /// <returns>The encrypted buffer</returns> [SuppressMessage("Microsoft.Usage", "CA2202:Do not dispose objects multiple times", Justification = "This Dispose is safe.")] + [SuppressMessage("Microsoft.Reliability", "CA2000:Dispose objects before losing scope", Justification = "No apparent problem. False positive?")] internal static byte[] Decrypt(byte[] buffer, byte[] key) { using (SymmetricAlgorithm crypto = CreateSymmetricAlgorithm(key)) { using (var ms = new MemoryStream(buffer)) { @@ -664,6 +666,7 @@ namespace DotNetOpenAuth.Messaging { /// <param name="crypto">The asymmetric encryption provider to use for encryption.</param> /// <param name="buffer">The buffer to encrypt.</param> /// <returns>The encrypted data.</returns> + [SuppressMessage("Microsoft.Reliability", "CA2000:Dispose objects before losing scope", Justification = "No apparent problem. False positive?")] internal static byte[] EncryptWithRandomSymmetricKey(this RSACryptoServiceProvider crypto, byte[] buffer) { Requires.NotNull(crypto, "crypto"); Requires.NotNull(buffer, "buffer"); @@ -699,6 +702,7 @@ namespace DotNetOpenAuth.Messaging { /// <param name="buffer">The buffer to decrypt.</param> /// <returns>The decrypted data.</returns> [SuppressMessage("Microsoft.Usage", "CA2202:Do not dispose objects multiple times", Justification = "This Dispose is safe.")] + [SuppressMessage("Microsoft.Reliability", "CA2000:Dispose objects before losing scope", Justification = "No apparent problem. False positive?")] internal static byte[] DecryptWithRandomSymmetricKey(this RSACryptoServiceProvider crypto, byte[] buffer) { Requires.NotNull(crypto, "crypto"); Requires.NotNull(buffer, "buffer"); @@ -781,6 +785,7 @@ namespace DotNetOpenAuth.Messaging { /// <param name="buffer">The buffer to compress.</param> /// <returns>The compressed data.</returns> [SuppressMessage("Microsoft.Usage", "CA2202:Do not dispose objects multiple times", Justification = "This Dispose is safe.")] + [SuppressMessage("Microsoft.Reliability", "CA2000:Dispose objects before losing scope", Justification = "No apparent problem. False positive?")] internal static byte[] Compress(byte[] buffer) { Requires.NotNull(buffer, "buffer"); Contract.Ensures(Contract.Result<byte[]>() != null); @@ -799,6 +804,8 @@ namespace DotNetOpenAuth.Messaging { /// </summary> /// <param name="buffer">The buffer to decompress.</param> /// <returns>The decompressed data.</returns> + [SuppressMessage("Microsoft.Reliability", "CA2000:Dispose objects before losing scope", Justification = "No apparent problem. False positive?")] + [SuppressMessage("Microsoft.Usage", "CA2202:Do not dispose objects multiple times", Justification = "This Dispose is safe.")] internal static byte[] Decompress(byte[] buffer) { Requires.NotNull(buffer, "buffer"); Contract.Ensures(Contract.Result<byte[]>() != null); @@ -1100,12 +1107,18 @@ namespace DotNetOpenAuth.Messaging { /// Tests whether two arrays are equal in contents and ordering. /// </summary> /// <typeparam name="T">The type of elements in the arrays.</typeparam> - /// <param name="first">The first array in the comparison. May not be null.</param> - /// <param name="second">The second array in the comparison. May not be null.</param> + /// <param name="first">The first array in the comparison. May be null.</param> + /// <param name="second">The second array in the comparison. May be null.</param> /// <returns>True if the arrays equal; false otherwise.</returns> internal static bool AreEquivalent<T>(T[] first, T[] second) { - Requires.NotNull(first, "first"); - Requires.NotNull(second, "second"); + if (first == null && second == null) { + return true; + } + + if (first == null || second == null) { + return false; + } + if (first.Length != second.Length) { return false; } @@ -1543,7 +1556,7 @@ namespace DotNetOpenAuth.Messaging { Requires.NotNull(reader, "reader"); int length = reader.ReadInt32(); byte[] buffer = new byte[length]; - ErrorUtilities.VerifyProtocol(reader.Read(buffer, 0, length) == length, "Unexpected buffer length."); + ErrorUtilities.VerifyProtocol(reader.Read(buffer, 0, length) == length, MessagingStrings.UnexpectedBufferLength); return buffer; } @@ -1654,6 +1667,7 @@ namespace DotNetOpenAuth.Messaging { /// </summary> /// <param name="key">The symmetric key to use for encryption/decryption.</param> /// <returns>A symmetric algorithm.</returns> + [SuppressMessage("Microsoft.Reliability", "CA2000:Dispose objects before losing scope", Justification = "No apparent problem. False positive?")] private static SymmetricAlgorithm CreateSymmetricAlgorithm(byte[] key) { SymmetricAlgorithm result = null; try { diff --git a/src/DotNetOpenAuth.Core/Messaging/MultipartPostPart.cs b/src/DotNetOpenAuth.Core/Messaging/MultipartPostPart.cs index f72ad6c..055e4b9 100644 --- a/src/DotNetOpenAuth.Core/Messaging/MultipartPostPart.cs +++ b/src/DotNetOpenAuth.Core/Messaging/MultipartPostPart.cs @@ -1,6 +1,6 @@ //----------------------------------------------------------------------- -// <copyright file="MultipartPostPart.cs" company="Andrew Arnott"> -// Copyright (c) Andrew Arnott. All rights reserved. +// <copyright file="MultipartPostPart.cs" company="Outercurve Foundation"> +// Copyright (c) Outercurve Foundation. All rights reserved. // </copyright> //----------------------------------------------------------------------- diff --git a/src/DotNetOpenAuth.Core/Messaging/NetworkDirectWebResponse.cs b/src/DotNetOpenAuth.Core/Messaging/NetworkDirectWebResponse.cs index 8fb69a1..2c3ddac 100644 --- a/src/DotNetOpenAuth.Core/Messaging/NetworkDirectWebResponse.cs +++ b/src/DotNetOpenAuth.Core/Messaging/NetworkDirectWebResponse.cs @@ -1,6 +1,6 @@ //----------------------------------------------------------------------- -// <copyright file="NetworkDirectWebResponse.cs" company="Andrew Arnott"> -// Copyright (c) Andrew Arnott. All rights reserved. +// <copyright file="NetworkDirectWebResponse.cs" company="Outercurve Foundation"> +// Copyright (c) Outercurve Foundation. All rights reserved. // </copyright> //----------------------------------------------------------------------- diff --git a/src/DotNetOpenAuth.Core/Messaging/OutgoingWebResponse.cs b/src/DotNetOpenAuth.Core/Messaging/OutgoingWebResponse.cs index 026b7c2..67eccce 100644 --- a/src/DotNetOpenAuth.Core/Messaging/OutgoingWebResponse.cs +++ b/src/DotNetOpenAuth.Core/Messaging/OutgoingWebResponse.cs @@ -1,6 +1,6 @@ //----------------------------------------------------------------------- -// <copyright file="OutgoingWebResponse.cs" company="Andrew Arnott"> -// Copyright (c) Andrew Arnott. All rights reserved. +// <copyright file="OutgoingWebResponse.cs" company="Outercurve Foundation"> +// Copyright (c) Outercurve Foundation. All rights reserved. // </copyright> //----------------------------------------------------------------------- diff --git a/src/DotNetOpenAuth.Core/Messaging/OutgoingWebResponseActionResult.cs b/src/DotNetOpenAuth.Core/Messaging/OutgoingWebResponseActionResult.cs index 86dbb58..9569e34 100644 --- a/src/DotNetOpenAuth.Core/Messaging/OutgoingWebResponseActionResult.cs +++ b/src/DotNetOpenAuth.Core/Messaging/OutgoingWebResponseActionResult.cs @@ -1,6 +1,6 @@ //----------------------------------------------------------------------- -// <copyright file="OutgoingWebResponseActionResult.cs" company="Andrew Arnott"> -// Copyright (c) Andrew Arnott. All rights reserved. +// <copyright file="OutgoingWebResponseActionResult.cs" company="Outercurve Foundation"> +// Copyright (c) Outercurve Foundation. All rights reserved. // </copyright> //----------------------------------------------------------------------- diff --git a/src/DotNetOpenAuth.Core/Messaging/ProtocolException.cs b/src/DotNetOpenAuth.Core/Messaging/ProtocolException.cs index cf3ccb8..721d528 100644 --- a/src/DotNetOpenAuth.Core/Messaging/ProtocolException.cs +++ b/src/DotNetOpenAuth.Core/Messaging/ProtocolException.cs @@ -1,6 +1,6 @@ //----------------------------------------------------------------------- -// <copyright file="ProtocolException.cs" company="Andrew Arnott"> -// Copyright (c) Andrew Arnott. All rights reserved. +// <copyright file="ProtocolException.cs" company="Outercurve Foundation"> +// Copyright (c) Outercurve Foundation. All rights reserved. // </copyright> //----------------------------------------------------------------------- diff --git a/src/DotNetOpenAuth.Core/Messaging/Reflection/IMessagePartEncoder.cs b/src/DotNetOpenAuth.Core/Messaging/Reflection/IMessagePartEncoder.cs index bbb3737..6186cd7 100644 --- a/src/DotNetOpenAuth.Core/Messaging/Reflection/IMessagePartEncoder.cs +++ b/src/DotNetOpenAuth.Core/Messaging/Reflection/IMessagePartEncoder.cs @@ -1,6 +1,6 @@ //----------------------------------------------------------------------- -// <copyright file="IMessagePartEncoder.cs" company="Andrew Arnott"> -// Copyright (c) Andrew Arnott. All rights reserved. +// <copyright file="IMessagePartEncoder.cs" company="Outercurve Foundation"> +// Copyright (c) Outercurve Foundation. All rights reserved. // </copyright> //----------------------------------------------------------------------- diff --git a/src/DotNetOpenAuth.Core/Messaging/Reflection/IMessagePartNullEncoder.cs b/src/DotNetOpenAuth.Core/Messaging/Reflection/IMessagePartNullEncoder.cs index 7581550..50261f4 100644 --- a/src/DotNetOpenAuth.Core/Messaging/Reflection/IMessagePartNullEncoder.cs +++ b/src/DotNetOpenAuth.Core/Messaging/Reflection/IMessagePartNullEncoder.cs @@ -1,6 +1,6 @@ //----------------------------------------------------------------------- -// <copyright file="IMessagePartNullEncoder.cs" company="Andrew Arnott"> -// Copyright (c) Andrew Arnott. All rights reserved. +// <copyright file="IMessagePartNullEncoder.cs" company="Outercurve Foundation"> +// Copyright (c) Outercurve Foundation. All rights reserved. // </copyright> //----------------------------------------------------------------------- diff --git a/src/DotNetOpenAuth.Core/Messaging/Reflection/IMessagePartOriginalEncoder.cs b/src/DotNetOpenAuth.Core/Messaging/Reflection/IMessagePartOriginalEncoder.cs index 9ad55c9..1e8208b 100644 --- a/src/DotNetOpenAuth.Core/Messaging/Reflection/IMessagePartOriginalEncoder.cs +++ b/src/DotNetOpenAuth.Core/Messaging/Reflection/IMessagePartOriginalEncoder.cs @@ -1,6 +1,6 @@ //----------------------------------------------------------------------- -// <copyright file="IMessagePartOriginalEncoder.cs" company="Andrew Arnott"> -// Copyright (c) Andrew Arnott. All rights reserved. +// <copyright file="IMessagePartOriginalEncoder.cs" company="Outercurve Foundation"> +// Copyright (c) Outercurve Foundation. All rights reserved. // </copyright> //----------------------------------------------------------------------- diff --git a/src/DotNetOpenAuth.Core/Messaging/Reflection/MessageDescription.cs b/src/DotNetOpenAuth.Core/Messaging/Reflection/MessageDescription.cs index 9a8098b..7e67842 100644 --- a/src/DotNetOpenAuth.Core/Messaging/Reflection/MessageDescription.cs +++ b/src/DotNetOpenAuth.Core/Messaging/Reflection/MessageDescription.cs @@ -1,6 +1,6 @@ //----------------------------------------------------------------------- -// <copyright file="MessageDescription.cs" company="Andrew Arnott"> -// Copyright (c) Andrew Arnott. All rights reserved. +// <copyright file="MessageDescription.cs" company="Outercurve Foundation"> +// Copyright (c) Outercurve Foundation. All rights reserved. // </copyright> //----------------------------------------------------------------------- @@ -108,10 +108,11 @@ namespace DotNetOpenAuth.Messaging.Reflection { this.CheckMessagePartsConstantValues(parts, true); } catch (ProtocolException) { Logger.Messaging.ErrorFormat( - "Error while performing basic validation of {0} with these message parts:{1}{2}", + "Error while performing basic validation of {0} ({3}) with these message parts:{1}{2}", this.MessageType.Name, Environment.NewLine, - parts.ToStringDeferred()); + parts.ToStringDeferred(), + this.MessageVersion); throw; } } diff --git a/src/DotNetOpenAuth.Core/Messaging/Reflection/MessageDescriptionCollection.cs b/src/DotNetOpenAuth.Core/Messaging/Reflection/MessageDescriptionCollection.cs index 79ef172..1fa9252 100644 --- a/src/DotNetOpenAuth.Core/Messaging/Reflection/MessageDescriptionCollection.cs +++ b/src/DotNetOpenAuth.Core/Messaging/Reflection/MessageDescriptionCollection.cs @@ -1,6 +1,6 @@ //----------------------------------------------------------------------- -// <copyright file="MessageDescriptionCollection.cs" company="Andrew Arnott"> -// Copyright (c) Andrew Arnott. All rights reserved. +// <copyright file="MessageDescriptionCollection.cs" company="Outercurve Foundation"> +// Copyright (c) Outercurve Foundation. All rights reserved. // </copyright> //----------------------------------------------------------------------- diff --git a/src/DotNetOpenAuth.Core/Messaging/Reflection/MessageDictionary.cs b/src/DotNetOpenAuth.Core/Messaging/Reflection/MessageDictionary.cs index 54e2dd5..cf44863 100644 --- a/src/DotNetOpenAuth.Core/Messaging/Reflection/MessageDictionary.cs +++ b/src/DotNetOpenAuth.Core/Messaging/Reflection/MessageDictionary.cs @@ -1,6 +1,6 @@ //----------------------------------------------------------------------- -// <copyright file="MessageDictionary.cs" company="Andrew Arnott"> -// Copyright (c) Andrew Arnott. All rights reserved. +// <copyright file="MessageDictionary.cs" company="Outercurve Foundation"> +// Copyright (c) Outercurve Foundation. All rights reserved. // </copyright> //----------------------------------------------------------------------- diff --git a/src/DotNetOpenAuth.Core/Messaging/Reflection/MessagePart.cs b/src/DotNetOpenAuth.Core/Messaging/Reflection/MessagePart.cs index f439c4d..8f40d6d 100644 --- a/src/DotNetOpenAuth.Core/Messaging/Reflection/MessagePart.cs +++ b/src/DotNetOpenAuth.Core/Messaging/Reflection/MessagePart.cs @@ -1,6 +1,6 @@ //----------------------------------------------------------------------- -// <copyright file="MessagePart.cs" company="Andrew Arnott"> -// Copyright (c) Andrew Arnott. All rights reserved. +// <copyright file="MessagePart.cs" company="Outercurve Foundation"> +// Copyright (c) Outercurve Foundation. All rights reserved. // </copyright> //----------------------------------------------------------------------- diff --git a/src/DotNetOpenAuth.Core/Messaging/Reflection/ValueMapping.cs b/src/DotNetOpenAuth.Core/Messaging/Reflection/ValueMapping.cs index 9c0fa83..bc12f5d 100644 --- a/src/DotNetOpenAuth.Core/Messaging/Reflection/ValueMapping.cs +++ b/src/DotNetOpenAuth.Core/Messaging/Reflection/ValueMapping.cs @@ -1,6 +1,6 @@ //----------------------------------------------------------------------- -// <copyright file="ValueMapping.cs" company="Andrew Arnott"> -// Copyright (c) Andrew Arnott. All rights reserved. +// <copyright file="ValueMapping.cs" company="Outercurve Foundation"> +// Copyright (c) Outercurve Foundation. All rights reserved. // </copyright> //----------------------------------------------------------------------- diff --git a/src/DotNetOpenAuth.Core/Messaging/StandardMessageFactory.cs b/src/DotNetOpenAuth.Core/Messaging/StandardMessageFactory.cs index 5db206e..762b54b 100644 --- a/src/DotNetOpenAuth.Core/Messaging/StandardMessageFactory.cs +++ b/src/DotNetOpenAuth.Core/Messaging/StandardMessageFactory.cs @@ -1,6 +1,6 @@ //----------------------------------------------------------------------- -// <copyright file="StandardMessageFactory.cs" company="Andrew Arnott"> -// Copyright (c) Andrew Arnott. All rights reserved. +// <copyright file="StandardMessageFactory.cs" company="Outercurve Foundation"> +// Copyright (c) Outercurve Foundation. All rights reserved. // </copyright> //----------------------------------------------------------------------- diff --git a/src/DotNetOpenAuth.Core/Messaging/StandardMessageFactoryChannel.cs b/src/DotNetOpenAuth.Core/Messaging/StandardMessageFactoryChannel.cs index acfc004..7a1d194 100644 --- a/src/DotNetOpenAuth.Core/Messaging/StandardMessageFactoryChannel.cs +++ b/src/DotNetOpenAuth.Core/Messaging/StandardMessageFactoryChannel.cs @@ -1,6 +1,6 @@ //----------------------------------------------------------------------- -// <copyright file="StandardMessageFactoryChannel.cs" company="Andrew Arnott"> -// Copyright (c) Andrew Arnott. All rights reserved. +// <copyright file="StandardMessageFactoryChannel.cs" company="Outercurve Foundation"> +// Copyright (c) Outercurve Foundation. All rights reserved. // </copyright> //----------------------------------------------------------------------- diff --git a/src/DotNetOpenAuth.Core/Messaging/StandardWebRequestHandler.cs b/src/DotNetOpenAuth.Core/Messaging/StandardWebRequestHandler.cs index 6c6a7bb..98a2186 100644 --- a/src/DotNetOpenAuth.Core/Messaging/StandardWebRequestHandler.cs +++ b/src/DotNetOpenAuth.Core/Messaging/StandardWebRequestHandler.cs @@ -1,6 +1,6 @@ //----------------------------------------------------------------------- -// <copyright file="StandardWebRequestHandler.cs" company="Andrew Arnott"> -// Copyright (c) Andrew Arnott. All rights reserved. +// <copyright file="StandardWebRequestHandler.cs" company="Outercurve Foundation"> +// Copyright (c) Outercurve Foundation. All rights reserved. // </copyright> //----------------------------------------------------------------------- diff --git a/src/DotNetOpenAuth.Core/Messaging/TimespanSecondsEncoder.cs b/src/DotNetOpenAuth.Core/Messaging/TimespanSecondsEncoder.cs index b28e5a8..842176a 100644 --- a/src/DotNetOpenAuth.Core/Messaging/TimespanSecondsEncoder.cs +++ b/src/DotNetOpenAuth.Core/Messaging/TimespanSecondsEncoder.cs @@ -1,6 +1,6 @@ //----------------------------------------------------------------------- -// <copyright file="TimespanSecondsEncoder.cs" company="Andrew Arnott"> -// Copyright (c) Andrew Arnott. All rights reserved. +// <copyright file="TimespanSecondsEncoder.cs" company="Outercurve Foundation"> +// Copyright (c) Outercurve Foundation. All rights reserved. // </copyright> //----------------------------------------------------------------------- diff --git a/src/DotNetOpenAuth.Core/Messaging/TimestampEncoder.cs b/src/DotNetOpenAuth.Core/Messaging/TimestampEncoder.cs index b83a426..1b3379f 100644 --- a/src/DotNetOpenAuth.Core/Messaging/TimestampEncoder.cs +++ b/src/DotNetOpenAuth.Core/Messaging/TimestampEncoder.cs @@ -1,6 +1,6 @@ //----------------------------------------------------------------------- -// <copyright file="TimestampEncoder.cs" company="Andrew Arnott"> -// Copyright (c) Andrew Arnott. All rights reserved. +// <copyright file="TimestampEncoder.cs" company="Outercurve Foundation"> +// Copyright (c) Outercurve Foundation. All rights reserved. // </copyright> //----------------------------------------------------------------------- diff --git a/src/DotNetOpenAuth.Core/Messaging/UnprotectedMessageException.cs b/src/DotNetOpenAuth.Core/Messaging/UnprotectedMessageException.cs index 2f21184..fe6d049 100644 --- a/src/DotNetOpenAuth.Core/Messaging/UnprotectedMessageException.cs +++ b/src/DotNetOpenAuth.Core/Messaging/UnprotectedMessageException.cs @@ -1,6 +1,6 @@ //----------------------------------------------------------------------- -// <copyright file="UnprotectedMessageException.cs" company="Andrew Arnott"> -// Copyright (c) Andrew Arnott. All rights reserved. +// <copyright file="UnprotectedMessageException.cs" company="Outercurve Foundation"> +// Copyright (c) Outercurve Foundation. All rights reserved. // </copyright> //----------------------------------------------------------------------- diff --git a/src/DotNetOpenAuth.Core/Messaging/UntrustedWebRequestHandler.cs b/src/DotNetOpenAuth.Core/Messaging/UntrustedWebRequestHandler.cs index 2d94130..c490127 100644 --- a/src/DotNetOpenAuth.Core/Messaging/UntrustedWebRequestHandler.cs +++ b/src/DotNetOpenAuth.Core/Messaging/UntrustedWebRequestHandler.cs @@ -1,6 +1,6 @@ //----------------------------------------------------------------------- -// <copyright file="UntrustedWebRequestHandler.cs" company="Andrew Arnott"> -// Copyright (c) Andrew Arnott. All rights reserved. +// <copyright file="UntrustedWebRequestHandler.cs" company="Outercurve Foundation"> +// Copyright (c) Outercurve Foundation. All rights reserved. // </copyright> //----------------------------------------------------------------------- diff --git a/src/DotNetOpenAuth.Core/Messaging/UriStyleMessageFormatter.cs b/src/DotNetOpenAuth.Core/Messaging/UriStyleMessageFormatter.cs index 2c653d0..84e75b0 100644 --- a/src/DotNetOpenAuth.Core/Messaging/UriStyleMessageFormatter.cs +++ b/src/DotNetOpenAuth.Core/Messaging/UriStyleMessageFormatter.cs @@ -1,6 +1,6 @@ //----------------------------------------------------------------------- -// <copyright file="UriStyleMessageFormatter.cs" company="Andrew Arnott"> -// Copyright (c) Andrew Arnott. All rights reserved. +// <copyright file="UriStyleMessageFormatter.cs" company="Outercurve Foundation"> +// Copyright (c) Outercurve Foundation. All rights reserved. // </copyright> //----------------------------------------------------------------------- diff --git a/src/DotNetOpenAuth.Core/Properties/AssemblyInfo.cs b/src/DotNetOpenAuth.Core/Properties/AssemblyInfo.cs index 14633f9..e57b211 100644 --- a/src/DotNetOpenAuth.Core/Properties/AssemblyInfo.cs +++ b/src/DotNetOpenAuth.Core/Properties/AssemblyInfo.cs @@ -1,6 +1,6 @@ //----------------------------------------------------------------------- -// <copyright file="AssemblyInfo.cs" company="Andrew Arnott"> -// Copyright (c) Andrew Arnott. All rights reserved. +// <copyright file="AssemblyInfo.cs" company="Outercurve Foundation"> +// Copyright (c) Outercurve Foundation. All rights reserved. // </copyright> //----------------------------------------------------------------------- @@ -25,7 +25,7 @@ using System.Web.UI; [assembly: AssemblyConfiguration("")] [assembly: AssemblyCompany("")] [assembly: AssemblyProduct("DotNetOpenAuth")] -[assembly: AssemblyCopyright("Copyright © 2008")] +[assembly: AssemblyCopyright("Copyright © 2011 Outercurve Foundation")] [assembly: AssemblyTrademark("")] [assembly: AssemblyCulture("")] [assembly: NeutralResourcesLanguage("en-US")] @@ -57,9 +57,11 @@ using System.Web.UI; [assembly: InternalsVisibleTo("DotNetOpenAuth.OpenId.Provider, PublicKey=0024000004800000940000000602000000240000525341310004000001000100AD093C3765257C89A7010E853F2C7C741FF92FA8ACE06D7B8254702CAD5CF99104447F63AB05F8BB6F51CE0D81C8C93D2FCE8C20AAFF7042E721CBA16EAAE98778611DED11C0ABC8900DC5667F99B50A9DADEC24DBD8F2C91E3E8AD300EF64F1B4B9536CEB16FB440AF939F57624A9B486F867807C649AE4830EAB88C6C03998")] [assembly: InternalsVisibleTo("DotNetOpenAuth.OpenId.Provider.UI, PublicKey=0024000004800000940000000602000000240000525341310004000001000100AD093C3765257C89A7010E853F2C7C741FF92FA8ACE06D7B8254702CAD5CF99104447F63AB05F8BB6F51CE0D81C8C93D2FCE8C20AAFF7042E721CBA16EAAE98778611DED11C0ABC8900DC5667F99B50A9DADEC24DBD8F2C91E3E8AD300EF64F1B4B9536CEB16FB440AF939F57624A9B486F867807C649AE4830EAB88C6C03998")] [assembly: InternalsVisibleTo("DotNetOpenAuth.OpenIdInfoCard.UI, PublicKey=0024000004800000940000000602000000240000525341310004000001000100AD093C3765257C89A7010E853F2C7C741FF92FA8ACE06D7B8254702CAD5CF99104447F63AB05F8BB6F51CE0D81C8C93D2FCE8C20AAFF7042E721CBA16EAAE98778611DED11C0ABC8900DC5667F99B50A9DADEC24DBD8F2C91E3E8AD300EF64F1B4B9536CEB16FB440AF939F57624A9B486F867807C649AE4830EAB88C6C03998")] +[assembly: InternalsVisibleTo("DotNetOpenAuth.OAuth.Common, PublicKey=0024000004800000940000000602000000240000525341310004000001000100AD093C3765257C89A7010E853F2C7C741FF92FA8ACE06D7B8254702CAD5CF99104447F63AB05F8BB6F51CE0D81C8C93D2FCE8C20AAFF7042E721CBA16EAAE98778611DED11C0ABC8900DC5667F99B50A9DADEC24DBD8F2C91E3E8AD300EF64F1B4B9536CEB16FB440AF939F57624A9B486F867807C649AE4830EAB88C6C03998")] [assembly: InternalsVisibleTo("DotNetOpenAuth.OAuth, PublicKey=0024000004800000940000000602000000240000525341310004000001000100AD093C3765257C89A7010E853F2C7C741FF92FA8ACE06D7B8254702CAD5CF99104447F63AB05F8BB6F51CE0D81C8C93D2FCE8C20AAFF7042E721CBA16EAAE98778611DED11C0ABC8900DC5667F99B50A9DADEC24DBD8F2C91E3E8AD300EF64F1B4B9536CEB16FB440AF939F57624A9B486F867807C649AE4830EAB88C6C03998")] [assembly: InternalsVisibleTo("DotNetOpenAuth.OAuth.Consumer, PublicKey=0024000004800000940000000602000000240000525341310004000001000100AD093C3765257C89A7010E853F2C7C741FF92FA8ACE06D7B8254702CAD5CF99104447F63AB05F8BB6F51CE0D81C8C93D2FCE8C20AAFF7042E721CBA16EAAE98778611DED11C0ABC8900DC5667F99B50A9DADEC24DBD8F2C91E3E8AD300EF64F1B4B9536CEB16FB440AF939F57624A9B486F867807C649AE4830EAB88C6C03998")] [assembly: InternalsVisibleTo("DotNetOpenAuth.OAuth.ServiceProvider, PublicKey=0024000004800000940000000602000000240000525341310004000001000100AD093C3765257C89A7010E853F2C7C741FF92FA8ACE06D7B8254702CAD5CF99104447F63AB05F8BB6F51CE0D81C8C93D2FCE8C20AAFF7042E721CBA16EAAE98778611DED11C0ABC8900DC5667F99B50A9DADEC24DBD8F2C91E3E8AD300EF64F1B4B9536CEB16FB440AF939F57624A9B486F867807C649AE4830EAB88C6C03998")] +[assembly: InternalsVisibleTo("DotNetOpenAuth.OpenIdOAuth, PublicKey=0024000004800000940000000602000000240000525341310004000001000100AD093C3765257C89A7010E853F2C7C741FF92FA8ACE06D7B8254702CAD5CF99104447F63AB05F8BB6F51CE0D81C8C93D2FCE8C20AAFF7042E721CBA16EAAE98778611DED11C0ABC8900DC5667F99B50A9DADEC24DBD8F2C91E3E8AD300EF64F1B4B9536CEB16FB440AF939F57624A9B486F867807C649AE4830EAB88C6C03998")] [assembly: InternalsVisibleTo("DotNetOpenAuth.OAuth2, PublicKey=0024000004800000940000000602000000240000525341310004000001000100AD093C3765257C89A7010E853F2C7C741FF92FA8ACE06D7B8254702CAD5CF99104447F63AB05F8BB6F51CE0D81C8C93D2FCE8C20AAFF7042E721CBA16EAAE98778611DED11C0ABC8900DC5667F99B50A9DADEC24DBD8F2C91E3E8AD300EF64F1B4B9536CEB16FB440AF939F57624A9B486F867807C649AE4830EAB88C6C03998")] [assembly: InternalsVisibleTo("DotNetOpenAuth.OAuth2.AuthorizationServer, PublicKey=0024000004800000940000000602000000240000525341310004000001000100AD093C3765257C89A7010E853F2C7C741FF92FA8ACE06D7B8254702CAD5CF99104447F63AB05F8BB6F51CE0D81C8C93D2FCE8C20AAFF7042E721CBA16EAAE98778611DED11C0ABC8900DC5667F99B50A9DADEC24DBD8F2C91E3E8AD300EF64F1B4B9536CEB16FB440AF939F57624A9B486F867807C649AE4830EAB88C6C03998")] [assembly: InternalsVisibleTo("DotNetOpenAuth.OAuth2.ResourceServer, PublicKey=0024000004800000940000000602000000240000525341310004000001000100AD093C3765257C89A7010E853F2C7C741FF92FA8ACE06D7B8254702CAD5CF99104447F63AB05F8BB6F51CE0D81C8C93D2FCE8C20AAFF7042E721CBA16EAAE98778611DED11C0ABC8900DC5667F99B50A9DADEC24DBD8F2C91E3E8AD300EF64F1B4B9536CEB16FB440AF939F57624A9B486F867807C649AE4830EAB88C6C03998")] @@ -79,9 +81,11 @@ using System.Web.UI; [assembly: InternalsVisibleTo("DotNetOpenAuth.OpenId.Provider")] [assembly: InternalsVisibleTo("DotNetOpenAuth.OpenId.Provider.UI")] [assembly: InternalsVisibleTo("DotNetOpenAuth.OpenIdInfoCard.UI")] +[assembly: InternalsVisibleTo("DotNetOpenAuth.OAuth.Common")] [assembly: InternalsVisibleTo("DotNetOpenAuth.OAuth")] [assembly: InternalsVisibleTo("DotNetOpenAuth.OAuth.Consumer")] [assembly: InternalsVisibleTo("DotNetOpenAuth.OAuth.ServiceProvider")] +[assembly: InternalsVisibleTo("DotNetOpenAuth.OpenIdOAuth")] [assembly: InternalsVisibleTo("DotNetOpenAuth.OAuth2")] [assembly: InternalsVisibleTo("DotNetOpenAuth.OAuth2.AuthorizationServer")] [assembly: InternalsVisibleTo("DotNetOpenAuth.OAuth2.ResourceServer")] diff --git a/src/DotNetOpenAuth.Core/Reporting.cs b/src/DotNetOpenAuth.Core/Reporting.cs index 0bbbcec..a7940b6 100644 --- a/src/DotNetOpenAuth.Core/Reporting.cs +++ b/src/DotNetOpenAuth.Core/Reporting.cs @@ -1,6 +1,6 @@ //----------------------------------------------------------------------- -// <copyright file="Reporting.cs" company="Andrew Arnott"> -// Copyright (c) Andrew Arnott. All rights reserved. +// <copyright file="Reporting.cs" company="Outercurve Foundation"> +// Copyright (c) Outercurve Foundation. All rights reserved. // </copyright> //----------------------------------------------------------------------- @@ -28,6 +28,7 @@ namespace DotNetOpenAuth { /// The statistical reporting mechanism used so this library's project authors /// know what versions and features are in use. /// </summary> + [SuppressMessage("Microsoft.Design", "CA1053:StaticHolderTypesShouldNotHaveConstructors", Justification = "This class is derived from, so it can't be static.")] public class Reporting { /// <summary> /// A UTF8 encoder that doesn't emit the preamble. Used for mid-stream writers. @@ -119,6 +120,12 @@ namespace DotNetOpenAuth { } /// <summary> + /// Initializes a new instance of the <see cref="Reporting"/> class. + /// </summary> + protected Reporting() { + } + + /// <summary> /// Gets or sets a value indicating whether this reporting is enabled. /// </summary> /// <value><c>true</c> if enabled; otherwise, <c>false</c>.</value> @@ -367,6 +374,7 @@ namespace DotNetOpenAuth { /// Assembles a report for submission. /// </summary> /// <returns>A stream that contains the report.</returns> + [SuppressMessage("Microsoft.Reliability", "CA2000:Dispose objects before losing scope", Justification = "If we dispose of the StreamWriter, it disposes of the underlying stream.")] private static Stream GetReport() { var stream = new MemoryStream(); try { @@ -553,6 +561,7 @@ namespace DotNetOpenAuth { /// The identifier is made persistent by storing the identifier in isolated storage. /// If an existing identifier is not found, a new one is created, persisted, and returned. /// </remarks> + [SuppressMessage("Microsoft.Reliability", "CA2000:Dispose objects before losing scope", Justification = "No apparent problem. False positive?")] private static Guid GetOrCreateOriginIdentity() { Requires.ValidState(file != null); Contract.Ensures(Contract.Result<Guid>() != Guid.Empty); diff --git a/src/DotNetOpenAuth.Core/Requires.cs b/src/DotNetOpenAuth.Core/Requires.cs index 4be6da0..8aa15dd 100644 --- a/src/DotNetOpenAuth.Core/Requires.cs +++ b/src/DotNetOpenAuth.Core/Requires.cs @@ -1,6 +1,6 @@ //----------------------------------------------------------------------- -// <copyright file="Requires.cs" company="Andrew Arnott"> -// Copyright (c) Andrew Arnott. All rights reserved. +// <copyright file="Requires.cs" company="Outercurve Foundation"> +// Copyright (c) Outercurve Foundation. All rights reserved. // </copyright> //----------------------------------------------------------------------- @@ -134,7 +134,7 @@ namespace DotNetOpenAuth { [Pure, DebuggerStepThrough] internal static void True(bool condition, string parameterName, string unformattedMessage, params object[] args) { if (!condition) { - throw new ArgumentException(String.Format(unformattedMessage, args), parameterName); + throw new ArgumentException(String.Format(CultureInfo.CurrentCulture, unformattedMessage, args), parameterName); } Contract.EndContractBlock(); diff --git a/src/DotNetOpenAuth.Core/UriUtil.cs b/src/DotNetOpenAuth.Core/UriUtil.cs index 57360f5..c52e1bb 100644 --- a/src/DotNetOpenAuth.Core/UriUtil.cs +++ b/src/DotNetOpenAuth.Core/UriUtil.cs @@ -1,6 +1,6 @@ //----------------------------------------------------------------------- -// <copyright file="UriUtil.cs" company="Andrew Arnott"> -// Copyright (c) Andrew Arnott. All rights reserved. +// <copyright file="UriUtil.cs" company="Outercurve Foundation"> +// Copyright (c) Outercurve Foundation. All rights reserved. // </copyright> //----------------------------------------------------------------------- diff --git a/src/DotNetOpenAuth.Core/Util.cs b/src/DotNetOpenAuth.Core/Util.cs index 6b63a36..5a1a5d0 100644 --- a/src/DotNetOpenAuth.Core/Util.cs +++ b/src/DotNetOpenAuth.Core/Util.cs @@ -1,6 +1,6 @@ //----------------------------------------------------------------------- -// <copyright file="Util.cs" company="Andrew Arnott"> -// Copyright (c) Andrew Arnott. All rights reserved. +// <copyright file="Util.cs" company="Outercurve Foundation"> +// Copyright (c) Outercurve Foundation. All rights reserved. // </copyright> //----------------------------------------------------------------------- namespace DotNetOpenAuth { diff --git a/src/DotNetOpenAuth.InfoCard.UI/ComponentModel/IssuersSuggestions.cs b/src/DotNetOpenAuth.InfoCard.UI/ComponentModel/IssuersSuggestions.cs index dc41843..64e9dea 100644 --- a/src/DotNetOpenAuth.InfoCard.UI/ComponentModel/IssuersSuggestions.cs +++ b/src/DotNetOpenAuth.InfoCard.UI/ComponentModel/IssuersSuggestions.cs @@ -1,6 +1,6 @@ //----------------------------------------------------------------------- -// <copyright file="IssuersSuggestions.cs" company="Andrew Arnott"> -// Copyright (c) Andrew Arnott. All rights reserved. +// <copyright file="IssuersSuggestions.cs" company="Outercurve Foundation"> +// Copyright (c) Outercurve Foundation. All rights reserved. // </copyright> //----------------------------------------------------------------------- diff --git a/src/DotNetOpenAuth.InfoCard.UI/ComponentModel/UriConverter.cs b/src/DotNetOpenAuth.InfoCard.UI/ComponentModel/UriConverter.cs index 5111846..253200e 100644 --- a/src/DotNetOpenAuth.InfoCard.UI/ComponentModel/UriConverter.cs +++ b/src/DotNetOpenAuth.InfoCard.UI/ComponentModel/UriConverter.cs @@ -1,6 +1,6 @@ //----------------------------------------------------------------------- -// <copyright file="UriConverter.cs" company="Andrew Arnott"> -// Copyright (c) Andrew Arnott. All rights reserved. +// <copyright file="UriConverter.cs" company="Outercurve Foundation"> +// Copyright (c) Outercurve Foundation. All rights reserved. // </copyright> //----------------------------------------------------------------------- diff --git a/src/DotNetOpenAuth.InfoCard.UI/InfoCard/ClaimType.cs b/src/DotNetOpenAuth.InfoCard.UI/InfoCard/ClaimType.cs index 9d3056a..831e38d 100644 --- a/src/DotNetOpenAuth.InfoCard.UI/InfoCard/ClaimType.cs +++ b/src/DotNetOpenAuth.InfoCard.UI/InfoCard/ClaimType.cs @@ -1,6 +1,6 @@ //----------------------------------------------------------------------- -// <copyright file="ClaimType.cs" company="Andrew Arnott"> -// Copyright (c) Andrew Arnott. All rights reserved. +// <copyright file="ClaimType.cs" company="Outercurve Foundation"> +// Copyright (c) Outercurve Foundation. All rights reserved. // </copyright> //----------------------------------------------------------------------- diff --git a/src/DotNetOpenAuth.InfoCard.UI/InfoCard/InfoCardImage.cs b/src/DotNetOpenAuth.InfoCard.UI/InfoCard/InfoCardImage.cs index 247f461..dfcc3e3 100644 --- a/src/DotNetOpenAuth.InfoCard.UI/InfoCard/InfoCardImage.cs +++ b/src/DotNetOpenAuth.InfoCard.UI/InfoCard/InfoCardImage.cs @@ -1,6 +1,6 @@ //----------------------------------------------------------------------- // <copyright file="InfoCardImage.cs" company="Dominick Baier, Andrew Arnott"> -// Copyright (c) Dominick Baier, Andrew Arnott. All rights reserved. +// Copyright (c) Dominick Baier, Outercurve Foundation. All rights reserved. // </copyright> // <license>New BSD License</license> //----------------------------------------------------------------------- diff --git a/src/DotNetOpenAuth.InfoCard.UI/InfoCard/InfoCardSelector.cs b/src/DotNetOpenAuth.InfoCard.UI/InfoCard/InfoCardSelector.cs index b1d5bfd..756b9a7 100644 --- a/src/DotNetOpenAuth.InfoCard.UI/InfoCard/InfoCardSelector.cs +++ b/src/DotNetOpenAuth.InfoCard.UI/InfoCard/InfoCardSelector.cs @@ -1,6 +1,6 @@ //----------------------------------------------------------------------- -// <copyright file="InfoCardSelector.cs" company="Andrew Arnott"> -// Copyright (c) Andrew Arnott. All rights reserved. +// <copyright file="InfoCardSelector.cs" company="Outercurve Foundation"> +// Copyright (c) Outercurve Foundation. All rights reserved. // Certain elements are Copyright (c) 2007 Dominick Baier. // </copyright> //----------------------------------------------------------------------- diff --git a/src/DotNetOpenAuth.InfoCard.UI/InfoCard/ReceivedTokenEventArgs.cs b/src/DotNetOpenAuth.InfoCard.UI/InfoCard/ReceivedTokenEventArgs.cs index f325ff9..94d3d63 100644 --- a/src/DotNetOpenAuth.InfoCard.UI/InfoCard/ReceivedTokenEventArgs.cs +++ b/src/DotNetOpenAuth.InfoCard.UI/InfoCard/ReceivedTokenEventArgs.cs @@ -1,6 +1,6 @@ //----------------------------------------------------------------------- -// <copyright file="ReceivedTokenEventArgs.cs" company="Andrew Arnott"> -// Copyright (c) Andrew Arnott. All rights reserved. +// <copyright file="ReceivedTokenEventArgs.cs" company="Outercurve Foundation"> +// Copyright (c) Outercurve Foundation. All rights reserved. // </copyright> //----------------------------------------------------------------------- diff --git a/src/DotNetOpenAuth.InfoCard.UI/InfoCard/ReceivingTokenEventArgs.cs b/src/DotNetOpenAuth.InfoCard.UI/InfoCard/ReceivingTokenEventArgs.cs index d831a84..3d7e3d3 100644 --- a/src/DotNetOpenAuth.InfoCard.UI/InfoCard/ReceivingTokenEventArgs.cs +++ b/src/DotNetOpenAuth.InfoCard.UI/InfoCard/ReceivingTokenEventArgs.cs @@ -1,6 +1,6 @@ //----------------------------------------------------------------------- -// <copyright file="ReceivingTokenEventArgs.cs" company="Andrew Arnott"> -// Copyright (c) Andrew Arnott. All rights reserved. +// <copyright file="ReceivingTokenEventArgs.cs" company="Outercurve Foundation"> +// Copyright (c) Outercurve Foundation. All rights reserved. // </copyright> //----------------------------------------------------------------------- diff --git a/src/DotNetOpenAuth.InfoCard.UI/InfoCard/TokenProcessingErrorEventArgs.cs b/src/DotNetOpenAuth.InfoCard.UI/InfoCard/TokenProcessingErrorEventArgs.cs index 3ce9f40..d9c38f6 100644 --- a/src/DotNetOpenAuth.InfoCard.UI/InfoCard/TokenProcessingErrorEventArgs.cs +++ b/src/DotNetOpenAuth.InfoCard.UI/InfoCard/TokenProcessingErrorEventArgs.cs @@ -1,6 +1,6 @@ //----------------------------------------------------------------------- -// <copyright file="TokenProcessingErrorEventArgs.cs" company="Andrew Arnott"> -// Copyright (c) Andrew Arnott. All rights reserved. +// <copyright file="TokenProcessingErrorEventArgs.cs" company="Outercurve Foundation"> +// Copyright (c) Outercurve Foundation. All rights reserved. // </copyright> //----------------------------------------------------------------------- namespace DotNetOpenAuth.InfoCard { diff --git a/src/DotNetOpenAuth.InfoCard.UI/Properties/AssemblyInfo.cs b/src/DotNetOpenAuth.InfoCard.UI/Properties/AssemblyInfo.cs index 63faf9a..178c77a 100644 --- a/src/DotNetOpenAuth.InfoCard.UI/Properties/AssemblyInfo.cs +++ b/src/DotNetOpenAuth.InfoCard.UI/Properties/AssemblyInfo.cs @@ -1,6 +1,6 @@ //----------------------------------------------------------------------- -// <copyright file="AssemblyInfo.cs" company="Andrew Arnott"> -// Copyright (c) Andrew Arnott. All rights reserved. +// <copyright file="AssemblyInfo.cs" company="Outercurve Foundation"> +// Copyright (c) Outercurve Foundation. All rights reserved. // </copyright> //----------------------------------------------------------------------- @@ -27,7 +27,7 @@ using System.Web.UI; [assembly: AssemblyConfiguration("")] [assembly: AssemblyCompany("")] [assembly: AssemblyProduct("DotNetOpenAuth")] -[assembly: AssemblyCopyright("Copyright © 2008")] +[assembly: AssemblyCopyright("Copyright © 2011 Outercurve Foundation")] [assembly: AssemblyTrademark("")] [assembly: AssemblyCulture("")] [assembly: NeutralResourcesLanguage("en-US")] diff --git a/src/DotNetOpenAuth.InfoCard/InfoCard/Token/InformationCardException.cs b/src/DotNetOpenAuth.InfoCard/InfoCard/Token/InformationCardException.cs index ff08be8..d718964 100644 --- a/src/DotNetOpenAuth.InfoCard/InfoCard/Token/InformationCardException.cs +++ b/src/DotNetOpenAuth.InfoCard/InfoCard/Token/InformationCardException.cs @@ -1,6 +1,6 @@ //----------------------------------------------------------------------- -// <copyright file="InformationCardException.cs" company="Andrew Arnott"> -// Copyright (c) Andrew Arnott. All rights reserved. +// <copyright file="InformationCardException.cs" company="Outercurve Foundation"> +// Copyright (c) Outercurve Foundation. All rights reserved. // </copyright> //----------------------------------------------------------------------- diff --git a/src/DotNetOpenAuth.InfoCard/InfoCard/Token/Token.cs b/src/DotNetOpenAuth.InfoCard/InfoCard/Token/Token.cs index fc7683d..5526bfd 100644 --- a/src/DotNetOpenAuth.InfoCard/InfoCard/Token/Token.cs +++ b/src/DotNetOpenAuth.InfoCard/InfoCard/Token/Token.cs @@ -1,6 +1,6 @@ //----------------------------------------------------------------------- -// <copyright file="Token.cs" company="Andrew Arnott, Microsoft Corporation"> -// Copyright (c) Andrew Arnott, Microsoft Corporation. All rights reserved. +// <copyright file="Token.cs" company="Outercurve Foundation, Microsoft Corporation"> +// Copyright (c) Outercurve Foundation, Microsoft Corporation. All rights reserved. // </copyright> //----------------------------------------------------------------------- diff --git a/src/DotNetOpenAuth.InfoCard/InfoCard/Token/TokenUtility.cs b/src/DotNetOpenAuth.InfoCard/InfoCard/Token/TokenUtility.cs index 5daffa8..c424916 100644 --- a/src/DotNetOpenAuth.InfoCard/InfoCard/Token/TokenUtility.cs +++ b/src/DotNetOpenAuth.InfoCard/InfoCard/Token/TokenUtility.cs @@ -12,6 +12,7 @@ namespace DotNetOpenAuth.InfoCard { using System; using System.Collections.Generic; using System.Configuration; + using System.Diagnostics.CodeAnalysis; using System.Diagnostics.Contracts; using System.IdentityModel.Claims; using System.IdentityModel.Policy; @@ -104,6 +105,7 @@ namespace DotNetOpenAuth.InfoCard { /// </summary> /// <param name="claim">Claim to translate to a string</param> /// <returns>The string representation of a claim's value.</returns> + [SuppressMessage("Microsoft.Reliability", "CA2000:Dispose objects before losing scope", Justification = "False positive.")] internal static string GetResourceValue(Claim claim) { string strClaim = claim.Resource as string; if (!string.IsNullOrEmpty(strClaim)) { @@ -218,6 +220,7 @@ namespace DotNetOpenAuth.InfoCard { /// <value>The ID displayed by the Identity Selector.</value> /// <param name="ppid">The personal private identifier.</param> /// <returns>A string containing the XXX-XXXX-XXX cosmetic value.</returns> + [SuppressMessage("Microsoft.Reliability", "CA2000:Dispose objects before losing scope", Justification = "False positive.")] internal static string CalculateSiteSpecificID(string ppid) { Requires.NotNull(ppid, "ppid"); Contract.Ensures(!string.IsNullOrEmpty(Contract.Result<string>())); @@ -270,6 +273,7 @@ namespace DotNetOpenAuth.InfoCard { /// <param name="issuerKey">The key of the issuer of the token</param> /// <param name="claimValue">the claim value to hash with.</param> /// <returns>A base64 representation of the combined ID.</returns> + [SuppressMessage("Microsoft.Reliability", "CA2000:Dispose objects before losing scope", Justification = "False positive.")] private static string ComputeCombinedId(RSA issuerKey, string claimValue) { Requires.NotNull(issuerKey, "issuerKey"); Requires.NotNull(claimValue, "claimValue"); diff --git a/src/DotNetOpenAuth.InfoCard/InfoCard/WellKnownClaimTypes.cs b/src/DotNetOpenAuth.InfoCard/InfoCard/WellKnownClaimTypes.cs index 94ebae8..7a00d4d 100644 --- a/src/DotNetOpenAuth.InfoCard/InfoCard/WellKnownClaimTypes.cs +++ b/src/DotNetOpenAuth.InfoCard/InfoCard/WellKnownClaimTypes.cs @@ -1,6 +1,6 @@ //----------------------------------------------------------------------- -// <copyright file="WellKnownClaimTypes.cs" company="Andrew Arnott"> -// Copyright (c) Andrew Arnott. All rights reserved. +// <copyright file="WellKnownClaimTypes.cs" company="Outercurve Foundation"> +// Copyright (c) Outercurve Foundation. All rights reserved. // </copyright> //----------------------------------------------------------------------- diff --git a/src/DotNetOpenAuth.InfoCard/InfoCard/WellKnownIssuers.cs b/src/DotNetOpenAuth.InfoCard/InfoCard/WellKnownIssuers.cs index 8c63287..103bac4 100644 --- a/src/DotNetOpenAuth.InfoCard/InfoCard/WellKnownIssuers.cs +++ b/src/DotNetOpenAuth.InfoCard/InfoCard/WellKnownIssuers.cs @@ -1,6 +1,6 @@ //----------------------------------------------------------------------- -// <copyright file="WellKnownIssuers.cs" company="Andrew Arnott"> -// Copyright (c) Andrew Arnott. All rights reserved. +// <copyright file="WellKnownIssuers.cs" company="Outercurve Foundation"> +// Copyright (c) Outercurve Foundation. All rights reserved. // </copyright> //----------------------------------------------------------------------- diff --git a/src/DotNetOpenAuth.InfoCard/InfoCardErrorUtilities.cs b/src/DotNetOpenAuth.InfoCard/InfoCardErrorUtilities.cs index da1c7ff..cfde838 100644 --- a/src/DotNetOpenAuth.InfoCard/InfoCardErrorUtilities.cs +++ b/src/DotNetOpenAuth.InfoCard/InfoCardErrorUtilities.cs @@ -1,6 +1,6 @@ //----------------------------------------------------------------------- -// <copyright file="InfoCardErrorUtilities.cs" company="Andrew Arnott"> -// Copyright (c) Andrew Arnott. All rights reserved. +// <copyright file="InfoCardErrorUtilities.cs" company="Outercurve Foundation"> +// Copyright (c) Outercurve Foundation. All rights reserved. // </copyright> //----------------------------------------------------------------------- diff --git a/src/DotNetOpenAuth.InfoCard/Properties/AssemblyInfo.cs b/src/DotNetOpenAuth.InfoCard/Properties/AssemblyInfo.cs index 7260f4b..8f1bd23 100644 --- a/src/DotNetOpenAuth.InfoCard/Properties/AssemblyInfo.cs +++ b/src/DotNetOpenAuth.InfoCard/Properties/AssemblyInfo.cs @@ -1,6 +1,6 @@ //----------------------------------------------------------------------- -// <copyright file="AssemblyInfo.cs" company="Andrew Arnott"> -// Copyright (c) Andrew Arnott. All rights reserved. +// <copyright file="AssemblyInfo.cs" company="Outercurve Foundation"> +// Copyright (c) Outercurve Foundation. All rights reserved. // </copyright> //----------------------------------------------------------------------- @@ -25,7 +25,7 @@ using System.Web.UI; [assembly: AssemblyConfiguration("")] [assembly: AssemblyCompany("")] [assembly: AssemblyProduct("DotNetOpenAuth")] -[assembly: AssemblyCopyright("Copyright © 2008")] +[assembly: AssemblyCopyright("Copyright © 2011 Outercurve Foundation")] [assembly: AssemblyTrademark("")] [assembly: AssemblyCulture("")] [assembly: NeutralResourcesLanguage("en-US")] diff --git a/src/DotNetOpenAuth.OAuth.Common/DotNetOpenAuth.OAuth.Common.csproj b/src/DotNetOpenAuth.OAuth.Common/DotNetOpenAuth.OAuth.Common.csproj new file mode 100644 index 0000000..0e3743f --- /dev/null +++ b/src/DotNetOpenAuth.OAuth.Common/DotNetOpenAuth.OAuth.Common.csproj @@ -0,0 +1,36 @@ +<?xml version="1.0" encoding="utf-8"?> +<Project ToolsVersion="4.0" DefaultTargets="Build" xmlns="http://schemas.microsoft.com/developer/msbuild/2003"> + <Import Project="$([MSBuild]::GetDirectoryNameOfFileAbove($(MSBuildProjectDirectory), EnlistmentInfo.props))\EnlistmentInfo.props" Condition=" '$([MSBuild]::GetDirectoryNameOfFileAbove($(MSBuildProjectDirectory), EnlistmentInfo.props))' != '' " /> + <PropertyGroup> + <Configuration Condition=" '$(Configuration)' == '' ">Debug</Configuration> + <Platform Condition=" '$(Platform)' == '' ">AnyCPU</Platform> + </PropertyGroup> + <Import Project="$(ProjectRoot)tools\DotNetOpenAuth.props" /> + <PropertyGroup> + <SchemaVersion>2.0</SchemaVersion> + <ProjectGuid>{115217C5-22CD-415C-A292-0DD0238CDD89}</ProjectGuid> + <OutputType>Library</OutputType> + <AppDesignerFolder>Properties</AppDesignerFolder> + <RootNamespace>DotNetOpenAuth</RootNamespace> + <AssemblyName>DotNetOpenAuth.OAuth.Common</AssemblyName> + </PropertyGroup> + <Import Project="$(ProjectRoot)tools\DotNetOpenAuth.Product.props" /> + <PropertyGroup Condition=" '$(Configuration)|$(Platform)' == 'Debug|AnyCPU' "> + </PropertyGroup> + <PropertyGroup Condition=" '$(Configuration)|$(Platform)' == 'Release|AnyCPU' "> + </PropertyGroup> + <ItemGroup> + <Compile Include="OAuth\ChannelElements\OAuthIdentity.cs" /> + <Compile Include="OAuth\ChannelElements\OAuthPrincipal.cs" /> + <Compile Include="Properties\AssemblyInfo.cs" /> + </ItemGroup> + <ItemGroup> + <ProjectReference Include="..\DotNetOpenAuth.Core\DotNetOpenAuth.Core.csproj"> + <Project>{60426312-6AE5-4835-8667-37EDEA670222}</Project> + <Name>DotNetOpenAuth.Core</Name> + </ProjectReference> + </ItemGroup> + <Import Project="$(MSBuildToolsPath)\Microsoft.CSharp.targets" /> + <Import Project="$(ProjectRoot)tools\DotNetOpenAuth.targets" /> + <Import Project="$([MSBuild]::GetDirectoryNameOfFileAbove($(MSBuildProjectDirectory), EnlistmentInfo.targets))\EnlistmentInfo.targets" Condition=" '$([MSBuild]::GetDirectoryNameOfFileAbove($(MSBuildProjectDirectory), EnlistmentInfo.targets))' != '' " /> +</Project>
\ No newline at end of file diff --git a/src/DotNetOpenAuth.OAuth.ServiceProvider/OAuth/ChannelElements/OAuthIdentity.cs b/src/DotNetOpenAuth.OAuth.Common/OAuth/ChannelElements/OAuthIdentity.cs index 6865f79..1f9fbbc 100644 --- a/src/DotNetOpenAuth.OAuth.ServiceProvider/OAuth/ChannelElements/OAuthIdentity.cs +++ b/src/DotNetOpenAuth.OAuth.Common/OAuth/ChannelElements/OAuthIdentity.cs @@ -1,6 +1,6 @@ //----------------------------------------------------------------------- -// <copyright file="OAuthIdentity.cs" company="Andrew Arnott"> -// Copyright (c) Andrew Arnott. All rights reserved. +// <copyright file="OAuthIdentity.cs" company="Outercurve Foundation"> +// Copyright (c) Outercurve Foundation. All rights reserved. // </copyright> //----------------------------------------------------------------------- diff --git a/src/DotNetOpenAuth.OAuth.ServiceProvider/OAuth/ChannelElements/OAuthPrincipal.cs b/src/DotNetOpenAuth.OAuth.Common/OAuth/ChannelElements/OAuthPrincipal.cs index f4d167d..c23939a 100644 --- a/src/DotNetOpenAuth.OAuth.ServiceProvider/OAuth/ChannelElements/OAuthPrincipal.cs +++ b/src/DotNetOpenAuth.OAuth.Common/OAuth/ChannelElements/OAuthPrincipal.cs @@ -1,6 +1,6 @@ //----------------------------------------------------------------------- -// <copyright file="OAuthPrincipal.cs" company="Andrew Arnott"> -// Copyright (c) Andrew Arnott. All rights reserved. +// <copyright file="OAuthPrincipal.cs" company="Outercurve Foundation"> +// Copyright (c) Outercurve Foundation. All rights reserved. // </copyright> //----------------------------------------------------------------------- @@ -38,17 +38,6 @@ namespace DotNetOpenAuth.OAuth.ChannelElements { /// <summary> /// Initializes a new instance of the <see cref="OAuthPrincipal"/> class. /// </summary> - /// <param name="token">The access token.</param> - internal OAuthPrincipal(IServiceProviderAccessToken token) - : this(token.Username, token.Roles) { - Requires.NotNull(token, "token"); - - this.AccessToken = token.Token; - } - - /// <summary> - /// Initializes a new instance of the <see cref="OAuthPrincipal"/> class. - /// </summary> /// <param name="identity">The identity.</param> /// <param name="roles">The roles this user belongs to.</param> internal OAuthPrincipal(OAuthIdentity identity, string[] roles) { @@ -57,10 +46,10 @@ namespace DotNetOpenAuth.OAuth.ChannelElements { } /// <summary> - /// Gets the access token used to create this principal. + /// Gets or sets the access token used to create this principal. /// </summary> /// <value>A non-empty string.</value> - public string AccessToken { get; private set; } + public string AccessToken { get; protected set; } /// <summary> /// Gets the roles that this principal has as a ReadOnlyCollection. diff --git a/src/DotNetOpenAuth.OAuth.Common/Properties/AssemblyInfo.cs b/src/DotNetOpenAuth.OAuth.Common/Properties/AssemblyInfo.cs new file mode 100644 index 0000000..08c3ec2 --- /dev/null +++ b/src/DotNetOpenAuth.OAuth.Common/Properties/AssemblyInfo.cs @@ -0,0 +1,53 @@ +//----------------------------------------------------------------------- +// <copyright file="AssemblyInfo.cs" company="Outercurve Foundation"> +// Copyright (c) Outercurve Foundation. All rights reserved. +// </copyright> +//----------------------------------------------------------------------- + +// We DON'T put an AssemblyVersionAttribute in here because it is generated in the build. + +using System; +using System.Diagnostics.Contracts; +using System.Net; +using System.Reflection; +using System.Resources; +using System.Runtime.CompilerServices; +using System.Runtime.InteropServices; +using System.Security; +using System.Security.Permissions; +using System.Web.UI; + +// General Information about an assembly is controlled through the following +// set of attributes. Change these attribute values to modify the information +// associated with an assembly. +[assembly: AssemblyTitle("DotNetOpenAuth")] +[assembly: AssemblyDescription("")] +[assembly: AssemblyConfiguration("")] +[assembly: AssemblyCompany("")] +[assembly: AssemblyProduct("DotNetOpenAuth")] +[assembly: AssemblyCopyright("Copyright © 2011 Outercurve Foundation")] +[assembly: AssemblyTrademark("")] +[assembly: AssemblyCulture("")] +[assembly: NeutralResourcesLanguage("en-US")] +[assembly: CLSCompliant(true)] + +// Setting ComVisible to false makes the types in this assembly not visible +// to COM components. If you need to access a type in this assembly from +// COM, set the ComVisible attribute to true on that type. +[assembly: ComVisible(false)] + +// The following GUID is for the ID of the typelib if this project is exposed to COM +[assembly: Guid("F9AFC069-8291-497F-B2A1-3E4D1646C572")] +[assembly: ContractVerification(true)] + +#if StrongNameSigned +// See comment at top of this file. We need this so that strong-naming doesn't +// keep this assembly from being useful to shared host (medium trust) web sites. +[assembly: AllowPartiallyTrustedCallers] + +[assembly: InternalsVisibleTo("DotNetOpenAuth.Test, PublicKey=0024000004800000940000000602000000240000525341310004000001000100AD093C3765257C89A7010E853F2C7C741FF92FA8ACE06D7B8254702CAD5CF99104447F63AB05F8BB6F51CE0D81C8C93D2FCE8C20AAFF7042E721CBA16EAAE98778611DED11C0ABC8900DC5667F99B50A9DADEC24DBD8F2C91E3E8AD300EF64F1B4B9536CEB16FB440AF939F57624A9B486F867807C649AE4830EAB88C6C03998")] +[assembly: InternalsVisibleTo("DynamicProxyGenAssembly2, PublicKey=0024000004800000940000000602000000240000525341310004000001000100c547cac37abd99c8db225ef2f6c8a3602f3b3606cc9891605d02baa56104f4cfc0734aa39b93bf7852f7d9266654753cc297e7d2edfe0bac1cdcf9f717241550e0a7b191195b7667bb4f64bcb8e2121380fd1d9d46ad2d92d2d15605093924cceaf74c4861eff62abf69b9291ed0a340e113be11e6a7d3113e92484cf7045cc7")] +#else +[assembly: InternalsVisibleTo("DotNetOpenAuth.Test")] +[assembly: InternalsVisibleTo("DynamicProxyGenAssembly2")] +#endif diff --git a/src/DotNetOpenAuth.OAuth.Consumer/DotNetOpenAuth.OAuth.Consumer.csproj b/src/DotNetOpenAuth.OAuth.Consumer/DotNetOpenAuth.OAuth.Consumer.csproj index 2478187..cb4aea3 100644 --- a/src/DotNetOpenAuth.OAuth.Consumer/DotNetOpenAuth.OAuth.Consumer.csproj +++ b/src/DotNetOpenAuth.OAuth.Consumer/DotNetOpenAuth.OAuth.Consumer.csproj @@ -39,10 +39,6 @@ <Project>{A288FCC8-6FCF-46DA-A45E-5F9281556361}</Project> <Name>DotNetOpenAuth.OAuth</Name> </ProjectReference> - <ProjectReference Include="..\DotNetOpenAuth.OpenId\DotNetOpenAuth.OpenId.csproj"> - <Project>{3896A32A-E876-4C23-B9B8-78E17D134CD3}</Project> - <Name>DotNetOpenAuth.OpenId</Name> - </ProjectReference> </ItemGroup> <Import Project="$(MSBuildToolsPath)\Microsoft.CSharp.targets" /> <Import Project="$(ProjectRoot)tools\DotNetOpenAuth.targets" /> diff --git a/src/DotNetOpenAuth.OAuth.Consumer/OAuth/ChannelElements/IConsumerTokenManager.cs b/src/DotNetOpenAuth.OAuth.Consumer/OAuth/ChannelElements/IConsumerTokenManager.cs index f16be64..74ec3be 100644 --- a/src/DotNetOpenAuth.OAuth.Consumer/OAuth/ChannelElements/IConsumerTokenManager.cs +++ b/src/DotNetOpenAuth.OAuth.Consumer/OAuth/ChannelElements/IConsumerTokenManager.cs @@ -1,6 +1,6 @@ //----------------------------------------------------------------------- -// <copyright file="IConsumerTokenManager.cs" company="Andrew Arnott"> -// Copyright (c) Andrew Arnott. All rights reserved. +// <copyright file="IConsumerTokenManager.cs" company="Outercurve Foundation"> +// Copyright (c) Outercurve Foundation. All rights reserved. // </copyright> //----------------------------------------------------------------------- diff --git a/src/DotNetOpenAuth.OAuth.Consumer/OAuth/ChannelElements/OAuthConsumerChannel.cs b/src/DotNetOpenAuth.OAuth.Consumer/OAuth/ChannelElements/OAuthConsumerChannel.cs index 553d6c6..673c23f 100644 --- a/src/DotNetOpenAuth.OAuth.Consumer/OAuth/ChannelElements/OAuthConsumerChannel.cs +++ b/src/DotNetOpenAuth.OAuth.Consumer/OAuth/ChannelElements/OAuthConsumerChannel.cs @@ -1,6 +1,6 @@ //----------------------------------------------------------------------- -// <copyright file="OAuthConsumerChannel.cs" company="Andrew Arnott"> -// Copyright (c) Andrew Arnott. All rights reserved. +// <copyright file="OAuthConsumerChannel.cs" company="Outercurve Foundation"> +// Copyright (c) Outercurve Foundation. All rights reserved. // </copyright> //----------------------------------------------------------------------- @@ -30,11 +30,10 @@ namespace DotNetOpenAuth.OAuth.ChannelElements { internal OAuthConsumerChannel(ITamperProtectionChannelBindingElement signingBindingElement, INonceStore store, IConsumerTokenManager tokenManager, ConsumerSecuritySettings securitySettings, IMessageFactory messageFactory = null) : base( signingBindingElement, - store, tokenManager, securitySettings, messageFactory ?? new OAuthConsumerMessageFactory(), - InitializeBindingElements(signingBindingElement, store, tokenManager, securitySettings)) { + InitializeBindingElements(signingBindingElement, store)) { Requires.NotNull(tokenManager, "tokenManager"); Requires.NotNull(securitySettings, "securitySettings"); Requires.NotNull(signingBindingElement, "signingBindingElement"); @@ -56,15 +55,11 @@ namespace DotNetOpenAuth.OAuth.ChannelElements { /// </summary> /// <param name="signingBindingElement">The signing binding element.</param> /// <param name="store">The nonce store.</param> - /// <param name="tokenManager">The token manager.</param> - /// <param name="securitySettings">The security settings.</param> /// <returns> /// An array of binding elements used to initialize the channel. /// </returns> - private static new IChannelBindingElement[] InitializeBindingElements(ITamperProtectionChannelBindingElement signingBindingElement, INonceStore store, ITokenManager tokenManager, SecuritySettings securitySettings) { - Contract.Requires(securitySettings != null); - - return OAuthChannel.InitializeBindingElements(signingBindingElement, store, tokenManager, securitySettings).ToArray(); + private static new IChannelBindingElement[] InitializeBindingElements(ITamperProtectionChannelBindingElement signingBindingElement, INonceStore store) { + return OAuthChannel.InitializeBindingElements(signingBindingElement, store).ToArray(); } } } diff --git a/src/DotNetOpenAuth.OAuth.Consumer/OAuth/ChannelElements/OAuthConsumerMessageFactory.cs b/src/DotNetOpenAuth.OAuth.Consumer/OAuth/ChannelElements/OAuthConsumerMessageFactory.cs index 327b923..f9cf1fe 100644 --- a/src/DotNetOpenAuth.OAuth.Consumer/OAuth/ChannelElements/OAuthConsumerMessageFactory.cs +++ b/src/DotNetOpenAuth.OAuth.Consumer/OAuth/ChannelElements/OAuthConsumerMessageFactory.cs @@ -1,6 +1,6 @@ //----------------------------------------------------------------------- -// <copyright file="OAuthConsumerMessageFactory.cs" company="Andrew Arnott"> -// Copyright (c) Andrew Arnott. All rights reserved. +// <copyright file="OAuthConsumerMessageFactory.cs" company="Outercurve Foundation"> +// Copyright (c) Outercurve Foundation. All rights reserved. // </copyright> //----------------------------------------------------------------------- diff --git a/src/DotNetOpenAuth.OAuth.Consumer/OAuth/ChannelElements/RsaSha1ConsumerSigningBindingElement.cs b/src/DotNetOpenAuth.OAuth.Consumer/OAuth/ChannelElements/RsaSha1ConsumerSigningBindingElement.cs index 7a7998e..03e1b8e 100644 --- a/src/DotNetOpenAuth.OAuth.Consumer/OAuth/ChannelElements/RsaSha1ConsumerSigningBindingElement.cs +++ b/src/DotNetOpenAuth.OAuth.Consumer/OAuth/ChannelElements/RsaSha1ConsumerSigningBindingElement.cs @@ -1,11 +1,12 @@ //----------------------------------------------------------------------- -// <copyright file="RsaSha1ConsumerSigningBindingElement.cs" company="Andrew Arnott"> -// Copyright (c) Andrew Arnott. All rights reserved. +// <copyright file="RsaSha1ConsumerSigningBindingElement.cs" company="Outercurve Foundation"> +// Copyright (c) Outercurve Foundation. All rights reserved. // </copyright> //----------------------------------------------------------------------- namespace DotNetOpenAuth.OAuth.ChannelElements { using System; + using System.Diagnostics.CodeAnalysis; using System.Diagnostics.Contracts; using System.Security.Cryptography; using System.Security.Cryptography.X509Certificates; @@ -15,6 +16,7 @@ namespace DotNetOpenAuth.OAuth.ChannelElements { /// <summary> /// A binding element that signs outgoing messages and verifies the signature on incoming messages. /// </summary> + [SuppressMessage("Microsoft.Naming", "CA1704:IdentifiersShouldBeSpelledCorrectly", MessageId = "Sha", Justification = "Acronym")] public class RsaSha1ConsumerSigningBindingElement : RsaSha1SigningBindingElement { /// <summary> /// Initializes a new instance of the <see cref="RsaSha1ConsumerSigningBindingElement"/> class. diff --git a/src/DotNetOpenAuth.OAuth.Consumer/OAuth/ConsumerBase.cs b/src/DotNetOpenAuth.OAuth.Consumer/OAuth/ConsumerBase.cs index 89f5a5f..10f2c54 100644 --- a/src/DotNetOpenAuth.OAuth.Consumer/OAuth/ConsumerBase.cs +++ b/src/DotNetOpenAuth.OAuth.Consumer/OAuth/ConsumerBase.cs @@ -1,6 +1,6 @@ //----------------------------------------------------------------------- -// <copyright file="ConsumerBase.cs" company="Andrew Arnott"> -// Copyright (c) Andrew Arnott. All rights reserved. +// <copyright file="ConsumerBase.cs" company="Outercurve Foundation"> +// Copyright (c) Outercurve Foundation. All rights reserved. // </copyright> //----------------------------------------------------------------------- @@ -84,8 +84,9 @@ namespace DotNetOpenAuth.OAuth { /// The token secret is stored in the <see cref="TokenManager"/>. /// </remarks> public string RequestNewClientAccount(IDictionary<string, string> requestParameters = null) { - // Obtain an unauthorized request token. Assume the OAuth version given in the service description. - var token = new UnauthorizedTokenRequest(this.ServiceProvider.RequestTokenEndpoint, this.ServiceProvider.Version) { + // Obtain an unauthorized request token. Force use of OAuth 1.0 (not 1.0a) so that + // we are not expected to provide an oauth_verifier which doesn't apply in 2-legged OAuth. + var token = new UnauthorizedTokenRequest(this.ServiceProvider.RequestTokenEndpoint, Protocol.V10.Version) { ConsumerKey = this.ConsumerKey, }; var tokenAccessor = this.Channel.MessageDescriptions.GetAccessor(token); @@ -93,7 +94,7 @@ namespace DotNetOpenAuth.OAuth { var requestTokenResponse = this.Channel.Request<UnauthorizedTokenResponse>(token); this.TokenManager.StoreNewRequestToken(token, requestTokenResponse); - var requestAccess = new AuthorizedTokenRequest(this.ServiceProvider.AccessTokenEndpoint, this.ServiceProvider.Version) { + var requestAccess = new AuthorizedTokenRequest(this.ServiceProvider.AccessTokenEndpoint, Protocol.V10.Version) { RequestToken = requestTokenResponse.RequestToken, ConsumerKey = this.ConsumerKey, }; diff --git a/src/DotNetOpenAuth.OAuth.Consumer/OAuth/DesktopConsumer.cs b/src/DotNetOpenAuth.OAuth.Consumer/OAuth/DesktopConsumer.cs index f9c1a94..fe6020e 100644 --- a/src/DotNetOpenAuth.OAuth.Consumer/OAuth/DesktopConsumer.cs +++ b/src/DotNetOpenAuth.OAuth.Consumer/OAuth/DesktopConsumer.cs @@ -1,6 +1,6 @@ //----------------------------------------------------------------------- -// <copyright file="DesktopConsumer.cs" company="Andrew Arnott"> -// Copyright (c) Andrew Arnott. All rights reserved. +// <copyright file="DesktopConsumer.cs" company="Outercurve Foundation"> +// Copyright (c) Outercurve Foundation. All rights reserved. // </copyright> //----------------------------------------------------------------------- diff --git a/src/DotNetOpenAuth.OAuth.Consumer/OAuth/WebConsumer.cs b/src/DotNetOpenAuth.OAuth.Consumer/OAuth/WebConsumer.cs index e7d7f4f..d599598 100644 --- a/src/DotNetOpenAuth.OAuth.Consumer/OAuth/WebConsumer.cs +++ b/src/DotNetOpenAuth.OAuth.Consumer/OAuth/WebConsumer.cs @@ -1,6 +1,6 @@ //----------------------------------------------------------------------- -// <copyright file="WebConsumer.cs" company="Andrew Arnott"> -// Copyright (c) Andrew Arnott. All rights reserved. +// <copyright file="WebConsumer.cs" company="Outercurve Foundation"> +// Copyright (c) Outercurve Foundation. All rights reserved. // </copyright> //----------------------------------------------------------------------- @@ -12,8 +12,6 @@ namespace DotNetOpenAuth.OAuth { using DotNetOpenAuth.Messaging; using DotNetOpenAuth.OAuth.ChannelElements; using DotNetOpenAuth.OAuth.Messages; - using DotNetOpenAuth.OpenId.Extensions.OAuth; - using DotNetOpenAuth.OpenId.RelyingParty; /// <summary> /// A website or application that uses OAuth to access the Service Provider on behalf of the User. @@ -74,67 +72,6 @@ namespace DotNetOpenAuth.OAuth { } /// <summary> - /// Attaches an OAuth authorization request to an outgoing OpenID authentication request. - /// </summary> - /// <param name="openIdAuthenticationRequest">The OpenID authentication request.</param> - /// <param name="scope">The scope of access that is requested of the service provider.</param> - public void AttachAuthorizationRequest(IAuthenticationRequest openIdAuthenticationRequest, string scope) { - Requires.NotNull(openIdAuthenticationRequest, "openIdAuthenticationRequest"); - - var authorizationRequest = new AuthorizationRequest { - Consumer = this.ConsumerKey, - Scope = scope, - }; - - openIdAuthenticationRequest.AddExtension(authorizationRequest); - } - - /// <summary> - /// Processes an incoming authorization-granted message from an SP and obtains an access token. - /// </summary> - /// <param name="openIdAuthenticationResponse">The OpenID authentication response that may be carrying an authorized request token.</param> - /// <returns> - /// The access token, or null if OAuth authorization was denied by the user or service provider. - /// </returns> - /// <remarks> - /// The access token, if granted, is automatically stored in the <see cref="ConsumerBase.TokenManager"/>. - /// The token manager instance must implement <see cref="IOpenIdOAuthTokenManager"/>. - /// </remarks> - public AuthorizedTokenResponse ProcessUserAuthorization(IAuthenticationResponse openIdAuthenticationResponse) { - Requires.NotNull(openIdAuthenticationResponse, "openIdAuthenticationResponse"); - Requires.ValidState(this.TokenManager is IOpenIdOAuthTokenManager); - var openidTokenManager = this.TokenManager as IOpenIdOAuthTokenManager; - ErrorUtilities.VerifyOperation(openidTokenManager != null, OAuthStrings.OpenIdOAuthExtensionRequiresSpecialTokenManagerInterface, typeof(IOpenIdOAuthTokenManager).FullName); - - // The OAuth extension is only expected in positive assertion responses. - if (openIdAuthenticationResponse.Status != AuthenticationStatus.Authenticated) { - return null; - } - - // Retrieve the OAuth extension - var positiveAuthorization = openIdAuthenticationResponse.GetExtension<AuthorizationApprovedResponse>(); - if (positiveAuthorization == null) { - return null; - } - - // Prepare a message to exchange the request token for an access token. - // We are careful to use a v1.0 message version so that the oauth_verifier is not required. - var requestAccess = new AuthorizedTokenRequest(this.ServiceProvider.AccessTokenEndpoint, Protocol.V10.Version) { - RequestToken = positiveAuthorization.RequestToken, - ConsumerKey = this.ConsumerKey, - }; - - // Retrieve the access token and store it in the token manager. - openidTokenManager.StoreOpenIdAuthorizedRequestToken(this.ConsumerKey, positiveAuthorization); - var grantAccess = this.Channel.Request<AuthorizedTokenResponse>(requestAccess); - this.TokenManager.ExpireRequestTokenAndStoreNewAccessToken(this.ConsumerKey, positiveAuthorization.RequestToken, grantAccess.AccessToken, grantAccess.TokenSecret); - - // Provide the caller with the access token so it may be associated with the user - // that is logging in. - return grantAccess; - } - - /// <summary> /// Processes an incoming authorization-granted message from an SP and obtains an access token. /// </summary> /// <param name="request">The incoming HTTP request.</param> diff --git a/src/DotNetOpenAuth.OAuth.Consumer/Properties/AssemblyInfo.cs b/src/DotNetOpenAuth.OAuth.Consumer/Properties/AssemblyInfo.cs index fd29585..026bb60 100644 --- a/src/DotNetOpenAuth.OAuth.Consumer/Properties/AssemblyInfo.cs +++ b/src/DotNetOpenAuth.OAuth.Consumer/Properties/AssemblyInfo.cs @@ -1,6 +1,6 @@ //----------------------------------------------------------------------- -// <copyright file="AssemblyInfo.cs" company="Andrew Arnott"> -// Copyright (c) Andrew Arnott. All rights reserved. +// <copyright file="AssemblyInfo.cs" company="Outercurve Foundation"> +// Copyright (c) Outercurve Foundation. All rights reserved. // </copyright> //----------------------------------------------------------------------- @@ -25,7 +25,7 @@ using System.Web.UI; [assembly: AssemblyConfiguration("")] [assembly: AssemblyCompany("")] [assembly: AssemblyProduct("DotNetOpenAuth")] -[assembly: AssemblyCopyright("Copyright © 2008")] +[assembly: AssemblyCopyright("Copyright © 2011 Outercurve Foundation")] [assembly: AssemblyTrademark("")] [assembly: AssemblyCulture("")] [assembly: NeutralResourcesLanguage("en-US")] diff --git a/src/DotNetOpenAuth.OAuth.Consumer/Properties/Properties/AssemblyInfo.cs b/src/DotNetOpenAuth.OAuth.Consumer/Properties/Properties/AssemblyInfo.cs index d402b02..cf7bb52 100644 --- a/src/DotNetOpenAuth.OAuth.Consumer/Properties/Properties/AssemblyInfo.cs +++ b/src/DotNetOpenAuth.OAuth.Consumer/Properties/Properties/AssemblyInfo.cs @@ -1,6 +1,6 @@ //----------------------------------------------------------------------- -// <copyright file="AssemblyInfo.cs" company="Andrew Arnott"> -// Copyright (c) Andrew Arnott. All rights reserved. +// <copyright file="AssemblyInfo.cs" company="Outercurve Foundation"> +// Copyright (c) Outercurve Foundation. All rights reserved. // </copyright> //----------------------------------------------------------------------- @@ -27,7 +27,7 @@ using System.Web.UI; [assembly: AssemblyConfiguration("")] [assembly: AssemblyCompany("")] [assembly: AssemblyProduct("DotNetOpenAuth")] -[assembly: AssemblyCopyright("Copyright © 2008")] +[assembly: AssemblyCopyright("Copyright © 2011 Outercurve Foundation")] [assembly: AssemblyTrademark("")] [assembly: AssemblyCulture("")] [assembly: NeutralResourcesLanguage("en-US")] diff --git a/src/DotNetOpenAuth.OAuth.ServiceProvider/DotNetOpenAuth.OAuth.ServiceProvider.csproj b/src/DotNetOpenAuth.OAuth.ServiceProvider/DotNetOpenAuth.OAuth.ServiceProvider.csproj index 4e99b4a..689d08a 100644 --- a/src/DotNetOpenAuth.OAuth.ServiceProvider/DotNetOpenAuth.OAuth.ServiceProvider.csproj +++ b/src/DotNetOpenAuth.OAuth.ServiceProvider/DotNetOpenAuth.OAuth.ServiceProvider.csproj @@ -23,10 +23,9 @@ <Compile Include="OAuth\ChannelElements\IServiceProviderRequestToken.cs" /> <Compile Include="OAuth\ChannelElements\IServiceProviderTokenManager.cs" /> <Compile Include="OAuth\ChannelElements\ITokenGenerator.cs" /> + <Compile Include="OAuth\ChannelElements\OAuth1Principal.cs" /> <Compile Include="OAuth\ChannelElements\OAuthServiceProviderChannel.cs" /> <Compile Include="OAuth\ChannelElements\OAuthServiceProviderMessageFactory.cs" /> - <Compile Include="OAuth\ChannelElements\OAuthIdentity.cs" /> - <Compile Include="OAuth\ChannelElements\OAuthPrincipal.cs" /> <Compile Include="OAuth\ChannelElements\RsaSha1ServiceProviderSigningBindingElement.cs" /> <Compile Include="OAuth\ChannelElements\StandardTokenGenerator.cs" /> <Compile Include="OAuth\ChannelElements\TokenHandlingBindingElement.cs" /> @@ -42,14 +41,14 @@ <Project>{60426312-6AE5-4835-8667-37EDEA670222}</Project> <Name>DotNetOpenAuth.Core</Name> </ProjectReference> + <ProjectReference Include="..\DotNetOpenAuth.OAuth.Common\DotNetOpenAuth.OAuth.Common.csproj"> + <Project>{115217C5-22CD-415C-A292-0DD0238CDD89}</Project> + <Name>DotNetOpenAuth.OAuth.Common</Name> + </ProjectReference> <ProjectReference Include="..\DotNetOpenAuth.OAuth\DotNetOpenAuth.OAuth.csproj"> <Project>{A288FCC8-6FCF-46DA-A45E-5F9281556361}</Project> <Name>DotNetOpenAuth.OAuth</Name> </ProjectReference> - <ProjectReference Include="..\DotNetOpenAuth.OpenId\DotNetOpenAuth.OpenId.csproj"> - <Project>{3896A32A-E876-4C23-B9B8-78E17D134CD3}</Project> - <Name>DotNetOpenAuth.OpenId</Name> - </ProjectReference> </ItemGroup> <Import Project="$(MSBuildToolsPath)\Microsoft.CSharp.targets" /> <Import Project="$(ProjectRoot)tools\DotNetOpenAuth.targets" /> diff --git a/src/DotNetOpenAuth.OAuth.ServiceProvider/OAuth/ChannelElements/IConsumerDescription.cs b/src/DotNetOpenAuth.OAuth.ServiceProvider/OAuth/ChannelElements/IConsumerDescription.cs index db505d5..9c52dec 100644 --- a/src/DotNetOpenAuth.OAuth.ServiceProvider/OAuth/ChannelElements/IConsumerDescription.cs +++ b/src/DotNetOpenAuth.OAuth.ServiceProvider/OAuth/ChannelElements/IConsumerDescription.cs @@ -1,6 +1,6 @@ //----------------------------------------------------------------------- -// <copyright file="IConsumerDescription.cs" company="Andrew Arnott"> -// Copyright (c) Andrew Arnott. All rights reserved. +// <copyright file="IConsumerDescription.cs" company="Outercurve Foundation"> +// Copyright (c) Outercurve Foundation. All rights reserved. // </copyright> //----------------------------------------------------------------------- diff --git a/src/DotNetOpenAuth.OAuth.ServiceProvider/OAuth/ChannelElements/IServiceProviderAccessToken.cs b/src/DotNetOpenAuth.OAuth.ServiceProvider/OAuth/ChannelElements/IServiceProviderAccessToken.cs index 35ba52d..00ef5af 100644 --- a/src/DotNetOpenAuth.OAuth.ServiceProvider/OAuth/ChannelElements/IServiceProviderAccessToken.cs +++ b/src/DotNetOpenAuth.OAuth.ServiceProvider/OAuth/ChannelElements/IServiceProviderAccessToken.cs @@ -1,6 +1,6 @@ //----------------------------------------------------------------------- -// <copyright file="IServiceProviderAccessToken.cs" company="Andrew Arnott"> -// Copyright (c) Andrew Arnott. All rights reserved. +// <copyright file="IServiceProviderAccessToken.cs" company="Outercurve Foundation"> +// Copyright (c) Outercurve Foundation. All rights reserved. // </copyright> //----------------------------------------------------------------------- diff --git a/src/DotNetOpenAuth.OAuth.ServiceProvider/OAuth/ChannelElements/IServiceProviderRequestToken.cs b/src/DotNetOpenAuth.OAuth.ServiceProvider/OAuth/ChannelElements/IServiceProviderRequestToken.cs index 6dfa416..be6b67d 100644 --- a/src/DotNetOpenAuth.OAuth.ServiceProvider/OAuth/ChannelElements/IServiceProviderRequestToken.cs +++ b/src/DotNetOpenAuth.OAuth.ServiceProvider/OAuth/ChannelElements/IServiceProviderRequestToken.cs @@ -1,6 +1,6 @@ //----------------------------------------------------------------------- -// <copyright file="IServiceProviderRequestToken.cs" company="Andrew Arnott"> -// Copyright (c) Andrew Arnott. All rights reserved. +// <copyright file="IServiceProviderRequestToken.cs" company="Outercurve Foundation"> +// Copyright (c) Outercurve Foundation. All rights reserved. // </copyright> //----------------------------------------------------------------------- diff --git a/src/DotNetOpenAuth.OAuth.ServiceProvider/OAuth/ChannelElements/IServiceProviderTokenManager.cs b/src/DotNetOpenAuth.OAuth.ServiceProvider/OAuth/ChannelElements/IServiceProviderTokenManager.cs index 13320b3..2d47d00 100644 --- a/src/DotNetOpenAuth.OAuth.ServiceProvider/OAuth/ChannelElements/IServiceProviderTokenManager.cs +++ b/src/DotNetOpenAuth.OAuth.ServiceProvider/OAuth/ChannelElements/IServiceProviderTokenManager.cs @@ -1,6 +1,6 @@ //----------------------------------------------------------------------- -// <copyright file="IServiceProviderTokenManager.cs" company="Andrew Arnott"> -// Copyright (c) Andrew Arnott. All rights reserved. +// <copyright file="IServiceProviderTokenManager.cs" company="Outercurve Foundation"> +// Copyright (c) Outercurve Foundation. All rights reserved. // </copyright> //----------------------------------------------------------------------- diff --git a/src/DotNetOpenAuth.OAuth.ServiceProvider/OAuth/ChannelElements/ITokenGenerator.cs b/src/DotNetOpenAuth.OAuth.ServiceProvider/OAuth/ChannelElements/ITokenGenerator.cs index ce22479..de16956 100644 --- a/src/DotNetOpenAuth.OAuth.ServiceProvider/OAuth/ChannelElements/ITokenGenerator.cs +++ b/src/DotNetOpenAuth.OAuth.ServiceProvider/OAuth/ChannelElements/ITokenGenerator.cs @@ -1,6 +1,6 @@ //----------------------------------------------------------------------- -// <copyright file="ITokenGenerator.cs" company="Andrew Arnott"> -// Copyright (c) Andrew Arnott. All rights reserved. +// <copyright file="ITokenGenerator.cs" company="Outercurve Foundation"> +// Copyright (c) Outercurve Foundation. All rights reserved. // </copyright> //----------------------------------------------------------------------- diff --git a/src/DotNetOpenAuth.OAuth.ServiceProvider/OAuth/ChannelElements/OAuth1Principal.cs b/src/DotNetOpenAuth.OAuth.ServiceProvider/OAuth/ChannelElements/OAuth1Principal.cs new file mode 100644 index 0000000..03f8030 --- /dev/null +++ b/src/DotNetOpenAuth.OAuth.ServiceProvider/OAuth/ChannelElements/OAuth1Principal.cs @@ -0,0 +1,33 @@ +//----------------------------------------------------------------------- +// <copyright file="OAuth1Principal.cs" company="Outercurve Foundation"> +// Copyright (c) Outercurve Foundation. All rights reserved. +// </copyright> +//----------------------------------------------------------------------- + +namespace DotNetOpenAuth.OAuth.ChannelElements { + using System; + using System.Collections.Generic; + using System.Diagnostics.CodeAnalysis; + using System.Linq; + using System.Runtime.InteropServices; + using System.Text; + + /// <summary> + /// Represents an OAuth consumer that is impersonating a known user on the system. + /// </summary> + [SuppressMessage("Microsoft.Interoperability", "CA1409:ComVisibleTypesShouldBeCreatable", Justification = "Not cocreatable.")] + [Serializable] + [ComVisible(true)] + internal class OAuth1Principal : OAuthPrincipal { + /// <summary> + /// Initializes a new instance of the <see cref="OAuth1Principal"/> class. + /// </summary> + /// <param name="token">The access token.</param> + internal OAuth1Principal(IServiceProviderAccessToken token) + : base(token.Username, token.Roles) { + Requires.NotNull(token, "token"); + + this.AccessToken = token.Token; + } + } +} diff --git a/src/DotNetOpenAuth.OAuth.ServiceProvider/OAuth/ChannelElements/OAuthServiceProviderChannel.cs b/src/DotNetOpenAuth.OAuth.ServiceProvider/OAuth/ChannelElements/OAuthServiceProviderChannel.cs index 43e7902..0d6450f 100644 --- a/src/DotNetOpenAuth.OAuth.ServiceProvider/OAuth/ChannelElements/OAuthServiceProviderChannel.cs +++ b/src/DotNetOpenAuth.OAuth.ServiceProvider/OAuth/ChannelElements/OAuthServiceProviderChannel.cs @@ -1,6 +1,6 @@ //----------------------------------------------------------------------- -// <copyright file="OAuthServiceProviderChannel.cs" company="Andrew Arnott"> -// Copyright (c) Andrew Arnott. All rights reserved. +// <copyright file="OAuthServiceProviderChannel.cs" company="Outercurve Foundation"> +// Copyright (c) Outercurve Foundation. All rights reserved. // </copyright> //----------------------------------------------------------------------- @@ -30,7 +30,6 @@ namespace DotNetOpenAuth.OAuth.ChannelElements { internal OAuthServiceProviderChannel(ITamperProtectionChannelBindingElement signingBindingElement, INonceStore store, IServiceProviderTokenManager tokenManager, ServiceProviderSecuritySettings securitySettings, IMessageFactory messageTypeProvider = null) : base( signingBindingElement, - store, tokenManager, securitySettings, messageTypeProvider ?? new OAuthServiceProviderMessageFactory(tokenManager), @@ -59,10 +58,10 @@ namespace DotNetOpenAuth.OAuth.ChannelElements { /// <returns> /// An array of binding elements used to initialize the channel. /// </returns> - private static new IChannelBindingElement[] InitializeBindingElements(ITamperProtectionChannelBindingElement signingBindingElement, INonceStore store, ITokenManager tokenManager, SecuritySettings securitySettings) { + private static IChannelBindingElement[] InitializeBindingElements(ITamperProtectionChannelBindingElement signingBindingElement, INonceStore store, ITokenManager tokenManager, SecuritySettings securitySettings) { Contract.Requires(securitySettings != null); - var bindingElements = OAuthChannel.InitializeBindingElements(signingBindingElement, store, tokenManager, securitySettings); + var bindingElements = OAuthChannel.InitializeBindingElements(signingBindingElement, store); var spTokenManager = tokenManager as IServiceProviderTokenManager; var serviceProviderSecuritySettings = securitySettings as ServiceProviderSecuritySettings; diff --git a/src/DotNetOpenAuth.OAuth.ServiceProvider/OAuth/ChannelElements/OAuthServiceProviderMessageFactory.cs b/src/DotNetOpenAuth.OAuth.ServiceProvider/OAuth/ChannelElements/OAuthServiceProviderMessageFactory.cs index 565756b..3dcee04 100644 --- a/src/DotNetOpenAuth.OAuth.ServiceProvider/OAuth/ChannelElements/OAuthServiceProviderMessageFactory.cs +++ b/src/DotNetOpenAuth.OAuth.ServiceProvider/OAuth/ChannelElements/OAuthServiceProviderMessageFactory.cs @@ -1,6 +1,6 @@ //----------------------------------------------------------------------- -// <copyright file="OAuthServiceProviderMessageFactory.cs" company="Andrew Arnott"> -// Copyright (c) Andrew Arnott. All rights reserved. +// <copyright file="OAuthServiceProviderMessageFactory.cs" company="Outercurve Foundation"> +// Copyright (c) Outercurve Foundation. All rights reserved. // </copyright> //----------------------------------------------------------------------- diff --git a/src/DotNetOpenAuth.OAuth.ServiceProvider/OAuth/ChannelElements/RsaSha1ServiceProviderSigningBindingElement.cs b/src/DotNetOpenAuth.OAuth.ServiceProvider/OAuth/ChannelElements/RsaSha1ServiceProviderSigningBindingElement.cs index 06a005b..d1324d4 100644 --- a/src/DotNetOpenAuth.OAuth.ServiceProvider/OAuth/ChannelElements/RsaSha1ServiceProviderSigningBindingElement.cs +++ b/src/DotNetOpenAuth.OAuth.ServiceProvider/OAuth/ChannelElements/RsaSha1ServiceProviderSigningBindingElement.cs @@ -1,11 +1,12 @@ //----------------------------------------------------------------------- -// <copyright file="RsaSha1ServiceProviderSigningBindingElement.cs" company="Andrew Arnott"> -// Copyright (c) Andrew Arnott. All rights reserved. +// <copyright file="RsaSha1ServiceProviderSigningBindingElement.cs" company="Outercurve Foundation"> +// Copyright (c) Outercurve Foundation. All rights reserved. // </copyright> //----------------------------------------------------------------------- namespace DotNetOpenAuth.OAuth.ChannelElements { using System; + using System.Diagnostics.CodeAnalysis; using System.Diagnostics.Contracts; using System.Security.Cryptography; using System.Security.Cryptography.X509Certificates; @@ -15,6 +16,7 @@ namespace DotNetOpenAuth.OAuth.ChannelElements { /// <summary> /// A binding element that signs outgoing messages and verifies the signature on incoming messages. /// </summary> + [SuppressMessage("Microsoft.Naming", "CA1704:IdentifiersShouldBeSpelledCorrectly", MessageId = "Sha", Justification = "Acronym")] public class RsaSha1ServiceProviderSigningBindingElement : RsaSha1SigningBindingElement { /// <summary> /// The token manager for the service provider. diff --git a/src/DotNetOpenAuth.OAuth.ServiceProvider/OAuth/ChannelElements/StandardTokenGenerator.cs b/src/DotNetOpenAuth.OAuth.ServiceProvider/OAuth/ChannelElements/StandardTokenGenerator.cs index d18f5fe..e0addd4 100644 --- a/src/DotNetOpenAuth.OAuth.ServiceProvider/OAuth/ChannelElements/StandardTokenGenerator.cs +++ b/src/DotNetOpenAuth.OAuth.ServiceProvider/OAuth/ChannelElements/StandardTokenGenerator.cs @@ -1,6 +1,6 @@ //----------------------------------------------------------------------- -// <copyright file="StandardTokenGenerator.cs" company="Andrew Arnott"> -// Copyright (c) Andrew Arnott. All rights reserved. +// <copyright file="StandardTokenGenerator.cs" company="Outercurve Foundation"> +// Copyright (c) Outercurve Foundation. All rights reserved. // </copyright> //----------------------------------------------------------------------- diff --git a/src/DotNetOpenAuth.OAuth.ServiceProvider/OAuth/ChannelElements/TokenHandlingBindingElement.cs b/src/DotNetOpenAuth.OAuth.ServiceProvider/OAuth/ChannelElements/TokenHandlingBindingElement.cs index 596336a..e37cc2f 100644 --- a/src/DotNetOpenAuth.OAuth.ServiceProvider/OAuth/ChannelElements/TokenHandlingBindingElement.cs +++ b/src/DotNetOpenAuth.OAuth.ServiceProvider/OAuth/ChannelElements/TokenHandlingBindingElement.cs @@ -1,6 +1,6 @@ //----------------------------------------------------------------------- -// <copyright file="TokenHandlingBindingElement.cs" company="Andrew Arnott"> -// Copyright (c) Andrew Arnott. All rights reserved. +// <copyright file="TokenHandlingBindingElement.cs" company="Outercurve Foundation"> +// Copyright (c) Outercurve Foundation. All rights reserved. // </copyright> //----------------------------------------------------------------------- diff --git a/src/DotNetOpenAuth.OAuth.ServiceProvider/OAuth/ServiceProvider.cs b/src/DotNetOpenAuth.OAuth.ServiceProvider/OAuth/ServiceProvider.cs index 719e84e..9d93e4f 100644 --- a/src/DotNetOpenAuth.OAuth.ServiceProvider/OAuth/ServiceProvider.cs +++ b/src/DotNetOpenAuth.OAuth.ServiceProvider/OAuth/ServiceProvider.cs @@ -1,6 +1,6 @@ //----------------------------------------------------------------------- -// <copyright file="ServiceProvider.cs" company="Andrew Arnott"> -// Copyright (c) Andrew Arnott. All rights reserved. +// <copyright file="ServiceProvider.cs" company="Outercurve Foundation"> +// Copyright (c) Outercurve Foundation. All rights reserved. // </copyright> //----------------------------------------------------------------------- @@ -19,10 +19,6 @@ namespace DotNetOpenAuth.OAuth { using DotNetOpenAuth.Messaging.Bindings; using DotNetOpenAuth.OAuth.ChannelElements; using DotNetOpenAuth.OAuth.Messages; - using DotNetOpenAuth.OpenId; - using DotNetOpenAuth.OpenId.Extensions.OAuth; - using DotNetOpenAuth.OpenId.Messages; - using DotNetOpenAuth.OpenId.Provider; /// <summary> /// A web application that allows access via OAuth. @@ -293,88 +289,6 @@ namespace DotNetOpenAuth.OAuth { } /// <summary> - /// Gets the OAuth authorization request included with an OpenID authentication - /// request, if there is one. - /// </summary> - /// <param name="openIdRequest">The OpenID authentication request.</param> - /// <returns> - /// The scope of access the relying party is requesting, or null if no OAuth request - /// is present. - /// </returns> - /// <remarks> - /// <para>Call this method rather than simply extracting the OAuth extension - /// out from the authentication request directly to ensure that the additional - /// security measures that are required are taken.</para> - /// </remarks> - public AuthorizationRequest ReadAuthorizationRequest(IHostProcessedRequest openIdRequest) { - Requires.NotNull(openIdRequest, "openIdRequest"); - Requires.ValidState(this.TokenManager is ICombinedOpenIdProviderTokenManager); - var openidTokenManager = this.TokenManager as ICombinedOpenIdProviderTokenManager; - ErrorUtilities.VerifyOperation(openidTokenManager != null, OAuthStrings.OpenIdOAuthExtensionRequiresSpecialTokenManagerInterface, typeof(IOpenIdOAuthTokenManager).FullName); - - var authzRequest = openIdRequest.GetExtension<AuthorizationRequest>(); - if (authzRequest == null) { - return null; - } - - // OpenID+OAuth spec section 9: - // The Combined Provider SHOULD verify that the consumer key passed in the - // request is authorized to be used for the realm passed in the request. - string expectedConsumerKey = openidTokenManager.GetConsumerKey(openIdRequest.Realm); - ErrorUtilities.VerifyProtocol( - string.Equals(expectedConsumerKey, authzRequest.Consumer, StringComparison.Ordinal), - OAuthStrings.OpenIdOAuthRealmConsumerKeyDoNotMatch); - - return authzRequest; - } - - /// <summary> - /// Attaches the authorization response to an OpenID authentication response. - /// </summary> - /// <param name="openIdAuthenticationRequest">The OpenID authentication request.</param> - /// <param name="consumerKey">The consumer key. Must be <c>null</c> if and only if <paramref name="scope"/> is null.</param> - /// <param name="scope">The approved access scope. Use <c>null</c> to indicate no access was granted. The empty string will be interpreted as some default level of access is granted.</param> - [SuppressMessage("Microsoft.Design", "CA1011:ConsiderPassingBaseTypesAsParameters", Justification = "We want to take IAuthenticationRequest because that's the only supported use case.")] - [Obsolete("Call the overload that doesn't take a consumerKey instead.")] - public void AttachAuthorizationResponse(IHostProcessedRequest openIdAuthenticationRequest, string consumerKey, string scope) { - Requires.NotNull(openIdAuthenticationRequest, "openIdAuthenticationRequest"); - Requires.True((consumerKey == null) == (scope == null), null); - Requires.ValidState(this.TokenManager is ICombinedOpenIdProviderTokenManager); - var openidTokenManager = (ICombinedOpenIdProviderTokenManager)this.TokenManager; - ErrorUtilities.VerifyArgument(consumerKey == null || consumerKey == openidTokenManager.GetConsumerKey(openIdAuthenticationRequest.Realm), OAuthStrings.OpenIdOAuthRealmConsumerKeyDoNotMatch); - - this.AttachAuthorizationResponse(openIdAuthenticationRequest, scope); - } - - /// <summary> - /// Attaches the authorization response to an OpenID authentication response. - /// </summary> - /// <param name="openIdAuthenticationRequest">The OpenID authentication request.</param> - /// <param name="scope">The approved access scope. Use <c>null</c> to indicate no access was granted. The empty string will be interpreted as some default level of access is granted.</param> - [SuppressMessage("Microsoft.Design", "CA1011:ConsiderPassingBaseTypesAsParameters", Justification = "We want to take IAuthenticationRequest because that's the only supported use case.")] - public void AttachAuthorizationResponse(IHostProcessedRequest openIdAuthenticationRequest, string scope) { - Requires.NotNull(openIdAuthenticationRequest, "openIdAuthenticationRequest"); - Requires.ValidState(this.TokenManager is ICombinedOpenIdProviderTokenManager); - - var openidTokenManager = this.TokenManager as ICombinedOpenIdProviderTokenManager; - IOpenIdMessageExtension response; - if (scope != null) { - // Generate an authorized request token to return to the relying party. - string consumerKey = openidTokenManager.GetConsumerKey(openIdAuthenticationRequest.Realm); - var approvedResponse = new AuthorizationApprovedResponse { - RequestToken = this.TokenGenerator.GenerateRequestToken(consumerKey), - Scope = scope, - }; - openidTokenManager.StoreOpenIdAuthorizedRequestToken(consumerKey, approvedResponse); - response = approvedResponse; - } else { - response = new AuthorizationDeclinedResponse(); - } - - openIdAuthenticationRequest.AddResponseExtension(response); - } - - /// <summary> /// Prepares the message to send back to the consumer following proper authorization of /// a token by an interactive user at the Service Provider's web site. /// </summary> @@ -548,7 +462,7 @@ namespace DotNetOpenAuth.OAuth { Requires.NotNull(request, "request"); IServiceProviderAccessToken accessToken = this.TokenManager.GetAccessToken(request.AccessToken); - return new OAuthPrincipal(accessToken); + return new OAuth1Principal(accessToken); } #region IDisposable Members diff --git a/src/DotNetOpenAuth.OAuth.ServiceProvider/OAuth/VerificationCodeFormat.cs b/src/DotNetOpenAuth.OAuth.ServiceProvider/OAuth/VerificationCodeFormat.cs index a6560d8..03344be 100644 --- a/src/DotNetOpenAuth.OAuth.ServiceProvider/OAuth/VerificationCodeFormat.cs +++ b/src/DotNetOpenAuth.OAuth.ServiceProvider/OAuth/VerificationCodeFormat.cs @@ -1,6 +1,6 @@ //----------------------------------------------------------------------- -// <copyright file="VerificationCodeFormat.cs" company="Andrew Arnott"> -// Copyright (c) Andrew Arnott. All rights reserved. +// <copyright file="VerificationCodeFormat.cs" company="Outercurve Foundation"> +// Copyright (c) Outercurve Foundation. All rights reserved. // </copyright> //----------------------------------------------------------------------- diff --git a/src/DotNetOpenAuth.OAuth.ServiceProvider/Properties/AssemblyInfo.cs b/src/DotNetOpenAuth.OAuth.ServiceProvider/Properties/AssemblyInfo.cs index d038290..d583099 100644 --- a/src/DotNetOpenAuth.OAuth.ServiceProvider/Properties/AssemblyInfo.cs +++ b/src/DotNetOpenAuth.OAuth.ServiceProvider/Properties/AssemblyInfo.cs @@ -1,6 +1,6 @@ //----------------------------------------------------------------------- -// <copyright file="AssemblyInfo.cs" company="Andrew Arnott"> -// Copyright (c) Andrew Arnott. All rights reserved. +// <copyright file="AssemblyInfo.cs" company="Outercurve Foundation"> +// Copyright (c) Outercurve Foundation. All rights reserved. // </copyright> //----------------------------------------------------------------------- @@ -25,7 +25,7 @@ using System.Web.UI; [assembly: AssemblyConfiguration("")] [assembly: AssemblyCompany("")] [assembly: AssemblyProduct("DotNetOpenAuth")] -[assembly: AssemblyCopyright("Copyright © 2008")] +[assembly: AssemblyCopyright("Copyright © 2011 Outercurve Foundation")] [assembly: AssemblyTrademark("")] [assembly: AssemblyCulture("")] [assembly: NeutralResourcesLanguage("en-US")] diff --git a/src/DotNetOpenAuth.OAuth/Configuration/OAuthConsumerElement.cs b/src/DotNetOpenAuth.OAuth/Configuration/OAuthConsumerElement.cs index b15c3e3..eb65594 100644 --- a/src/DotNetOpenAuth.OAuth/Configuration/OAuthConsumerElement.cs +++ b/src/DotNetOpenAuth.OAuth/Configuration/OAuthConsumerElement.cs @@ -1,6 +1,6 @@ //----------------------------------------------------------------------- -// <copyright file="OAuthConsumerElement.cs" company="Andrew Arnott"> -// Copyright (c) Andrew Arnott. All rights reserved. +// <copyright file="OAuthConsumerElement.cs" company="Outercurve Foundation"> +// Copyright (c) Outercurve Foundation. All rights reserved. // </copyright> //----------------------------------------------------------------------- diff --git a/src/DotNetOpenAuth.OAuth/Configuration/OAuthConsumerSecuritySettingsElement.cs b/src/DotNetOpenAuth.OAuth/Configuration/OAuthConsumerSecuritySettingsElement.cs index 38a183a..638ba34 100644 --- a/src/DotNetOpenAuth.OAuth/Configuration/OAuthConsumerSecuritySettingsElement.cs +++ b/src/DotNetOpenAuth.OAuth/Configuration/OAuthConsumerSecuritySettingsElement.cs @@ -1,6 +1,6 @@ //----------------------------------------------------------------------- -// <copyright file="OAuthConsumerSecuritySettingsElement.cs" company="Andrew Arnott"> -// Copyright (c) Andrew Arnott. All rights reserved. +// <copyright file="OAuthConsumerSecuritySettingsElement.cs" company="Outercurve Foundation"> +// Copyright (c) Outercurve Foundation. All rights reserved. // </copyright> //----------------------------------------------------------------------- diff --git a/src/DotNetOpenAuth.OAuth/Configuration/OAuthElement.cs b/src/DotNetOpenAuth.OAuth/Configuration/OAuthElement.cs index 59c5851..3972e6f 100644 --- a/src/DotNetOpenAuth.OAuth/Configuration/OAuthElement.cs +++ b/src/DotNetOpenAuth.OAuth/Configuration/OAuthElement.cs @@ -1,6 +1,6 @@ //----------------------------------------------------------------------- -// <copyright file="OAuthElement.cs" company="Andrew Arnott"> -// Copyright (c) Andrew Arnott. All rights reserved. +// <copyright file="OAuthElement.cs" company="Outercurve Foundation"> +// Copyright (c) Outercurve Foundation. All rights reserved. // </copyright> //----------------------------------------------------------------------- diff --git a/src/DotNetOpenAuth.OAuth/Configuration/OAuthServiceProviderElement.cs b/src/DotNetOpenAuth.OAuth/Configuration/OAuthServiceProviderElement.cs index 8e910a0..83ae049 100644 --- a/src/DotNetOpenAuth.OAuth/Configuration/OAuthServiceProviderElement.cs +++ b/src/DotNetOpenAuth.OAuth/Configuration/OAuthServiceProviderElement.cs @@ -1,6 +1,6 @@ //----------------------------------------------------------------------- -// <copyright file="OAuthServiceProviderElement.cs" company="Andrew Arnott"> -// Copyright (c) Andrew Arnott. All rights reserved. +// <copyright file="OAuthServiceProviderElement.cs" company="Outercurve Foundation"> +// Copyright (c) Outercurve Foundation. All rights reserved. // </copyright> //----------------------------------------------------------------------- diff --git a/src/DotNetOpenAuth.OAuth/Configuration/OAuthServiceProviderSecuritySettingsElement.cs b/src/DotNetOpenAuth.OAuth/Configuration/OAuthServiceProviderSecuritySettingsElement.cs index 723b607..1bf1aba 100644 --- a/src/DotNetOpenAuth.OAuth/Configuration/OAuthServiceProviderSecuritySettingsElement.cs +++ b/src/DotNetOpenAuth.OAuth/Configuration/OAuthServiceProviderSecuritySettingsElement.cs @@ -1,6 +1,6 @@ //----------------------------------------------------------------------- -// <copyright file="OAuthServiceProviderSecuritySettingsElement.cs" company="Andrew Arnott"> -// Copyright (c) Andrew Arnott. All rights reserved. +// <copyright file="OAuthServiceProviderSecuritySettingsElement.cs" company="Outercurve Foundation"> +// Copyright (c) Outercurve Foundation. All rights reserved. // </copyright> //----------------------------------------------------------------------- diff --git a/src/DotNetOpenAuth.OAuth/DotNetOpenAuth.OAuth.csproj b/src/DotNetOpenAuth.OAuth/DotNetOpenAuth.OAuth.csproj index 20d6643..1720648 100644 --- a/src/DotNetOpenAuth.OAuth/DotNetOpenAuth.OAuth.csproj +++ b/src/DotNetOpenAuth.OAuth/DotNetOpenAuth.OAuth.csproj @@ -25,8 +25,6 @@ <Compile Include="Configuration\OAuthServiceProviderSecuritySettingsElement.cs" /> <Compile Include="Messaging\ITamperProtectionChannelBindingElement.cs" /> <Compile Include="OAuthReporting.cs" /> - <Compile Include="OAuth\ChannelElements\ICombinedOpenIdProviderTokenManager.cs" /> - <Compile Include="OAuth\ChannelElements\IOpenIdOAuthTokenManager.cs" /> <Compile Include="OAuth\ChannelElements\ITokenManager.cs" /> <Compile Include="OAuth\ChannelElements\OAuthHttpMethodBindingElement.cs" /> <Compile Include="OAuth\ChannelElements\PlaintextSigningBindingElement.cs" /> @@ -83,10 +81,6 @@ <Project>{60426312-6AE5-4835-8667-37EDEA670222}</Project> <Name>DotNetOpenAuth.Core</Name> </ProjectReference> - <ProjectReference Include="..\DotNetOpenAuth.OpenId\DotNetOpenAuth.OpenId.csproj"> - <Project>{3896A32A-E876-4C23-B9B8-78E17D134CD3}</Project> - <Name>DotNetOpenAuth.OpenId</Name> - </ProjectReference> </ItemGroup> <Import Project="$(MSBuildToolsPath)\Microsoft.CSharp.targets" /> <Import Project="$(ProjectRoot)tools\DotNetOpenAuth.targets" /> diff --git a/src/DotNetOpenAuth.OAuth/Messaging/ITamperProtectionChannelBindingElement.cs b/src/DotNetOpenAuth.OAuth/Messaging/ITamperProtectionChannelBindingElement.cs index e177dd9..66b82d4 100644 --- a/src/DotNetOpenAuth.OAuth/Messaging/ITamperProtectionChannelBindingElement.cs +++ b/src/DotNetOpenAuth.OAuth/Messaging/ITamperProtectionChannelBindingElement.cs @@ -1,6 +1,6 @@ //----------------------------------------------------------------------- -// <copyright file="ITamperProtectionChannelBindingElement.cs" company="Andrew Arnott"> -// Copyright (c) Andrew Arnott. All rights reserved. +// <copyright file="ITamperProtectionChannelBindingElement.cs" company="Outercurve Foundation"> +// Copyright (c) Outercurve Foundation. All rights reserved. // </copyright> //----------------------------------------------------------------------- diff --git a/src/DotNetOpenAuth.OAuth/OAuth/ChannelElements/HmacSha1SigningBindingElement.cs b/src/DotNetOpenAuth.OAuth/OAuth/ChannelElements/HmacSha1SigningBindingElement.cs index 5828428..64e8a77 100644 --- a/src/DotNetOpenAuth.OAuth/OAuth/ChannelElements/HmacSha1SigningBindingElement.cs +++ b/src/DotNetOpenAuth.OAuth/OAuth/ChannelElements/HmacSha1SigningBindingElement.cs @@ -1,11 +1,12 @@ //----------------------------------------------------------------------- -// <copyright file="HmacSha1SigningBindingElement.cs" company="Andrew Arnott"> -// Copyright (c) Andrew Arnott. All rights reserved. +// <copyright file="HmacSha1SigningBindingElement.cs" company="Outercurve Foundation"> +// Copyright (c) Outercurve Foundation. All rights reserved. // </copyright> //----------------------------------------------------------------------- namespace DotNetOpenAuth.OAuth.ChannelElements { using System; + using System.Diagnostics.CodeAnalysis; using System.Diagnostics.Contracts; using System.Security.Cryptography; using System.Text; @@ -30,6 +31,7 @@ namespace DotNetOpenAuth.OAuth.ChannelElements { /// <remarks> /// This method signs the message per OAuth 1.0 section 9.2. /// </remarks> + [SuppressMessage("Microsoft.Reliability", "CA2000:Dispose objects before losing scope", Justification = "False positive.")] protected override string GetSignature(ITamperResistantOAuthMessage message) { string key = GetConsumerAndTokenSecretString(message); using (HashAlgorithm hasher = new HMACSHA1(Encoding.ASCII.GetBytes(key))) { diff --git a/src/DotNetOpenAuth.OAuth/OAuth/ChannelElements/ITamperResistantOAuthMessage.cs b/src/DotNetOpenAuth.OAuth/OAuth/ChannelElements/ITamperResistantOAuthMessage.cs index a95001d..9cb0a44 100644 --- a/src/DotNetOpenAuth.OAuth/OAuth/ChannelElements/ITamperResistantOAuthMessage.cs +++ b/src/DotNetOpenAuth.OAuth/OAuth/ChannelElements/ITamperResistantOAuthMessage.cs @@ -1,6 +1,6 @@ //----------------------------------------------------------------------- -// <copyright file="ITamperResistantOAuthMessage.cs" company="Andrew Arnott"> -// Copyright (c) Andrew Arnott. All rights reserved. +// <copyright file="ITamperResistantOAuthMessage.cs" company="Outercurve Foundation"> +// Copyright (c) Outercurve Foundation. All rights reserved. // </copyright> //----------------------------------------------------------------------- diff --git a/src/DotNetOpenAuth.OAuth/OAuth/ChannelElements/ITokenManager.cs b/src/DotNetOpenAuth.OAuth/OAuth/ChannelElements/ITokenManager.cs index 7d68b63..aa969f2 100644 --- a/src/DotNetOpenAuth.OAuth/OAuth/ChannelElements/ITokenManager.cs +++ b/src/DotNetOpenAuth.OAuth/OAuth/ChannelElements/ITokenManager.cs @@ -1,6 +1,6 @@ //----------------------------------------------------------------------- -// <copyright file="ITokenManager.cs" company="Andrew Arnott"> -// Copyright (c) Andrew Arnott. All rights reserved. +// <copyright file="ITokenManager.cs" company="Outercurve Foundation"> +// Copyright (c) Outercurve Foundation. All rights reserved. // </copyright> //----------------------------------------------------------------------- diff --git a/src/DotNetOpenAuth.OAuth/OAuth/ChannelElements/OAuthChannel.cs b/src/DotNetOpenAuth.OAuth/OAuth/ChannelElements/OAuthChannel.cs index 32b57d0..2cbc16b 100644 --- a/src/DotNetOpenAuth.OAuth/OAuth/ChannelElements/OAuthChannel.cs +++ b/src/DotNetOpenAuth.OAuth/OAuth/ChannelElements/OAuthChannel.cs @@ -1,6 +1,6 @@ //----------------------------------------------------------------------- -// <copyright file="OAuthChannel.cs" company="Andrew Arnott"> -// Copyright (c) Andrew Arnott. All rights reserved. +// <copyright file="OAuthChannel.cs" company="Outercurve Foundation"> +// Copyright (c) Outercurve Foundation. All rights reserved. // </copyright> //----------------------------------------------------------------------- @@ -30,7 +30,6 @@ namespace DotNetOpenAuth.OAuth.ChannelElements { /// Initializes a new instance of the <see cref="OAuthChannel"/> class. /// </summary> /// <param name="signingBindingElement">The binding element to use for signing.</param> - /// <param name="store">The web application store to use for nonces.</param> /// <param name="tokenManager">The ITokenManager instance to use.</param> /// <param name="securitySettings">The security settings.</param> /// <param name="messageTypeProvider">An injected message type provider instance. @@ -38,7 +37,7 @@ namespace DotNetOpenAuth.OAuth.ChannelElements { /// OAuthConsumerMessageFactory or OAuthServiceProviderMessageFactory.</param> /// <param name="bindingElements">The binding elements.</param> [SuppressMessage("Microsoft.Globalization", "CA1303:Do not pass literals as localized parameters", MessageId = "System.Diagnostics.Contracts.__ContractsRuntime.Requires<System.ArgumentNullException>(System.Boolean,System.String,System.String)", Justification = "Code contracts"), SuppressMessage("Microsoft.Naming", "CA2204:Literals should be spelled correctly", MessageId = "securitySettings", Justification = "Code contracts")] - protected OAuthChannel(ITamperProtectionChannelBindingElement signingBindingElement, INonceStore store, ITokenManager tokenManager, SecuritySettings securitySettings, IMessageFactory messageTypeProvider, IChannelBindingElement[] bindingElements) + protected OAuthChannel(ITamperProtectionChannelBindingElement signingBindingElement, ITokenManager tokenManager, SecuritySettings securitySettings, IMessageFactory messageTypeProvider, IChannelBindingElement[] bindingElements) : base(messageTypeProvider, bindingElements) { Requires.NotNull(tokenManager, "tokenManager"); Requires.NotNull(securitySettings, "securitySettings"); @@ -90,14 +89,10 @@ namespace DotNetOpenAuth.OAuth.ChannelElements { /// </summary> /// <param name="signingBindingElement">The signing binding element.</param> /// <param name="store">The nonce store.</param> - /// <param name="tokenManager">The token manager.</param> - /// <param name="securitySettings">The security settings.</param> /// <returns> /// An array of binding elements used to initialize the channel. /// </returns> - protected static List<IChannelBindingElement> InitializeBindingElements(ITamperProtectionChannelBindingElement signingBindingElement, INonceStore store, ITokenManager tokenManager, SecuritySettings securitySettings) { - Contract.Requires(securitySettings != null); - + protected static List<IChannelBindingElement> InitializeBindingElements(ITamperProtectionChannelBindingElement signingBindingElement, INonceStore store) { var bindingElements = new List<IChannelBindingElement> { new OAuthHttpMethodBindingElement(), signingBindingElement, @@ -228,11 +223,7 @@ namespace DotNetOpenAuth.OAuth.ChannelElements { Headers = new System.Net.WebHeaderCollection(), }; - IHttpDirectResponse httpMessage = response as IHttpDirectResponse; - if (httpMessage != null) { - encodedResponse.Status = httpMessage.HttpStatusCode; - } - + this.ApplyMessageTemplate(response, encodedResponse); return encodedResponse; } diff --git a/src/DotNetOpenAuth.OAuth/OAuth/ChannelElements/OAuthHttpMethodBindingElement.cs b/src/DotNetOpenAuth.OAuth/OAuth/ChannelElements/OAuthHttpMethodBindingElement.cs index 37fb80b..98eb9b3 100644 --- a/src/DotNetOpenAuth.OAuth/OAuth/ChannelElements/OAuthHttpMethodBindingElement.cs +++ b/src/DotNetOpenAuth.OAuth/OAuth/ChannelElements/OAuthHttpMethodBindingElement.cs @@ -1,6 +1,6 @@ //----------------------------------------------------------------------- -// <copyright file="OAuthHttpMethodBindingElement.cs" company="Andrew Arnott"> -// Copyright (c) Andrew Arnott. All rights reserved. +// <copyright file="OAuthHttpMethodBindingElement.cs" company="Outercurve Foundation"> +// Copyright (c) Outercurve Foundation. All rights reserved. // </copyright> //----------------------------------------------------------------------- diff --git a/src/DotNetOpenAuth.OAuth/OAuth/ChannelElements/PlaintextSigningBindingElement.cs b/src/DotNetOpenAuth.OAuth/OAuth/ChannelElements/PlaintextSigningBindingElement.cs index 22e5f20..98bb69e 100644 --- a/src/DotNetOpenAuth.OAuth/OAuth/ChannelElements/PlaintextSigningBindingElement.cs +++ b/src/DotNetOpenAuth.OAuth/OAuth/ChannelElements/PlaintextSigningBindingElement.cs @@ -1,6 +1,6 @@ //----------------------------------------------------------------------- -// <copyright file="PlaintextSigningBindingElement.cs" company="Andrew Arnott"> -// Copyright (c) Andrew Arnott. All rights reserved. +// <copyright file="PlaintextSigningBindingElement.cs" company="Outercurve Foundation"> +// Copyright (c) Outercurve Foundation. All rights reserved. // </copyright> //----------------------------------------------------------------------- diff --git a/src/DotNetOpenAuth.OAuth/OAuth/ChannelElements/RsaSha1SigningBindingElement.cs b/src/DotNetOpenAuth.OAuth/OAuth/ChannelElements/RsaSha1SigningBindingElement.cs index 83be094..01a5c53 100644 --- a/src/DotNetOpenAuth.OAuth/OAuth/ChannelElements/RsaSha1SigningBindingElement.cs +++ b/src/DotNetOpenAuth.OAuth/OAuth/ChannelElements/RsaSha1SigningBindingElement.cs @@ -1,6 +1,6 @@ //----------------------------------------------------------------------- -// <copyright file="RsaSha1SigningBindingElement.cs" company="Andrew Arnott"> -// Copyright (c) Andrew Arnott. All rights reserved. +// <copyright file="RsaSha1SigningBindingElement.cs" company="Outercurve Foundation"> +// Copyright (c) Outercurve Foundation. All rights reserved. // </copyright> //----------------------------------------------------------------------- diff --git a/src/DotNetOpenAuth.OAuth/OAuth/ChannelElements/SigningBindingElementBase.cs b/src/DotNetOpenAuth.OAuth/OAuth/ChannelElements/SigningBindingElementBase.cs index 2c47453..58e4ada 100644 --- a/src/DotNetOpenAuth.OAuth/OAuth/ChannelElements/SigningBindingElementBase.cs +++ b/src/DotNetOpenAuth.OAuth/OAuth/ChannelElements/SigningBindingElementBase.cs @@ -1,6 +1,6 @@ //----------------------------------------------------------------------- -// <copyright file="SigningBindingElementBase.cs" company="Andrew Arnott"> -// Copyright (c) Andrew Arnott. All rights reserved. +// <copyright file="SigningBindingElementBase.cs" company="Outercurve Foundation"> +// Copyright (c) Outercurve Foundation. All rights reserved. // </copyright> //----------------------------------------------------------------------- @@ -154,7 +154,7 @@ namespace DotNetOpenAuth.OAuth.ChannelElements { Requires.NotNull(message, "message"); Requires.NotNullOrEmpty(message.HttpMethod, "message.HttpMethod"); Requires.NotNull(messageDictionary, "messageDictionary"); - ErrorUtilities.VerifyArgument(messageDictionary.Message == message, "Message references are not equal."); + ErrorUtilities.VerifyInternal(messageDictionary.Message == message, "Message references are not equal."); List<string> signatureBaseStringElements = new List<string>(3); diff --git a/src/DotNetOpenAuth.OAuth/OAuth/ChannelElements/SigningBindingElementBaseContract.cs b/src/DotNetOpenAuth.OAuth/OAuth/ChannelElements/SigningBindingElementBaseContract.cs index 4450fb5..f608e52 100644 --- a/src/DotNetOpenAuth.OAuth/OAuth/ChannelElements/SigningBindingElementBaseContract.cs +++ b/src/DotNetOpenAuth.OAuth/OAuth/ChannelElements/SigningBindingElementBaseContract.cs @@ -1,6 +1,6 @@ //----------------------------------------------------------------------- -// <copyright file="SigningBindingElementBaseContract.cs" company="Andrew Arnott"> -// Copyright (c) Andrew Arnott. All rights reserved. +// <copyright file="SigningBindingElementBaseContract.cs" company="Outercurve Foundation"> +// Copyright (c) Outercurve Foundation. All rights reserved. // </copyright> //----------------------------------------------------------------------- diff --git a/src/DotNetOpenAuth.OAuth/OAuth/ChannelElements/SigningBindingElementChain.cs b/src/DotNetOpenAuth.OAuth/OAuth/ChannelElements/SigningBindingElementChain.cs index 849ad5e..7155df8 100644 --- a/src/DotNetOpenAuth.OAuth/OAuth/ChannelElements/SigningBindingElementChain.cs +++ b/src/DotNetOpenAuth.OAuth/OAuth/ChannelElements/SigningBindingElementChain.cs @@ -1,6 +1,6 @@ //----------------------------------------------------------------------- -// <copyright file="SigningBindingElementChain.cs" company="Andrew Arnott"> -// Copyright (c) Andrew Arnott. All rights reserved. +// <copyright file="SigningBindingElementChain.cs" company="Outercurve Foundation"> +// Copyright (c) Outercurve Foundation. All rights reserved. // </copyright> //----------------------------------------------------------------------- diff --git a/src/DotNetOpenAuth.OAuth/OAuth/ChannelElements/TokenType.cs b/src/DotNetOpenAuth.OAuth/OAuth/ChannelElements/TokenType.cs index 46c2bd9..036d5ae 100644 --- a/src/DotNetOpenAuth.OAuth/OAuth/ChannelElements/TokenType.cs +++ b/src/DotNetOpenAuth.OAuth/OAuth/ChannelElements/TokenType.cs @@ -1,6 +1,6 @@ //----------------------------------------------------------------------- -// <copyright file="TokenType.cs" company="Andrew Arnott"> -// Copyright (c) Andrew Arnott. All rights reserved. +// <copyright file="TokenType.cs" company="Outercurve Foundation"> +// Copyright (c) Outercurve Foundation. All rights reserved. // </copyright> //----------------------------------------------------------------------- diff --git a/src/DotNetOpenAuth.OAuth/OAuth/ChannelElements/UriOrOobEncoding.cs b/src/DotNetOpenAuth.OAuth/OAuth/ChannelElements/UriOrOobEncoding.cs index 287ef01..639310d 100644 --- a/src/DotNetOpenAuth.OAuth/OAuth/ChannelElements/UriOrOobEncoding.cs +++ b/src/DotNetOpenAuth.OAuth/OAuth/ChannelElements/UriOrOobEncoding.cs @@ -1,6 +1,6 @@ //----------------------------------------------------------------------- -// <copyright file="UriOrOobEncoding.cs" company="Andrew Arnott"> -// Copyright (c) Andrew Arnott. All rights reserved. +// <copyright file="UriOrOobEncoding.cs" company="Outercurve Foundation"> +// Copyright (c) Outercurve Foundation. All rights reserved. // </copyright> //----------------------------------------------------------------------- diff --git a/src/DotNetOpenAuth.OAuth/OAuth/ConsumerSecuritySettings.cs b/src/DotNetOpenAuth.OAuth/OAuth/ConsumerSecuritySettings.cs index bb2fbaa..ca5bc03 100644 --- a/src/DotNetOpenAuth.OAuth/OAuth/ConsumerSecuritySettings.cs +++ b/src/DotNetOpenAuth.OAuth/OAuth/ConsumerSecuritySettings.cs @@ -1,6 +1,6 @@ //----------------------------------------------------------------------- -// <copyright file="ConsumerSecuritySettings.cs" company="Andrew Arnott"> -// Copyright (c) Andrew Arnott. All rights reserved. +// <copyright file="ConsumerSecuritySettings.cs" company="Outercurve Foundation"> +// Copyright (c) Outercurve Foundation. All rights reserved. // </copyright> //----------------------------------------------------------------------- diff --git a/src/DotNetOpenAuth.OAuth/OAuth/Messages/AccessProtectedResourceRequest.cs b/src/DotNetOpenAuth.OAuth/OAuth/Messages/AccessProtectedResourceRequest.cs index f3231f0..aeee649 100644 --- a/src/DotNetOpenAuth.OAuth/OAuth/Messages/AccessProtectedResourceRequest.cs +++ b/src/DotNetOpenAuth.OAuth/OAuth/Messages/AccessProtectedResourceRequest.cs @@ -1,6 +1,6 @@ //----------------------------------------------------------------------- -// <copyright file="AccessProtectedResourceRequest.cs" company="Andrew Arnott"> -// Copyright (c) Andrew Arnott. All rights reserved. +// <copyright file="AccessProtectedResourceRequest.cs" company="Outercurve Foundation"> +// Copyright (c) Outercurve Foundation. All rights reserved. // </copyright> //----------------------------------------------------------------------- diff --git a/src/DotNetOpenAuth.OAuth/OAuth/Messages/AuthorizedTokenRequest.cs b/src/DotNetOpenAuth.OAuth/OAuth/Messages/AuthorizedTokenRequest.cs index 02c6c1d..6082574 100644 --- a/src/DotNetOpenAuth.OAuth/OAuth/Messages/AuthorizedTokenRequest.cs +++ b/src/DotNetOpenAuth.OAuth/OAuth/Messages/AuthorizedTokenRequest.cs @@ -1,6 +1,6 @@ //----------------------------------------------------------------------- -// <copyright file="AuthorizedTokenRequest.cs" company="Andrew Arnott"> -// Copyright (c) Andrew Arnott. All rights reserved. +// <copyright file="AuthorizedTokenRequest.cs" company="Outercurve Foundation"> +// Copyright (c) Outercurve Foundation. All rights reserved. // </copyright> //----------------------------------------------------------------------- diff --git a/src/DotNetOpenAuth.OAuth/OAuth/Messages/AuthorizedTokenResponse.cs b/src/DotNetOpenAuth.OAuth/OAuth/Messages/AuthorizedTokenResponse.cs index 0b14819..2f8fe71 100644 --- a/src/DotNetOpenAuth.OAuth/OAuth/Messages/AuthorizedTokenResponse.cs +++ b/src/DotNetOpenAuth.OAuth/OAuth/Messages/AuthorizedTokenResponse.cs @@ -1,6 +1,6 @@ //----------------------------------------------------------------------- -// <copyright file="AuthorizedTokenResponse.cs" company="Andrew Arnott"> -// Copyright (c) Andrew Arnott. All rights reserved. +// <copyright file="AuthorizedTokenResponse.cs" company="Outercurve Foundation"> +// Copyright (c) Outercurve Foundation. All rights reserved. // </copyright> //----------------------------------------------------------------------- diff --git a/src/DotNetOpenAuth.OAuth/OAuth/Messages/ITokenContainingMessage.cs b/src/DotNetOpenAuth.OAuth/OAuth/Messages/ITokenContainingMessage.cs index 832b754..cda59c5 100644 --- a/src/DotNetOpenAuth.OAuth/OAuth/Messages/ITokenContainingMessage.cs +++ b/src/DotNetOpenAuth.OAuth/OAuth/Messages/ITokenContainingMessage.cs @@ -1,6 +1,6 @@ //----------------------------------------------------------------------- -// <copyright file="ITokenContainingMessage.cs" company="Andrew Arnott"> -// Copyright (c) Andrew Arnott. All rights reserved. +// <copyright file="ITokenContainingMessage.cs" company="Outercurve Foundation"> +// Copyright (c) Outercurve Foundation. All rights reserved. // </copyright> //----------------------------------------------------------------------- diff --git a/src/DotNetOpenAuth.OAuth/OAuth/Messages/ITokenSecretContainingMessage.cs b/src/DotNetOpenAuth.OAuth/OAuth/Messages/ITokenSecretContainingMessage.cs index 95809ec..f8dea92 100644 --- a/src/DotNetOpenAuth.OAuth/OAuth/Messages/ITokenSecretContainingMessage.cs +++ b/src/DotNetOpenAuth.OAuth/OAuth/Messages/ITokenSecretContainingMessage.cs @@ -1,6 +1,6 @@ //----------------------------------------------------------------------- -// <copyright file="ITokenSecretContainingMessage.cs" company="Andrew Arnott"> -// Copyright (c) Andrew Arnott. All rights reserved. +// <copyright file="ITokenSecretContainingMessage.cs" company="Outercurve Foundation"> +// Copyright (c) Outercurve Foundation. All rights reserved. // </copyright> //----------------------------------------------------------------------- diff --git a/src/DotNetOpenAuth.OAuth/OAuth/Messages/MessageBase.cs b/src/DotNetOpenAuth.OAuth/OAuth/Messages/MessageBase.cs index faa4345..98e19f0 100644 --- a/src/DotNetOpenAuth.OAuth/OAuth/Messages/MessageBase.cs +++ b/src/DotNetOpenAuth.OAuth/OAuth/Messages/MessageBase.cs @@ -1,6 +1,6 @@ //----------------------------------------------------------------------- -// <copyright file="MessageBase.cs" company="Andrew Arnott"> -// Copyright (c) Andrew Arnott. All rights reserved. +// <copyright file="MessageBase.cs" company="Outercurve Foundation"> +// Copyright (c) Outercurve Foundation. All rights reserved. // </copyright> //----------------------------------------------------------------------- diff --git a/src/DotNetOpenAuth.OAuth/OAuth/Messages/SignedMessageBase.cs b/src/DotNetOpenAuth.OAuth/OAuth/Messages/SignedMessageBase.cs index 6084fc0..6af75ec 100644 --- a/src/DotNetOpenAuth.OAuth/OAuth/Messages/SignedMessageBase.cs +++ b/src/DotNetOpenAuth.OAuth/OAuth/Messages/SignedMessageBase.cs @@ -1,6 +1,6 @@ //----------------------------------------------------------------------- -// <copyright file="SignedMessageBase.cs" company="Andrew Arnott"> -// Copyright (c) Andrew Arnott. All rights reserved. +// <copyright file="SignedMessageBase.cs" company="Outercurve Foundation"> +// Copyright (c) Outercurve Foundation. All rights reserved. // </copyright> //----------------------------------------------------------------------- diff --git a/src/DotNetOpenAuth.OAuth/OAuth/Messages/UnauthorizedTokenRequest.cs b/src/DotNetOpenAuth.OAuth/OAuth/Messages/UnauthorizedTokenRequest.cs index 9214d91..0ca228c 100644 --- a/src/DotNetOpenAuth.OAuth/OAuth/Messages/UnauthorizedTokenRequest.cs +++ b/src/DotNetOpenAuth.OAuth/OAuth/Messages/UnauthorizedTokenRequest.cs @@ -1,6 +1,6 @@ //----------------------------------------------------------------------- -// <copyright file="UnauthorizedTokenRequest.cs" company="Andrew Arnott"> -// Copyright (c) Andrew Arnott. All rights reserved. +// <copyright file="UnauthorizedTokenRequest.cs" company="Outercurve Foundation"> +// Copyright (c) Outercurve Foundation. All rights reserved. // </copyright> //----------------------------------------------------------------------- diff --git a/src/DotNetOpenAuth.OAuth/OAuth/Messages/UnauthorizedTokenResponse.cs b/src/DotNetOpenAuth.OAuth/OAuth/Messages/UnauthorizedTokenResponse.cs index 04dee88..adfed6a 100644 --- a/src/DotNetOpenAuth.OAuth/OAuth/Messages/UnauthorizedTokenResponse.cs +++ b/src/DotNetOpenAuth.OAuth/OAuth/Messages/UnauthorizedTokenResponse.cs @@ -1,6 +1,6 @@ //----------------------------------------------------------------------- -// <copyright file="UnauthorizedTokenResponse.cs" company="Andrew Arnott"> -// Copyright (c) Andrew Arnott. All rights reserved. +// <copyright file="UnauthorizedTokenResponse.cs" company="Outercurve Foundation"> +// Copyright (c) Outercurve Foundation. All rights reserved. // </copyright> //----------------------------------------------------------------------- diff --git a/src/DotNetOpenAuth.OAuth/OAuth/Messages/UserAuthorizationRequest.cs b/src/DotNetOpenAuth.OAuth/OAuth/Messages/UserAuthorizationRequest.cs index a5823bb..4f98622 100644 --- a/src/DotNetOpenAuth.OAuth/OAuth/Messages/UserAuthorizationRequest.cs +++ b/src/DotNetOpenAuth.OAuth/OAuth/Messages/UserAuthorizationRequest.cs @@ -1,6 +1,6 @@ //----------------------------------------------------------------------- -// <copyright file="UserAuthorizationRequest.cs" company="Andrew Arnott"> -// Copyright (c) Andrew Arnott. All rights reserved. +// <copyright file="UserAuthorizationRequest.cs" company="Outercurve Foundation"> +// Copyright (c) Outercurve Foundation. All rights reserved. // </copyright> //----------------------------------------------------------------------- diff --git a/src/DotNetOpenAuth.OAuth/OAuth/Messages/UserAuthorizationResponse.cs b/src/DotNetOpenAuth.OAuth/OAuth/Messages/UserAuthorizationResponse.cs index 73fddc7..1051978 100644 --- a/src/DotNetOpenAuth.OAuth/OAuth/Messages/UserAuthorizationResponse.cs +++ b/src/DotNetOpenAuth.OAuth/OAuth/Messages/UserAuthorizationResponse.cs @@ -1,6 +1,6 @@ //----------------------------------------------------------------------- -// <copyright file="UserAuthorizationResponse.cs" company="Andrew Arnott"> -// Copyright (c) Andrew Arnott. All rights reserved. +// <copyright file="UserAuthorizationResponse.cs" company="Outercurve Foundation"> +// Copyright (c) Outercurve Foundation. All rights reserved. // </copyright> //----------------------------------------------------------------------- diff --git a/src/DotNetOpenAuth.OAuth/OAuth/Protocol.cs b/src/DotNetOpenAuth.OAuth/OAuth/Protocol.cs index 0b7aaa9..ee5c421 100644 --- a/src/DotNetOpenAuth.OAuth/OAuth/Protocol.cs +++ b/src/DotNetOpenAuth.OAuth/OAuth/Protocol.cs @@ -1,6 +1,6 @@ //----------------------------------------------------------------------- -// <copyright file="Protocol.cs" company="Andrew Arnott"> -// Copyright (c) Andrew Arnott. All rights reserved. +// <copyright file="Protocol.cs" company="Outercurve Foundation"> +// Copyright (c) Outercurve Foundation. All rights reserved. // </copyright> //----------------------------------------------------------------------- diff --git a/src/DotNetOpenAuth.OAuth/OAuth/SecuritySettings.cs b/src/DotNetOpenAuth.OAuth/OAuth/SecuritySettings.cs index 3329f09..43ce6b6 100644 --- a/src/DotNetOpenAuth.OAuth/OAuth/SecuritySettings.cs +++ b/src/DotNetOpenAuth.OAuth/OAuth/SecuritySettings.cs @@ -1,6 +1,6 @@ //----------------------------------------------------------------------- -// <copyright file="SecuritySettings.cs" company="Andrew Arnott"> -// Copyright (c) Andrew Arnott. All rights reserved. +// <copyright file="SecuritySettings.cs" company="Outercurve Foundation"> +// Copyright (c) Outercurve Foundation. All rights reserved. // </copyright> //----------------------------------------------------------------------- diff --git a/src/DotNetOpenAuth.OAuth/OAuth/ServiceProviderDescription.cs b/src/DotNetOpenAuth.OAuth/OAuth/ServiceProviderDescription.cs index 6205f55..3f553a9 100644 --- a/src/DotNetOpenAuth.OAuth/OAuth/ServiceProviderDescription.cs +++ b/src/DotNetOpenAuth.OAuth/OAuth/ServiceProviderDescription.cs @@ -1,6 +1,6 @@ //----------------------------------------------------------------------- -// <copyright file="ServiceProviderDescription.cs" company="Andrew Arnott"> -// Copyright (c) Andrew Arnott. All rights reserved. +// <copyright file="ServiceProviderDescription.cs" company="Outercurve Foundation"> +// Copyright (c) Outercurve Foundation. All rights reserved. // </copyright> //----------------------------------------------------------------------- diff --git a/src/DotNetOpenAuth.OAuth/OAuth/ServiceProviderSecuritySettings.cs b/src/DotNetOpenAuth.OAuth/OAuth/ServiceProviderSecuritySettings.cs index 701e36c..d10881d 100644 --- a/src/DotNetOpenAuth.OAuth/OAuth/ServiceProviderSecuritySettings.cs +++ b/src/DotNetOpenAuth.OAuth/OAuth/ServiceProviderSecuritySettings.cs @@ -1,6 +1,6 @@ //----------------------------------------------------------------------- -// <copyright file="ServiceProviderSecuritySettings.cs" company="Andrew Arnott"> -// Copyright (c) Andrew Arnott. All rights reserved. +// <copyright file="ServiceProviderSecuritySettings.cs" company="Outercurve Foundation"> +// Copyright (c) Outercurve Foundation. All rights reserved. // </copyright> //----------------------------------------------------------------------- diff --git a/src/DotNetOpenAuth.OAuth/OAuthReporting.cs b/src/DotNetOpenAuth.OAuth/OAuthReporting.cs index c6f8841..29a9adc 100644 --- a/src/DotNetOpenAuth.OAuth/OAuthReporting.cs +++ b/src/DotNetOpenAuth.OAuth/OAuthReporting.cs @@ -1,6 +1,6 @@ //----------------------------------------------------------------------- -// <copyright file="OAuthReporting.cs" company="Andrew Arnott"> -// Copyright (c) Andrew Arnott. All rights reserved. +// <copyright file="OAuthReporting.cs" company="Outercurve Foundation"> +// Copyright (c) Outercurve Foundation. All rights reserved. // </copyright> //----------------------------------------------------------------------- diff --git a/src/DotNetOpenAuth.OAuth/Properties/AssemblyInfo.cs b/src/DotNetOpenAuth.OAuth/Properties/AssemblyInfo.cs index c6f9b45..7f63d1b 100644 --- a/src/DotNetOpenAuth.OAuth/Properties/AssemblyInfo.cs +++ b/src/DotNetOpenAuth.OAuth/Properties/AssemblyInfo.cs @@ -1,6 +1,6 @@ //----------------------------------------------------------------------- -// <copyright file="AssemblyInfo.cs" company="Andrew Arnott"> -// Copyright (c) Andrew Arnott. All rights reserved. +// <copyright file="AssemblyInfo.cs" company="Outercurve Foundation"> +// Copyright (c) Outercurve Foundation. All rights reserved. // </copyright> //----------------------------------------------------------------------- @@ -27,7 +27,7 @@ using System.Web.UI; [assembly: AssemblyConfiguration("")] [assembly: AssemblyCompany("")] [assembly: AssemblyProduct("DotNetOpenAuth")] -[assembly: AssemblyCopyright("Copyright © 2008")] +[assembly: AssemblyCopyright("Copyright © 2011 Outercurve Foundation")] [assembly: AssemblyTrademark("")] [assembly: AssemblyCulture("")] [assembly: NeutralResourcesLanguage("en-US")] @@ -51,6 +51,7 @@ using System.Web.UI; [assembly: InternalsVisibleTo("DotNetOpenAuth.Test, PublicKey=0024000004800000940000000602000000240000525341310004000001000100AD093C3765257C89A7010E853F2C7C741FF92FA8ACE06D7B8254702CAD5CF99104447F63AB05F8BB6F51CE0D81C8C93D2FCE8C20AAFF7042E721CBA16EAAE98778611DED11C0ABC8900DC5667F99B50A9DADEC24DBD8F2C91E3E8AD300EF64F1B4B9536CEB16FB440AF939F57624A9B486F867807C649AE4830EAB88C6C03998")] [assembly: InternalsVisibleTo("DotNetOpenAuth.OAuth.Consumer, PublicKey=0024000004800000940000000602000000240000525341310004000001000100AD093C3765257C89A7010E853F2C7C741FF92FA8ACE06D7B8254702CAD5CF99104447F63AB05F8BB6F51CE0D81C8C93D2FCE8C20AAFF7042E721CBA16EAAE98778611DED11C0ABC8900DC5667F99B50A9DADEC24DBD8F2C91E3E8AD300EF64F1B4B9536CEB16FB440AF939F57624A9B486F867807C649AE4830EAB88C6C03998")] [assembly: InternalsVisibleTo("DotNetOpenAuth.OAuth.ServiceProvider, PublicKey=0024000004800000940000000602000000240000525341310004000001000100AD093C3765257C89A7010E853F2C7C741FF92FA8ACE06D7B8254702CAD5CF99104447F63AB05F8BB6F51CE0D81C8C93D2FCE8C20AAFF7042E721CBA16EAAE98778611DED11C0ABC8900DC5667F99B50A9DADEC24DBD8F2C91E3E8AD300EF64F1B4B9536CEB16FB440AF939F57624A9B486F867807C649AE4830EAB88C6C03998")] +[assembly: InternalsVisibleTo("DotNetOpenAuth.OpenIdOAuth, PublicKey=0024000004800000940000000602000000240000525341310004000001000100AD093C3765257C89A7010E853F2C7C741FF92FA8ACE06D7B8254702CAD5CF99104447F63AB05F8BB6F51CE0D81C8C93D2FCE8C20AAFF7042E721CBA16EAAE98778611DED11C0ABC8900DC5667F99B50A9DADEC24DBD8F2C91E3E8AD300EF64F1B4B9536CEB16FB440AF939F57624A9B486F867807C649AE4830EAB88C6C03998")] [assembly: InternalsVisibleTo("DotNetOpenAuth.OAuth2, PublicKey=0024000004800000940000000602000000240000525341310004000001000100AD093C3765257C89A7010E853F2C7C741FF92FA8ACE06D7B8254702CAD5CF99104447F63AB05F8BB6F51CE0D81C8C93D2FCE8C20AAFF7042E721CBA16EAAE98778611DED11C0ABC8900DC5667F99B50A9DADEC24DBD8F2C91E3E8AD300EF64F1B4B9536CEB16FB440AF939F57624A9B486F867807C649AE4830EAB88C6C03998")] [assembly: InternalsVisibleTo("DotNetOpenAuth.AspNet.Test, PublicKey=0024000004800000940000000602000000240000525341310004000001000100AD093C3765257C89A7010E853F2C7C741FF92FA8ACE06D7B8254702CAD5CF99104447F63AB05F8BB6F51CE0D81C8C93D2FCE8C20AAFF7042E721CBA16EAAE98778611DED11C0ABC8900DC5667F99B50A9DADEC24DBD8F2C91E3E8AD300EF64F1B4B9536CEB16FB440AF939F57624A9B486F867807C649AE4830EAB88C6C03998")] [assembly: InternalsVisibleTo("DynamicProxyGenAssembly2, PublicKey=0024000004800000940000000602000000240000525341310004000001000100c547cac37abd99c8db225ef2f6c8a3602f3b3606cc9891605d02baa56104f4cfc0734aa39b93bf7852f7d9266654753cc297e7d2edfe0bac1cdcf9f717241550e0a7b191195b7667bb4f64bcb8e2121380fd1d9d46ad2d92d2d15605093924cceaf74c4861eff62abf69b9291ed0a340e113be11e6a7d3113e92484cf7045cc7")] @@ -58,6 +59,7 @@ using System.Web.UI; [assembly: InternalsVisibleTo("DotNetOpenAuth.Test")] [assembly: InternalsVisibleTo("DotNetOpenAuth.OAuth.Consumer")] [assembly: InternalsVisibleTo("DotNetOpenAuth.OAuth.ServiceProvider")] +[assembly: InternalsVisibleTo("DotNetOpenAuth.OpenIdOAuth")] [assembly: InternalsVisibleTo("DotNetOpenAuth.OAuth2")] [assembly: InternalsVisibleTo("DotNetOpenAuth.AspNet.Test")] [assembly: InternalsVisibleTo("DynamicProxyGenAssembly2")] diff --git a/src/DotNetOpenAuth.OAuth2.AuthorizationServer/DotNetOpenAuth.OAuth2.AuthorizationServer.csproj b/src/DotNetOpenAuth.OAuth2.AuthorizationServer/DotNetOpenAuth.OAuth2.AuthorizationServer.csproj index e28c158..f6b1a50 100644 --- a/src/DotNetOpenAuth.OAuth2.AuthorizationServer/DotNetOpenAuth.OAuth2.AuthorizationServer.csproj +++ b/src/DotNetOpenAuth.OAuth2.AuthorizationServer/DotNetOpenAuth.OAuth2.AuthorizationServer.csproj @@ -30,10 +30,6 @@ <Project>{56459A6C-6BA2-4BAC-A9C0-27E3BD961FA6}</Project> <Name>DotNetOpenAuth.OAuth2</Name> </ProjectReference> - <ProjectReference Include="..\DotNetOpenAuth.OAuth\DotNetOpenAuth.OAuth.csproj"> - <Project>{A288FCC8-6FCF-46DA-A45E-5F9281556361}</Project> - <Name>DotNetOpenAuth.OAuth</Name> - </ProjectReference> </ItemGroup> <Import Project="$(MSBuildToolsPath)\Microsoft.CSharp.targets" /> <Import Project="$(ProjectRoot)tools\DotNetOpenAuth.targets" /> diff --git a/src/DotNetOpenAuth.OAuth2.AuthorizationServer/OAuth2/AuthorizationServer.cs b/src/DotNetOpenAuth.OAuth2.AuthorizationServer/OAuth2/AuthorizationServer.cs index 73c2bd6..9840218 100644 --- a/src/DotNetOpenAuth.OAuth2.AuthorizationServer/OAuth2/AuthorizationServer.cs +++ b/src/DotNetOpenAuth.OAuth2.AuthorizationServer/OAuth2/AuthorizationServer.cs @@ -1,12 +1,13 @@ //----------------------------------------------------------------------- -// <copyright file="AuthorizationServer.cs" company="Andrew Arnott"> -// Copyright (c) Andrew Arnott. All rights reserved. +// <copyright file="AuthorizationServer.cs" company="Outercurve Foundation"> +// Copyright (c) Outercurve Foundation. All rights reserved. // </copyright> //----------------------------------------------------------------------- namespace DotNetOpenAuth.OAuth2 { using System; using System.Collections.Generic; + using System.Diagnostics.CodeAnalysis; using System.Diagnostics.Contracts; using System.Linq; using System.Security.Cryptography; @@ -25,37 +26,31 @@ namespace DotNetOpenAuth.OAuth2 { /// <param name="authorizationServer">The authorization server.</param> public AuthorizationServer(IAuthorizationServer authorizationServer) { Requires.NotNull(authorizationServer, "authorizationServer"); - this.OAuthChannel = new OAuth2AuthorizationServerChannel(authorizationServer); + this.Channel = new OAuth2AuthorizationServerChannel(authorizationServer); } /// <summary> /// Gets the channel. /// </summary> /// <value>The channel.</value> - public Channel Channel { - get { return this.OAuthChannel; } - } + public Channel Channel { get; internal set; } /// <summary> /// Gets the authorization server. /// </summary> /// <value>The authorization server.</value> public IAuthorizationServer AuthorizationServerServices { - get { return this.OAuthChannel.AuthorizationServer; } + get { return ((IOAuth2ChannelWithAuthorizationServer)this.Channel).AuthorizationServer; } } /// <summary> - /// Gets the channel. - /// </summary> - internal OAuth2AuthorizationServerChannel OAuthChannel { get; private set; } - - /// <summary> /// Reads in a client's request for the Authorization Server to obtain permission from /// the user to authorize the Client's access of some protected resource(s). /// </summary> /// <param name="request">The HTTP request to read from.</param> /// <returns>The incoming request, or null if no OAuth message was attached.</returns> /// <exception cref="ProtocolException">Thrown if an unexpected OAuth message is attached to the incoming request.</exception> + [SuppressMessage("Microsoft.Naming", "CA2204:Literals should be spelled correctly", MessageId = "unauthorizedclient", Justification = "Protocol required.")] public EndUserAuthorizationRequest ReadAuthorizationRequest(HttpRequestInfo request = null) { if (request == null) { request = this.Channel.GetRequestFromContext(); @@ -191,7 +186,7 @@ namespace DotNetOpenAuth.OAuth2 { switch (authorizationRequest.ResponseType) { case EndUserAuthorizationResponseType.AccessToken: var accessTokenResponse = new EndUserAuthorizationSuccessAccessTokenResponse(callback, authorizationRequest); - accessTokenResponse.Lifetime = this.AuthorizationServerServices.GetAccessTokenLifetime(authorizationRequest); + accessTokenResponse.Lifetime = this.AuthorizationServerServices.GetAccessTokenLifetime((EndUserAuthorizationImplicitRequest)authorizationRequest); response = accessTokenResponse; break; case EndUserAuthorizationResponseType.AuthorizationCode: @@ -220,6 +215,15 @@ namespace DotNetOpenAuth.OAuth2 { public virtual IDirectResponseProtocolMessage PrepareAccessTokenResponse(AccessTokenRequestBase request, bool includeRefreshToken = true) { Requires.NotNull(request, "request"); + if (includeRefreshToken) { + if (request is AccessTokenClientCredentialsRequest) { + // Per OAuth 2.0 section 4.4.3 (draft 23), refresh tokens should never be included + // in a response to an access token request that used the client credential grant type. + Logger.OAuth.Debug("Suppressing refresh token in access token response because the grant type used by the client disallows it."); + includeRefreshToken = false; + } + } + var tokenRequest = (IAuthorizationCarryingRequest)request; var response = new AccessTokenSuccessResponse(request) { Lifetime = this.AuthorizationServerServices.GetAccessTokenLifetime(request), diff --git a/src/DotNetOpenAuth.OAuth2.AuthorizationServer/Properties/AssemblyInfo.cs b/src/DotNetOpenAuth.OAuth2.AuthorizationServer/Properties/AssemblyInfo.cs index 54db6cf..1227c7b 100644 --- a/src/DotNetOpenAuth.OAuth2.AuthorizationServer/Properties/AssemblyInfo.cs +++ b/src/DotNetOpenAuth.OAuth2.AuthorizationServer/Properties/AssemblyInfo.cs @@ -1,6 +1,6 @@ //----------------------------------------------------------------------- -// <copyright file="AssemblyInfo.cs" company="Andrew Arnott"> -// Copyright (c) Andrew Arnott. All rights reserved. +// <copyright file="AssemblyInfo.cs" company="Outercurve Foundation"> +// Copyright (c) Outercurve Foundation. All rights reserved. // </copyright> //----------------------------------------------------------------------- @@ -25,7 +25,7 @@ using System.Web.UI; [assembly: AssemblyConfiguration("")] [assembly: AssemblyCompany("")] [assembly: AssemblyProduct("DotNetOpenAuth")] -[assembly: AssemblyCopyright("Copyright © 2008")] +[assembly: AssemblyCopyright("Copyright © 2011 Outercurve Foundation")] [assembly: AssemblyTrademark("")] [assembly: AssemblyCulture("")] [assembly: NeutralResourcesLanguage("en-US")] diff --git a/src/DotNetOpenAuth.OAuth2.Client.UI/DotNetOpenAuth.OAuth2.Client.UI.csproj b/src/DotNetOpenAuth.OAuth2.Client.UI/DotNetOpenAuth.OAuth2.Client.UI.csproj index 7c35a50..373baab 100644 --- a/src/DotNetOpenAuth.OAuth2.Client.UI/DotNetOpenAuth.OAuth2.Client.UI.csproj +++ b/src/DotNetOpenAuth.OAuth2.Client.UI/DotNetOpenAuth.OAuth2.Client.UI.csproj @@ -18,6 +18,7 @@ <PropertyGroup Condition=" '$(Configuration)|$(Platform)' == 'Release|AnyCPU' "> </PropertyGroup> <ItemGroup> + <Compile Include="OAuth2\ClientAuthorizationCompleteEventArgs.cs" /> <Compile Include="OAuth2\ClientAuthorizationView.cs"> <SubType>UserControl</SubType> </Compile> @@ -39,10 +40,6 @@ <Project>{56459A6C-6BA2-4BAC-A9C0-27E3BD961FA6}</Project> <Name>DotNetOpenAuth.OAuth2</Name> </ProjectReference> - <ProjectReference Include="..\DotNetOpenAuth.OAuth\DotNetOpenAuth.OAuth.csproj"> - <Project>{A288FCC8-6FCF-46DA-A45E-5F9281556361}</Project> - <Name>DotNetOpenAuth.OAuth</Name> - </ProjectReference> </ItemGroup> <ItemGroup> <EmbeddedResource Include="OAuth2\ClientAuthorizationView.resx"> diff --git a/src/DotNetOpenAuth.OAuth2.Client.UI/OAuth2/ClientAuthorizationCompleteEventArgs.cs b/src/DotNetOpenAuth.OAuth2.Client.UI/OAuth2/ClientAuthorizationCompleteEventArgs.cs new file mode 100644 index 0000000..a57034b --- /dev/null +++ b/src/DotNetOpenAuth.OAuth2.Client.UI/OAuth2/ClientAuthorizationCompleteEventArgs.cs @@ -0,0 +1,32 @@ +//----------------------------------------------------------------------- +// <copyright file="ClientAuthorizationCompleteEventArgs.cs" company="Outercurve Foundation"> +// Copyright (c) Outercurve Foundation. All rights reserved. +// </copyright> +//----------------------------------------------------------------------- + +namespace DotNetOpenAuth.OAuth2 { + using System; + using System.Collections.Generic; + using System.Linq; + using System.Text; + + /// <summary> + /// Describes the results of a completed authorization flow. + /// </summary> + public class ClientAuthorizationCompleteEventArgs : EventArgs { + /// <summary> + /// Initializes a new instance of the <see cref="ClientAuthorizationCompleteEventArgs"/> class. + /// </summary> + /// <param name="authorization">The authorization.</param> + public ClientAuthorizationCompleteEventArgs(IAuthorizationState authorization) { + Requires.NotNull(authorization, "authorization"); + this.Authorization = authorization; + } + + /// <summary> + /// Gets the authorization tracking object. + /// </summary> + /// <value>Null if authorization was rejected by the user.</value> + public IAuthorizationState Authorization { get; private set; } + } +} diff --git a/src/DotNetOpenAuth.OAuth2.Client.UI/OAuth2/ClientAuthorizationView.cs b/src/DotNetOpenAuth.OAuth2.Client.UI/OAuth2/ClientAuthorizationView.cs index acd8fb3..a0204fa 100644 --- a/src/DotNetOpenAuth.OAuth2.Client.UI/OAuth2/ClientAuthorizationView.cs +++ b/src/DotNetOpenAuth.OAuth2.Client.UI/OAuth2/ClientAuthorizationView.cs @@ -1,6 +1,6 @@ //----------------------------------------------------------------------- -// <copyright file="ClientAuthorizationView.cs" company="Andrew Arnott"> -// Copyright (c) Andrew Arnott. All rights reserved. +// <copyright file="ClientAuthorizationView.cs" company="Outercurve Foundation"> +// Copyright (c) Outercurve Foundation. All rights reserved. // </copyright> //----------------------------------------------------------------------- @@ -9,6 +9,7 @@ namespace DotNetOpenAuth.OAuth2 { using System.Collections.Generic; using System.ComponentModel; using System.Data; + using System.Diagnostics.CodeAnalysis; using System.Diagnostics.Contracts; using System.Drawing; using System.Linq; @@ -106,6 +107,8 @@ namespace DotNetOpenAuth.OAuth2 { /// Raises the <see cref="E:System.Windows.Forms.UserControl.Load"/> event. /// </summary> /// <param name="e">An <see cref="T:System.EventArgs"/> that contains the event data.</param> + [SuppressMessage("Microsoft.Usage", "CA2234:PassSystemUriObjectsInsteadOfStrings", Justification = "Avoid bug in .NET WebBrowser control.")] + [SuppressMessage("Microsoft.Security", "CA2122:DoNotIndirectlyExposeMethodsWithLinkDemands", Justification = "It's a new instance we control.")] protected override void OnLoad(EventArgs e) { base.OnLoad(e); @@ -144,7 +147,11 @@ namespace DotNetOpenAuth.OAuth2 { try { this.Client.ProcessUserAuthorization(location, this.Authorization); } catch (ProtocolException ex) { - MessageBox.Show(ex.ToStringDescriptive()); + var options = (MessageBoxOptions)0; + if (this.RightToLeft == System.Windows.Forms.RightToLeft.Yes) { + options |= MessageBoxOptions.RtlReading | MessageBoxOptions.RightAlign; + } + MessageBox.Show(this, ex.ToStringDescriptive(), ex.GetType().Name, MessageBoxButtons.OK, MessageBoxIcon.Error, MessageBoxDefaultButton.Button1, options); } finally { this.OnCompleted(); } @@ -168,25 +175,5 @@ namespace DotNetOpenAuth.OAuth2 { private void WebBrowser1_LocationChanged(object sender, EventArgs e) { this.ProcessLocationChanged(this.webBrowser1.Url); } - - /// <summary> - /// Describes the results of a completed authorization flow. - /// </summary> - public class ClientAuthorizationCompleteEventArgs : EventArgs { - /// <summary> - /// Initializes a new instance of the <see cref="ClientAuthorizationCompleteEventArgs"/> class. - /// </summary> - /// <param name="authorization">The authorization.</param> - public ClientAuthorizationCompleteEventArgs(IAuthorizationState authorization) { - Requires.NotNull(authorization, "authorization"); - this.Authorization = authorization; - } - - /// <summary> - /// Gets the authorization tracking object. - /// </summary> - /// <value>Null if authorization was rejected by the user.</value> - public IAuthorizationState Authorization { get; private set; } - } } } diff --git a/src/DotNetOpenAuth.OAuth2.Client.UI/Properties/AssemblyInfo.cs b/src/DotNetOpenAuth.OAuth2.Client.UI/Properties/AssemblyInfo.cs index 54db6cf..1227c7b 100644 --- a/src/DotNetOpenAuth.OAuth2.Client.UI/Properties/AssemblyInfo.cs +++ b/src/DotNetOpenAuth.OAuth2.Client.UI/Properties/AssemblyInfo.cs @@ -1,6 +1,6 @@ //----------------------------------------------------------------------- -// <copyright file="AssemblyInfo.cs" company="Andrew Arnott"> -// Copyright (c) Andrew Arnott. All rights reserved. +// <copyright file="AssemblyInfo.cs" company="Outercurve Foundation"> +// Copyright (c) Outercurve Foundation. All rights reserved. // </copyright> //----------------------------------------------------------------------- @@ -25,7 +25,7 @@ using System.Web.UI; [assembly: AssemblyConfiguration("")] [assembly: AssemblyCompany("")] [assembly: AssemblyProduct("DotNetOpenAuth")] -[assembly: AssemblyCopyright("Copyright © 2008")] +[assembly: AssemblyCopyright("Copyright © 2011 Outercurve Foundation")] [assembly: AssemblyTrademark("")] [assembly: AssemblyCulture("")] [assembly: NeutralResourcesLanguage("en-US")] diff --git a/src/DotNetOpenAuth.OAuth2.Client/DotNetOpenAuth.OAuth2.Client.csproj b/src/DotNetOpenAuth.OAuth2.Client/DotNetOpenAuth.OAuth2.Client.csproj index 8cfec0e..3d2683f 100644 --- a/src/DotNetOpenAuth.OAuth2.Client/DotNetOpenAuth.OAuth2.Client.csproj +++ b/src/DotNetOpenAuth.OAuth2.Client/DotNetOpenAuth.OAuth2.Client.csproj @@ -18,6 +18,11 @@ <PropertyGroup Condition=" '$(Configuration)|$(Platform)' == 'Release|AnyCPU' "> </PropertyGroup> <ItemGroup> + <Compile Include="OAuth2\OAuth2Strings.Designer.cs"> + <AutoGen>True</AutoGen> + <DesignTime>True</DesignTime> + <DependentUpon>OAuth2Strings.resx</DependentUpon> + </Compile> <Compile Include="OAuth2\UserAgentClient.cs" /> <Compile Include="Properties\AssemblyInfo.cs" /> <Compile Include="OAuth2\ClientBase.cs" /> @@ -32,10 +37,12 @@ <Project>{56459A6C-6BA2-4BAC-A9C0-27E3BD961FA6}</Project> <Name>DotNetOpenAuth.OAuth2</Name> </ProjectReference> - <ProjectReference Include="..\DotNetOpenAuth.OAuth\DotNetOpenAuth.OAuth.csproj"> - <Project>{A288FCC8-6FCF-46DA-A45E-5F9281556361}</Project> - <Name>DotNetOpenAuth.OAuth</Name> - </ProjectReference> + </ItemGroup> + <ItemGroup> + <EmbeddedResource Include="OAuth2\OAuth2Strings.resx"> + <Generator>ResXFileCodeGenerator</Generator> + <LastGenOutput>OAuth2Strings.Designer.cs</LastGenOutput> + </EmbeddedResource> </ItemGroup> <Import Project="$(MSBuildToolsPath)\Microsoft.CSharp.targets" /> <Import Project="$(ProjectRoot)tools\DotNetOpenAuth.targets" /> diff --git a/src/DotNetOpenAuth.OAuth2.Client/OAuth2/ClientBase.cs b/src/DotNetOpenAuth.OAuth2.Client/OAuth2/ClientBase.cs index 2465182..7697244 100644 --- a/src/DotNetOpenAuth.OAuth2.Client/OAuth2/ClientBase.cs +++ b/src/DotNetOpenAuth.OAuth2.Client/OAuth2/ClientBase.cs @@ -1,6 +1,6 @@ //----------------------------------------------------------------------- -// <copyright file="ClientBase.cs" company="Andrew Arnott"> -// Copyright (c) Andrew Arnott. All rights reserved. +// <copyright file="ClientBase.cs" company="Outercurve Foundation"> +// Copyright (c) Outercurve Foundation. All rights reserved. // </copyright> //----------------------------------------------------------------------- @@ -11,6 +11,7 @@ namespace DotNetOpenAuth.OAuth2 { using System.Globalization; using System.Linq; using System.Net; + using System.Security; using System.Text; using DotNetOpenAuth.Messaging; using DotNetOpenAuth.OAuth2.ChannelElements; @@ -44,7 +45,7 @@ namespace DotNetOpenAuth.OAuth2 { /// Gets the OAuth channel. /// </summary> /// <value>The channel.</value> - public Channel Channel { get; private set; } + public Channel Channel { get; internal set; } /// <summary> /// Gets or sets the identifier by which this client is known to the Authorization Server. @@ -79,10 +80,10 @@ namespace DotNetOpenAuth.OAuth2 { Requires.NotNull(request, "request"); Requires.NotNull(authorization, "authorization"); Requires.True(!string.IsNullOrEmpty(authorization.AccessToken), "authorization"); - ErrorUtilities.VerifyProtocol(!authorization.AccessTokenExpirationUtc.HasValue || authorization.AccessTokenExpirationUtc < DateTime.UtcNow || authorization.RefreshToken != null, "authorization has expired"); + ErrorUtilities.VerifyProtocol(!authorization.AccessTokenExpirationUtc.HasValue || authorization.AccessTokenExpirationUtc < DateTime.UtcNow || authorization.RefreshToken != null, OAuth2Strings.AuthorizationExpired); if (authorization.AccessTokenExpirationUtc.HasValue && authorization.AccessTokenExpirationUtc.Value < DateTime.UtcNow) { - ErrorUtilities.VerifyProtocol(authorization.RefreshToken != null, "Access token has expired and cannot be automatically refreshed."); + ErrorUtilities.VerifyProtocol(authorization.RefreshToken != null, OAuth2Strings.AccessTokenRefreshFailed); this.RefreshAuthorization(authorization); } @@ -156,6 +157,35 @@ namespace DotNetOpenAuth.OAuth2 { } /// <summary> + /// Exchanges a resource owner's password credential for OAuth 2.0 refresh and access tokens. + /// </summary> + /// <param name="userName">The resource owner's username, as it is known by the authorization server.</param> + /// <param name="password">The resource owner's account password.</param> + /// <param name="scopes">The desired scope of access.</param> + /// <returns>The result, containing the tokens if successful.</returns> + public IAuthorizationState ExchangeUserCredentialForToken(string userName, string password, IEnumerable<string> scopes = null) { + Requires.NotNullOrEmpty(userName, "userName"); + Requires.NotNull(password, "password"); + + var request = new AccessTokenResourceOwnerPasswordCredentialsRequest(this.AuthorizationServer.TokenEndpoint, this.AuthorizationServer.Version) { + UserName = userName, + Password = password, + }; + + return this.RequestAccessToken(request, scopes); + } + + /// <summary> + /// Obtains an access token for accessing client-controlled resources on the resource server. + /// </summary> + /// <param name="scopes">The desired scopes.</param> + /// <returns>The result of the authorization request.</returns> + public IAuthorizationState GetClientAccessToken(IEnumerable<string> scopes = null) { + var request = new AccessTokenClientCredentialsRequest(this.AuthorizationServer.TokenEndpoint, this.AuthorizationServer.Version); + return this.RequestAccessToken(request, scopes); + } + + /// <summary> /// Updates the authorization state maintained by the client with the content of an outgoing response. /// </summary> /// <param name="authorizationState">The authorization state maintained by the client.</param> @@ -252,5 +282,34 @@ namespace DotNetOpenAuth.OAuth2 { double proportionLifetimeRemaining = 1 - (elapsedLifetime.TotalSeconds / totalLifetime.TotalSeconds); return proportionLifetimeRemaining; } + + /// <summary> + /// Requests an access token using a partially .initialized request message. + /// </summary> + /// <param name="request">The request message.</param> + /// <param name="scopes">The scopes requested by the client.</param> + /// <returns>The result of the request.</returns> + private IAuthorizationState RequestAccessToken(ScopedAccessTokenRequest request, IEnumerable<string> scopes = null) { + Requires.NotNull(request, "request"); + + var authorizationState = new AuthorizationState(scopes); + + request.ClientIdentifier = this.ClientIdentifier; + request.ClientSecret = this.ClientSecret; + request.Scope.UnionWith(authorizationState.Scope); + + var response = this.Channel.Request(request); + var success = response as AccessTokenSuccessResponse; + var failure = response as AccessTokenFailedResponse; + ErrorUtilities.VerifyProtocol(success != null || failure != null, MessagingStrings.UnexpectedMessageReceivedOfMany); + if (success != null) { + UpdateAuthorizationWithResponse(authorizationState, success); + } else { // failure + Logger.OAuth.Info("Credentials rejected by the Authorization Server."); + authorizationState.Delete(); + } + + return authorizationState; + } } } diff --git a/src/DotNetOpenAuth.OAuth2.Client/OAuth2/OAuth2Strings.Designer.cs b/src/DotNetOpenAuth.OAuth2.Client/OAuth2/OAuth2Strings.Designer.cs new file mode 100644 index 0000000..d140b7e --- /dev/null +++ b/src/DotNetOpenAuth.OAuth2.Client/OAuth2/OAuth2Strings.Designer.cs @@ -0,0 +1,99 @@ +//------------------------------------------------------------------------------ +// <auto-generated> +// This code was generated by a tool. +// Runtime Version:4.0.30319.239 +// +// Changes to this file may cause incorrect behavior and will be lost if +// the code is regenerated. +// </auto-generated> +//------------------------------------------------------------------------------ + +namespace DotNetOpenAuth.OAuth2 { + using System; + + + /// <summary> + /// A strongly-typed resource class, for looking up localized strings, etc. + /// </summary> + // This class was auto-generated by the StronglyTypedResourceBuilder + // class via a tool like ResGen or Visual Studio. + // To add or remove a member, edit your .ResX file then rerun ResGen + // with the /str option, or rebuild your VS project. + [global::System.CodeDom.Compiler.GeneratedCodeAttribute("System.Resources.Tools.StronglyTypedResourceBuilder", "4.0.0.0")] + [global::System.Diagnostics.DebuggerNonUserCodeAttribute()] + [global::System.Runtime.CompilerServices.CompilerGeneratedAttribute()] + internal class OAuth2Strings { + + private static global::System.Resources.ResourceManager resourceMan; + + private static global::System.Globalization.CultureInfo resourceCulture; + + [global::System.Diagnostics.CodeAnalysis.SuppressMessageAttribute("Microsoft.Performance", "CA1811:AvoidUncalledPrivateCode")] + internal OAuth2Strings() { + } + + /// <summary> + /// Returns the cached ResourceManager instance used by this class. + /// </summary> + [global::System.ComponentModel.EditorBrowsableAttribute(global::System.ComponentModel.EditorBrowsableState.Advanced)] + internal static global::System.Resources.ResourceManager ResourceManager { + get { + if (object.ReferenceEquals(resourceMan, null)) { + global::System.Resources.ResourceManager temp = new global::System.Resources.ResourceManager("DotNetOpenAuth.OAuth2.OAuth2Strings", typeof(OAuth2Strings).Assembly); + resourceMan = temp; + } + return resourceMan; + } + } + + /// <summary> + /// Overrides the current thread's CurrentUICulture property for all + /// resource lookups using this strongly typed resource class. + /// </summary> + [global::System.ComponentModel.EditorBrowsableAttribute(global::System.ComponentModel.EditorBrowsableState.Advanced)] + internal static global::System.Globalization.CultureInfo Culture { + get { + return resourceCulture; + } + set { + resourceCulture = value; + } + } + + /// <summary> + /// Looks up a localized string similar to Access token has expired and cannot be automatically refreshed.. + /// </summary> + internal static string AccessTokenRefreshFailed { + get { + return ResourceManager.GetString("AccessTokenRefreshFailed", resourceCulture); + } + } + + /// <summary> + /// Looks up a localized string similar to Authorization has expired.. + /// </summary> + internal static string AuthorizationExpired { + get { + return ResourceManager.GetString("AuthorizationExpired", resourceCulture); + } + } + + /// <summary> + /// Looks up a localized string similar to Unexpected OAuth authorization response received with callback and client state that does not match an expected value.. + /// </summary> + internal static string AuthorizationResponseUnexpectedMismatch { + get { + return ResourceManager.GetString("AuthorizationResponseUnexpectedMismatch", resourceCulture); + } + } + + /// <summary> + /// Looks up a localized string similar to The property {0} must be set before this operation is allowed.. + /// </summary> + internal static string RequiredPropertyNotYetPreset { + get { + return ResourceManager.GetString("RequiredPropertyNotYetPreset", resourceCulture); + } + } + } +} diff --git a/src/DotNetOpenAuth.OAuth2.Client/OAuth2/OAuth2Strings.resx b/src/DotNetOpenAuth.OAuth2.Client/OAuth2/OAuth2Strings.resx new file mode 100644 index 0000000..114b3e8 --- /dev/null +++ b/src/DotNetOpenAuth.OAuth2.Client/OAuth2/OAuth2Strings.resx @@ -0,0 +1,132 @@ +<?xml version="1.0" encoding="utf-8"?> +<root> + <!-- + Microsoft ResX Schema + + Version 2.0 + + The primary goals of this format is to allow a simple XML format + that is mostly human readable. The generation and parsing of the + various data types are done through the TypeConverter classes + associated with the data types. + + Example: + + ... ado.net/XML headers & schema ... + <resheader name="resmimetype">text/microsoft-resx</resheader> + <resheader name="version">2.0</resheader> + <resheader name="reader">System.Resources.ResXResourceReader, System.Windows.Forms, ...</resheader> + <resheader name="writer">System.Resources.ResXResourceWriter, System.Windows.Forms, ...</resheader> + <data name="Name1"><value>this is my long string</value><comment>this is a comment</comment></data> + <data name="Color1" type="System.Drawing.Color, System.Drawing">Blue</data> + <data name="Bitmap1" mimetype="application/x-microsoft.net.object.binary.base64"> + <value>[base64 mime encoded serialized .NET Framework object]</value> + </data> + <data name="Icon1" type="System.Drawing.Icon, System.Drawing" mimetype="application/x-microsoft.net.object.bytearray.base64"> + <value>[base64 mime encoded string representing a byte array form of the .NET Framework object]</value> + <comment>This is a comment</comment> + </data> + + There are any number of "resheader" rows that contain simple + name/value pairs. + + Each data row contains a name, and value. The row also contains a + type or mimetype. Type corresponds to a .NET class that support + text/value conversion through the TypeConverter architecture. + Classes that don't support this are serialized and stored with the + mimetype set. + + The mimetype is used for serialized objects, and tells the + ResXResourceReader how to depersist the object. This is currently not + extensible. For a given mimetype the value must be set accordingly: + + Note - application/x-microsoft.net.object.binary.base64 is the format + that the ResXResourceWriter will generate, however the reader can + read any of the formats listed below. + + mimetype: application/x-microsoft.net.object.binary.base64 + value : The object must be serialized with + : System.Runtime.Serialization.Formatters.Binary.BinaryFormatter + : and then encoded with base64 encoding. + + mimetype: application/x-microsoft.net.object.soap.base64 + value : The object must be serialized with + : System.Runtime.Serialization.Formatters.Soap.SoapFormatter + : and then encoded with base64 encoding. + + mimetype: application/x-microsoft.net.object.bytearray.base64 + value : The object must be serialized into a byte array + : using a System.ComponentModel.TypeConverter + : and then encoded with base64 encoding. + --> + <xsd:schema id="root" xmlns="" xmlns:xsd="http://www.w3.org/2001/XMLSchema" xmlns:msdata="urn:schemas-microsoft-com:xml-msdata"> + <xsd:import namespace="http://www.w3.org/XML/1998/namespace" /> + <xsd:element name="root" msdata:IsDataSet="true"> + <xsd:complexType> + <xsd:choice maxOccurs="unbounded"> + <xsd:element name="metadata"> + <xsd:complexType> + <xsd:sequence> + <xsd:element name="value" type="xsd:string" minOccurs="0" /> + </xsd:sequence> + <xsd:attribute name="name" use="required" type="xsd:string" /> + <xsd:attribute name="type" type="xsd:string" /> + <xsd:attribute name="mimetype" type="xsd:string" /> + <xsd:attribute ref="xml:space" /> + </xsd:complexType> + </xsd:element> + <xsd:element name="assembly"> + <xsd:complexType> + <xsd:attribute name="alias" type="xsd:string" /> + <xsd:attribute name="name" type="xsd:string" /> + </xsd:complexType> + </xsd:element> + <xsd:element name="data"> + <xsd:complexType> + <xsd:sequence> + <xsd:element name="value" type="xsd:string" minOccurs="0" msdata:Ordinal="1" /> + <xsd:element name="comment" type="xsd:string" minOccurs="0" msdata:Ordinal="2" /> + </xsd:sequence> + <xsd:attribute name="name" type="xsd:string" use="required" msdata:Ordinal="1" /> + <xsd:attribute name="type" type="xsd:string" msdata:Ordinal="3" /> + <xsd:attribute name="mimetype" type="xsd:string" msdata:Ordinal="4" /> + <xsd:attribute ref="xml:space" /> + </xsd:complexType> + </xsd:element> + <xsd:element name="resheader"> + <xsd:complexType> + <xsd:sequence> + <xsd:element name="value" type="xsd:string" minOccurs="0" msdata:Ordinal="1" /> + </xsd:sequence> + <xsd:attribute name="name" type="xsd:string" use="required" /> + </xsd:complexType> + </xsd:element> + </xsd:choice> + </xsd:complexType> + </xsd:element> + </xsd:schema> + <resheader name="resmimetype"> + <value>text/microsoft-resx</value> + </resheader> + <resheader name="version"> + <value>2.0</value> + </resheader> + <resheader name="reader"> + <value>System.Resources.ResXResourceReader, System.Windows.Forms, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089</value> + </resheader> + <resheader name="writer"> + <value>System.Resources.ResXResourceWriter, System.Windows.Forms, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089</value> + </resheader> + <data name="AccessTokenRefreshFailed" xml:space="preserve"> + <value>Access token has expired and cannot be automatically refreshed.</value> + </data> + <data name="AuthorizationExpired" xml:space="preserve"> + <value>Authorization has expired.</value> + </data> + <data name="AuthorizationResponseUnexpectedMismatch" xml:space="preserve"> + <value>Unexpected OAuth authorization response received with callback and client state that does not match an expected value.</value> + </data> + <data name="RequiredPropertyNotYetPreset" xml:space="preserve"> + <value>The property {0} must be set before this operation is allowed.</value> + </data> +</root>
\ No newline at end of file diff --git a/src/DotNetOpenAuth.OAuth2.Client/OAuth2/UserAgentClient.cs b/src/DotNetOpenAuth.OAuth2.Client/OAuth2/UserAgentClient.cs index d452525..5131b10 100644 --- a/src/DotNetOpenAuth.OAuth2.Client/OAuth2/UserAgentClient.cs +++ b/src/DotNetOpenAuth.OAuth2.Client/OAuth2/UserAgentClient.cs @@ -1,6 +1,6 @@ //----------------------------------------------------------------------- -// <copyright file="UserAgentClient.cs" company="Andrew Arnott"> -// Copyright (c) Andrew Arnott. All rights reserved. +// <copyright file="UserAgentClient.cs" company="Outercurve Foundation"> +// Copyright (c) Outercurve Foundation. All rights reserved. // </copyright> //----------------------------------------------------------------------- @@ -64,25 +64,19 @@ namespace DotNetOpenAuth.OAuth2 { /// this client to access protected data at some resource server. /// </summary> /// <param name="authorization">The authorization state that is tracking this particular request. Optional.</param> + /// <param name="implicitResponseType"> + /// <c>true</c> to request an access token in the fragment of the response's URL; + /// <c>false</c> to authenticate to the authorization server and acquire the access token (and possibly a refresh token) via a private channel. + /// </param> /// <param name="state">The client state that should be returned with the authorization response.</param> /// <returns> /// A fully-qualified URL suitable to initiate the authorization flow. /// </returns> - public Uri RequestUserAuthorization(IAuthorizationState authorization, string state = null) { + public Uri RequestUserAuthorization(IAuthorizationState authorization, bool implicitResponseType = false, string state = null) { Requires.NotNull(authorization, "authorization"); Requires.ValidState(!string.IsNullOrEmpty(this.ClientIdentifier)); - if (authorization.Callback == null) { - authorization.Callback = new Uri("http://localhost/"); - } - - var request = new EndUserAuthorizationRequest(this.AuthorizationServer) { - ClientIdentifier = this.ClientIdentifier, - Callback = authorization.Callback, - ClientState = state, - }; - request.Scope.ResetContents(authorization.Scope); - + var request = this.PrepareRequestUserAuthorization(authorization, implicitResponseType, state); return this.Channel.PrepareResponse(request).GetDirectUriRequest(this.Channel); } @@ -105,6 +99,21 @@ namespace DotNetOpenAuth.OAuth2 { return null; } + return this.ProcessUserAuthorization(authorizationState, response); + } + + /// <summary> + /// Scans the incoming request for an authorization response message. + /// </summary> + /// <param name="authorizationState">The authorization.</param> + /// <param name="response">The incoming authorization response message.</param> + /// <returns> + /// The granted authorization, or <c>null</c> if the incoming HTTP request did not contain an authorization server response or authorization was rejected. + /// </returns> + internal IAuthorizationState ProcessUserAuthorization(IAuthorizationState authorizationState, IDirectedProtocolMessage response) { + Requires.NotNull(authorizationState, "authorizationState"); + Requires.NotNull(response, "response"); + EndUserAuthorizationSuccessAccessTokenResponse accessTokenSuccess; EndUserAuthorizationSuccessAuthCodeResponse authCodeSuccess; EndUserAuthorizationFailedResponse failure; @@ -119,5 +128,35 @@ namespace DotNetOpenAuth.OAuth2 { return authorizationState; } + + /// <summary> + /// Generates a URL that the user's browser can be directed to in order to authorize + /// this client to access protected data at some resource server. + /// </summary> + /// <param name="authorization">The authorization state that is tracking this particular request. Optional.</param> + /// <param name="implicitResponseType"> + /// <c>true</c> to request an access token in the fragment of the response's URL; + /// <c>false</c> to authenticate to the authorization server and acquire the access token (and possibly a refresh token) via a private channel. + /// </param> + /// <param name="state">The client state that should be returned with the authorization response.</param> + /// <returns> + /// A message to send to the authorization server. + /// </returns> + internal EndUserAuthorizationRequest PrepareRequestUserAuthorization(IAuthorizationState authorization, bool implicitResponseType = false, string state = null) { + Requires.NotNull(authorization, "authorization"); + Requires.ValidState(!string.IsNullOrEmpty(this.ClientIdentifier)); + + if (authorization.Callback == null) { + authorization.Callback = new Uri("http://localhost/"); + } + + var request = implicitResponseType ? new EndUserAuthorizationImplicitRequest(this.AuthorizationServer) : new EndUserAuthorizationRequest(this.AuthorizationServer); + request.ClientIdentifier = this.ClientIdentifier; + request.Callback = authorization.Callback; + request.ClientState = state; + request.Scope.ResetContents(authorization.Scope); + + return request; + } } } diff --git a/src/DotNetOpenAuth.OAuth2.Client/OAuth2/WebServerClient.cs b/src/DotNetOpenAuth.OAuth2.Client/OAuth2/WebServerClient.cs index 4f793a5..ffcc1ee 100644 --- a/src/DotNetOpenAuth.OAuth2.Client/OAuth2/WebServerClient.cs +++ b/src/DotNetOpenAuth.OAuth2.Client/OAuth2/WebServerClient.cs @@ -1,6 +1,6 @@ //----------------------------------------------------------------------- -// <copyright file="WebServerClient.cs" company="Andrew Arnott"> -// Copyright (c) Andrew Arnott. All rights reserved. +// <copyright file="WebServerClient.cs" company="Outercurve Foundation"> +// Copyright (c) Outercurve Foundation. All rights reserved. // </copyright> //----------------------------------------------------------------------- @@ -53,9 +53,12 @@ namespace DotNetOpenAuth.OAuth2 { /// </summary> /// <param name="scopes">The scope of authorized access requested.</param> /// <param name="state">The state of the client that should be sent back with the authorization response.</param> + /// <param name="returnTo">The URL the authorization server should redirect the browser (typically on this site) to when the authorization is completed. If null, the current request's URL will be used.</param> /// <returns>The authorization request.</returns> - public OutgoingWebResponse PrepareRequestUserAuthorization(IEnumerable<string> scopes = null, string state = null) { - var authorizationState = new AuthorizationState(scopes); + public OutgoingWebResponse PrepareRequestUserAuthorization(IEnumerable<string> scopes = null, string state = null, Uri returnTo = null) { + var authorizationState = new AuthorizationState(scopes) { + Callback = returnTo, + }; return this.PrepareRequestUserAuthorization(authorizationState, state); } @@ -68,7 +71,7 @@ namespace DotNetOpenAuth.OAuth2 { public OutgoingWebResponse PrepareRequestUserAuthorization(IAuthorizationState authorization, string state = null) { Requires.NotNull(authorization, "authorization"); Requires.ValidState(authorization.Callback != null || (HttpContext.Current != null && HttpContext.Current.Request != null), MessagingStrings.HttpContextRequired); - Requires.ValidState(!string.IsNullOrEmpty(this.ClientIdentifier)); + Requires.ValidState(!string.IsNullOrEmpty(this.ClientIdentifier), OAuth2Strings.RequiredPropertyNotYetPreset, "ClientIdentifier"); Contract.Ensures(Contract.Result<OutgoingWebResponse>() != null); if (authorization.Callback == null) { @@ -94,8 +97,8 @@ namespace DotNetOpenAuth.OAuth2 { /// <param name="request">The incoming HTTP request that may carry an authorization response.</param> /// <returns>The authorization state that contains the details of the authorization.</returns> public IAuthorizationState ProcessUserAuthorization(HttpRequestInfo request = null) { - Requires.ValidState(!string.IsNullOrEmpty(this.ClientIdentifier)); - Requires.ValidState(!string.IsNullOrEmpty(this.ClientSecret)); + Requires.ValidState(!string.IsNullOrEmpty(this.ClientIdentifier), OAuth2Strings.RequiredPropertyNotYetPreset, "ClientIdentifier"); + Requires.ValidState(!string.IsNullOrEmpty(this.ClientSecret), OAuth2Strings.RequiredPropertyNotYetPreset, "ClientSecret"); if (request == null) { request = this.Channel.GetRequestFromContext(); @@ -107,7 +110,7 @@ namespace DotNetOpenAuth.OAuth2 { IAuthorizationState authorizationState; if (this.AuthorizationTracker != null) { authorizationState = this.AuthorizationTracker.GetAuthorizationState(callback, response.ClientState); - ErrorUtilities.VerifyProtocol(authorizationState != null, "Unexpected OAuth authorization response received with callback and client state that does not match an expected value."); + ErrorUtilities.VerifyProtocol(authorizationState != null, OAuth2Strings.AuthorizationResponseUnexpectedMismatch); } else { authorizationState = new AuthorizationState { Callback = callback }; } diff --git a/src/DotNetOpenAuth.OAuth2.Client/Properties/AssemblyInfo.cs b/src/DotNetOpenAuth.OAuth2.Client/Properties/AssemblyInfo.cs index 54db6cf..1227c7b 100644 --- a/src/DotNetOpenAuth.OAuth2.Client/Properties/AssemblyInfo.cs +++ b/src/DotNetOpenAuth.OAuth2.Client/Properties/AssemblyInfo.cs @@ -1,6 +1,6 @@ //----------------------------------------------------------------------- -// <copyright file="AssemblyInfo.cs" company="Andrew Arnott"> -// Copyright (c) Andrew Arnott. All rights reserved. +// <copyright file="AssemblyInfo.cs" company="Outercurve Foundation"> +// Copyright (c) Outercurve Foundation. All rights reserved. // </copyright> //----------------------------------------------------------------------- @@ -25,7 +25,7 @@ using System.Web.UI; [assembly: AssemblyConfiguration("")] [assembly: AssemblyCompany("")] [assembly: AssemblyProduct("DotNetOpenAuth")] -[assembly: AssemblyCopyright("Copyright © 2008")] +[assembly: AssemblyCopyright("Copyright © 2011 Outercurve Foundation")] [assembly: AssemblyTrademark("")] [assembly: AssemblyCulture("")] [assembly: NeutralResourcesLanguage("en-US")] diff --git a/src/DotNetOpenAuth.OAuth2.ResourceServer/DotNetOpenAuth.OAuth2.ResourceServer.csproj b/src/DotNetOpenAuth.OAuth2.ResourceServer/DotNetOpenAuth.OAuth2.ResourceServer.csproj index 43c478b..f4ac48c 100644 --- a/src/DotNetOpenAuth.OAuth2.ResourceServer/DotNetOpenAuth.OAuth2.ResourceServer.csproj +++ b/src/DotNetOpenAuth.OAuth2.ResourceServer/DotNetOpenAuth.OAuth2.ResourceServer.csproj @@ -18,6 +18,11 @@ <PropertyGroup Condition=" '$(Configuration)|$(Platform)' == 'Release|AnyCPU' "> </PropertyGroup> <ItemGroup> + <Compile Include="OAuth2\OAuth2Strings.Designer.cs"> + <AutoGen>True</AutoGen> + <DesignTime>True</DesignTime> + <DependentUpon>OAuth2Strings.resx</DependentUpon> + </Compile> <Compile Include="OAuth2\ResourceServer.cs" /> <Compile Include="Properties\AssemblyInfo.cs" /> </ItemGroup> @@ -26,15 +31,21 @@ <Project>{60426312-6AE5-4835-8667-37EDEA670222}</Project> <Name>DotNetOpenAuth.Core</Name> </ProjectReference> - <ProjectReference Include="..\DotNetOpenAuth.OAuth.ServiceProvider\DotNetOpenAuth.OAuth.ServiceProvider.csproj"> - <Project>{FED1923A-6D70-49B5-A37A-FB744FEC1C86}</Project> - <Name>DotNetOpenAuth.OAuth.ServiceProvider</Name> + <ProjectReference Include="..\DotNetOpenAuth.OAuth.Common\DotNetOpenAuth.OAuth.Common.csproj"> + <Project>{115217C5-22CD-415C-A292-0DD0238CDD89}</Project> + <Name>DotNetOpenAuth.OAuth.Common</Name> </ProjectReference> <ProjectReference Include="..\DotNetOpenAuth.OAuth2\DotNetOpenAuth.OAuth2.csproj"> <Project>{56459A6C-6BA2-4BAC-A9C0-27E3BD961FA6}</Project> <Name>DotNetOpenAuth.OAuth2</Name> </ProjectReference> </ItemGroup> + <ItemGroup> + <EmbeddedResource Include="OAuth2\OAuth2Strings.resx"> + <Generator>ResXFileCodeGenerator</Generator> + <LastGenOutput>OAuth2Strings.Designer.cs</LastGenOutput> + </EmbeddedResource> + </ItemGroup> <Import Project="$(MSBuildToolsPath)\Microsoft.CSharp.targets" /> <Import Project="$(ProjectRoot)tools\DotNetOpenAuth.targets" /> <Import Project="$([MSBuild]::GetDirectoryNameOfFileAbove($(MSBuildProjectDirectory), EnlistmentInfo.targets))\EnlistmentInfo.targets" Condition=" '$([MSBuild]::GetDirectoryNameOfFileAbove($(MSBuildProjectDirectory), EnlistmentInfo.targets))' != '' " /> diff --git a/src/DotNetOpenAuth.OAuth2.ResourceServer/OAuth2/OAuth2Strings.Designer.cs b/src/DotNetOpenAuth.OAuth2.ResourceServer/OAuth2/OAuth2Strings.Designer.cs new file mode 100644 index 0000000..69104eb --- /dev/null +++ b/src/DotNetOpenAuth.OAuth2.ResourceServer/OAuth2/OAuth2Strings.Designer.cs @@ -0,0 +1,81 @@ +//------------------------------------------------------------------------------ +// <auto-generated> +// This code was generated by a tool. +// Runtime Version:4.0.30319.239 +// +// Changes to this file may cause incorrect behavior and will be lost if +// the code is regenerated. +// </auto-generated> +//------------------------------------------------------------------------------ + +namespace DotNetOpenAuth.OAuth2 { + using System; + + + /// <summary> + /// A strongly-typed resource class, for looking up localized strings, etc. + /// </summary> + // This class was auto-generated by the StronglyTypedResourceBuilder + // class via a tool like ResGen or Visual Studio. + // To add or remove a member, edit your .ResX file then rerun ResGen + // with the /str option, or rebuild your VS project. + [global::System.CodeDom.Compiler.GeneratedCodeAttribute("System.Resources.Tools.StronglyTypedResourceBuilder", "4.0.0.0")] + [global::System.Diagnostics.DebuggerNonUserCodeAttribute()] + [global::System.Runtime.CompilerServices.CompilerGeneratedAttribute()] + internal class OAuth2Strings { + + private static global::System.Resources.ResourceManager resourceMan; + + private static global::System.Globalization.CultureInfo resourceCulture; + + [global::System.Diagnostics.CodeAnalysis.SuppressMessageAttribute("Microsoft.Performance", "CA1811:AvoidUncalledPrivateCode")] + internal OAuth2Strings() { + } + + /// <summary> + /// Returns the cached ResourceManager instance used by this class. + /// </summary> + [global::System.ComponentModel.EditorBrowsableAttribute(global::System.ComponentModel.EditorBrowsableState.Advanced)] + internal static global::System.Resources.ResourceManager ResourceManager { + get { + if (object.ReferenceEquals(resourceMan, null)) { + global::System.Resources.ResourceManager temp = new global::System.Resources.ResourceManager("DotNetOpenAuth.OAuth2.OAuth2Strings", typeof(OAuth2Strings).Assembly); + resourceMan = temp; + } + return resourceMan; + } + } + + /// <summary> + /// Overrides the current thread's CurrentUICulture property for all + /// resource lookups using this strongly typed resource class. + /// </summary> + [global::System.ComponentModel.EditorBrowsableAttribute(global::System.ComponentModel.EditorBrowsableState.Advanced)] + internal static global::System.Globalization.CultureInfo Culture { + get { + return resourceCulture; + } + set { + resourceCulture = value; + } + } + + /// <summary> + /// Looks up a localized string similar to Invalid access token.. + /// </summary> + internal static string InvalidAccessToken { + get { + return ResourceManager.GetString("InvalidAccessToken", resourceCulture); + } + } + + /// <summary> + /// Looks up a localized string similar to Missing access token.. + /// </summary> + internal static string MissingAccessToken { + get { + return ResourceManager.GetString("MissingAccessToken", resourceCulture); + } + } + } +} diff --git a/src/DotNetOpenAuth.OAuth2.ResourceServer/OAuth2/OAuth2Strings.resx b/src/DotNetOpenAuth.OAuth2.ResourceServer/OAuth2/OAuth2Strings.resx new file mode 100644 index 0000000..175a386 --- /dev/null +++ b/src/DotNetOpenAuth.OAuth2.ResourceServer/OAuth2/OAuth2Strings.resx @@ -0,0 +1,126 @@ +<?xml version="1.0" encoding="utf-8"?> +<root> + <!-- + Microsoft ResX Schema + + Version 2.0 + + The primary goals of this format is to allow a simple XML format + that is mostly human readable. The generation and parsing of the + various data types are done through the TypeConverter classes + associated with the data types. + + Example: + + ... ado.net/XML headers & schema ... + <resheader name="resmimetype">text/microsoft-resx</resheader> + <resheader name="version">2.0</resheader> + <resheader name="reader">System.Resources.ResXResourceReader, System.Windows.Forms, ...</resheader> + <resheader name="writer">System.Resources.ResXResourceWriter, System.Windows.Forms, ...</resheader> + <data name="Name1"><value>this is my long string</value><comment>this is a comment</comment></data> + <data name="Color1" type="System.Drawing.Color, System.Drawing">Blue</data> + <data name="Bitmap1" mimetype="application/x-microsoft.net.object.binary.base64"> + <value>[base64 mime encoded serialized .NET Framework object]</value> + </data> + <data name="Icon1" type="System.Drawing.Icon, System.Drawing" mimetype="application/x-microsoft.net.object.bytearray.base64"> + <value>[base64 mime encoded string representing a byte array form of the .NET Framework object]</value> + <comment>This is a comment</comment> + </data> + + There are any number of "resheader" rows that contain simple + name/value pairs. + + Each data row contains a name, and value. The row also contains a + type or mimetype. Type corresponds to a .NET class that support + text/value conversion through the TypeConverter architecture. + Classes that don't support this are serialized and stored with the + mimetype set. + + The mimetype is used for serialized objects, and tells the + ResXResourceReader how to depersist the object. This is currently not + extensible. For a given mimetype the value must be set accordingly: + + Note - application/x-microsoft.net.object.binary.base64 is the format + that the ResXResourceWriter will generate, however the reader can + read any of the formats listed below. + + mimetype: application/x-microsoft.net.object.binary.base64 + value : The object must be serialized with + : System.Runtime.Serialization.Formatters.Binary.BinaryFormatter + : and then encoded with base64 encoding. + + mimetype: application/x-microsoft.net.object.soap.base64 + value : The object must be serialized with + : System.Runtime.Serialization.Formatters.Soap.SoapFormatter + : and then encoded with base64 encoding. + + mimetype: application/x-microsoft.net.object.bytearray.base64 + value : The object must be serialized into a byte array + : using a System.ComponentModel.TypeConverter + : and then encoded with base64 encoding. + --> + <xsd:schema id="root" xmlns="" xmlns:xsd="http://www.w3.org/2001/XMLSchema" xmlns:msdata="urn:schemas-microsoft-com:xml-msdata"> + <xsd:import namespace="http://www.w3.org/XML/1998/namespace" /> + <xsd:element name="root" msdata:IsDataSet="true"> + <xsd:complexType> + <xsd:choice maxOccurs="unbounded"> + <xsd:element name="metadata"> + <xsd:complexType> + <xsd:sequence> + <xsd:element name="value" type="xsd:string" minOccurs="0" /> + </xsd:sequence> + <xsd:attribute name="name" use="required" type="xsd:string" /> + <xsd:attribute name="type" type="xsd:string" /> + <xsd:attribute name="mimetype" type="xsd:string" /> + <xsd:attribute ref="xml:space" /> + </xsd:complexType> + </xsd:element> + <xsd:element name="assembly"> + <xsd:complexType> + <xsd:attribute name="alias" type="xsd:string" /> + <xsd:attribute name="name" type="xsd:string" /> + </xsd:complexType> + </xsd:element> + <xsd:element name="data"> + <xsd:complexType> + <xsd:sequence> + <xsd:element name="value" type="xsd:string" minOccurs="0" msdata:Ordinal="1" /> + <xsd:element name="comment" type="xsd:string" minOccurs="0" msdata:Ordinal="2" /> + </xsd:sequence> + <xsd:attribute name="name" type="xsd:string" use="required" msdata:Ordinal="1" /> + <xsd:attribute name="type" type="xsd:string" msdata:Ordinal="3" /> + <xsd:attribute name="mimetype" type="xsd:string" msdata:Ordinal="4" /> + <xsd:attribute ref="xml:space" /> + </xsd:complexType> + </xsd:element> + <xsd:element name="resheader"> + <xsd:complexType> + <xsd:sequence> + <xsd:element name="value" type="xsd:string" minOccurs="0" msdata:Ordinal="1" /> + </xsd:sequence> + <xsd:attribute name="name" type="xsd:string" use="required" /> + </xsd:complexType> + </xsd:element> + </xsd:choice> + </xsd:complexType> + </xsd:element> + </xsd:schema> + <resheader name="resmimetype"> + <value>text/microsoft-resx</value> + </resheader> + <resheader name="version"> + <value>2.0</value> + </resheader> + <resheader name="reader"> + <value>System.Resources.ResXResourceReader, System.Windows.Forms, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089</value> + </resheader> + <resheader name="writer"> + <value>System.Resources.ResXResourceWriter, System.Windows.Forms, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089</value> + </resheader> + <data name="InvalidAccessToken" xml:space="preserve"> + <value>Invalid access token.</value> + </data> + <data name="MissingAccessToken" xml:space="preserve"> + <value>Missing access token.</value> + </data> +</root>
\ No newline at end of file diff --git a/src/DotNetOpenAuth.OAuth2.ResourceServer/OAuth2/ResourceServer.cs b/src/DotNetOpenAuth.OAuth2.ResourceServer/OAuth2/ResourceServer.cs index 927a6ed..a614219 100644 --- a/src/DotNetOpenAuth.OAuth2.ResourceServer/OAuth2/ResourceServer.cs +++ b/src/DotNetOpenAuth.OAuth2.ResourceServer/OAuth2/ResourceServer.cs @@ -1,6 +1,6 @@ //----------------------------------------------------------------------- -// <copyright file="ResourceServer.cs" company="Andrew Arnott"> -// Copyright (c) Andrew Arnott. All rights reserved. +// <copyright file="ResourceServer.cs" company="Outercurve Foundation"> +// Copyright (c) Outercurve Foundation. All rights reserved. // </copyright> //----------------------------------------------------------------------- @@ -17,6 +17,7 @@ namespace DotNetOpenAuth.OAuth2 { using System.Text.RegularExpressions; using System.Web; using ChannelElements; + using DotNetOpenAuth.OAuth.ChannelElements; using Messages; using Messaging; @@ -81,9 +82,9 @@ namespace DotNetOpenAuth.OAuth2 { return null; } - throw ErrorUtilities.ThrowProtocol("Bad access token"); + throw ErrorUtilities.ThrowProtocol(OAuth2Strings.InvalidAccessToken); } else { - var response = new UnauthorizedResponse(new ProtocolException("Missing access token")); + var response = new UnauthorizedResponse(new ProtocolException(OAuth2Strings.MissingAccessToken)); userName = null; scope = null; @@ -111,7 +112,7 @@ namespace DotNetOpenAuth.OAuth2 { string username; HashSet<string> scope; var result = this.VerifyAccess(httpRequestInfo, out username, out scope); - principal = result == null ? new OAuth.ChannelElements.OAuthPrincipal(username, scope != null ? scope.ToArray() : new string[0]) : null; + principal = result == null ? new OAuthPrincipal(username, scope != null ? scope.ToArray() : new string[0]) : null; return result; } diff --git a/src/DotNetOpenAuth.OAuth2.ResourceServer/Properties/AssemblyInfo.cs b/src/DotNetOpenAuth.OAuth2.ResourceServer/Properties/AssemblyInfo.cs index 54db6cf..1227c7b 100644 --- a/src/DotNetOpenAuth.OAuth2.ResourceServer/Properties/AssemblyInfo.cs +++ b/src/DotNetOpenAuth.OAuth2.ResourceServer/Properties/AssemblyInfo.cs @@ -1,6 +1,6 @@ //----------------------------------------------------------------------- -// <copyright file="AssemblyInfo.cs" company="Andrew Arnott"> -// Copyright (c) Andrew Arnott. All rights reserved. +// <copyright file="AssemblyInfo.cs" company="Outercurve Foundation"> +// Copyright (c) Outercurve Foundation. All rights reserved. // </copyright> //----------------------------------------------------------------------- @@ -25,7 +25,7 @@ using System.Web.UI; [assembly: AssemblyConfiguration("")] [assembly: AssemblyCompany("")] [assembly: AssemblyProduct("DotNetOpenAuth")] -[assembly: AssemblyCopyright("Copyright © 2008")] +[assembly: AssemblyCopyright("Copyright © 2011 Outercurve Foundation")] [assembly: AssemblyTrademark("")] [assembly: AssemblyCulture("")] [assembly: NeutralResourcesLanguage("en-US")] diff --git a/src/DotNetOpenAuth.OAuth2/DotNetOpenAuth.OAuth2.csproj b/src/DotNetOpenAuth.OAuth2/DotNetOpenAuth.OAuth2.csproj index aa685a2..0a2a8ff 100644 --- a/src/DotNetOpenAuth.OAuth2/DotNetOpenAuth.OAuth2.csproj +++ b/src/DotNetOpenAuth.OAuth2/DotNetOpenAuth.OAuth2.csproj @@ -26,6 +26,10 @@ <Compile Include="OAuth2\ChannelElements\AuthServerBindingElementBase.cs" /> <Compile Include="OAuth2\ChannelElements\GrantTypeEncoder.cs" /> <Compile Include="OAuth2\ChannelElements\EndUserAuthorizationResponseTypeEncoder.cs" /> + <Compile Include="OAuth2\ChannelElements\IAccessTokenCarryingRequest.cs" /> + <Compile Include="OAuth2\ChannelElements\IAuthorizationCodeCarryingRequest.cs" /> + <Compile Include="OAuth2\ChannelElements\IOAuth2ChannelWithAuthorizationServer.cs" /> + <Compile Include="OAuth2\ChannelElements\IRefreshTokenCarryingRequest.cs" /> <Compile Include="OAuth2\ChannelElements\OAuth2ChannelBase.cs" /> <Compile Include="OAuth2\ChannelElements\OAuth2ClientChannel.cs" /> <Compile Include="OAuth2\ChannelElements\ScopeEncoder.cs" /> @@ -36,17 +40,20 @@ <Compile Include="OAuth2\ChannelElements\AuthorizationCode.cs" /> <Compile Include="OAuth2\ChannelElements\AuthorizationCodeBindingElement.cs" /> <Compile Include="OAuth2\ChannelElements\AuthServerAllFlowsBindingElement.cs" /> + <Compile Include="OAuth2\ClientDescription.cs" /> + <Compile Include="OAuth2\ClientType.cs" /> <Compile Include="OAuth2\IAccessTokenAnalyzer.cs" /> <Compile Include="OAuth2\IAuthorizationServer.cs" /> <Compile Include="OAuth2\IAuthorizationState.cs" /> <Compile Include="OAuth2\IClientAuthorizationTracker.cs" /> - <Compile Include="OAuth2\IConsumerDescription.cs" /> + <Compile Include="OAuth2\IClientDescription.cs" /> <Compile Include="OAuth2\Messages\AccessProtectedResourceRequest.cs" /> <Compile Include="OAuth2\Messages\AccessTokenAuthorizationCodeRequest.cs" /> <Compile Include="OAuth2\Messages\AccessTokenResourceOwnerPasswordCredentialsRequest.cs" /> <Compile Include="OAuth2\Messages\AccessTokenRequestBase.cs" /> <Compile Include="OAuth2\Messages\AccessTokenClientCredentialsRequest.cs" /> <Compile Include="OAuth2\Messages\AuthenticatedClientRequestBase.cs" /> + <Compile Include="OAuth2\Messages\EndUserAuthorizationImplicitRequest.cs" /> <Compile Include="OAuth2\Messages\EndUserAuthorizationSuccessAccessTokenResponse.cs" /> <Compile Include="OAuth2\Messages\EndUserAuthorizationFailedResponse.cs" /> <Compile Include="OAuth2\Messages\EndUserAuthorizationSuccessAuthCodeResponse.cs" /> @@ -89,10 +96,6 @@ <Project>{60426312-6AE5-4835-8667-37EDEA670222}</Project> <Name>DotNetOpenAuth.Core</Name> </ProjectReference> - <ProjectReference Include="..\DotNetOpenAuth.OAuth\DotNetOpenAuth.OAuth.csproj"> - <Project>{A288FCC8-6FCF-46DA-A45E-5F9281556361}</Project> - <Name>DotNetOpenAuth.OAuth</Name> - </ProjectReference> </ItemGroup> <Import Project="$(MSBuildToolsPath)\Microsoft.CSharp.targets" /> <Import Project="$(ProjectRoot)tools\DotNetOpenAuth.targets" /> diff --git a/src/DotNetOpenAuth.OAuth2/OAuth2/AuthorizationServerDescription.cs b/src/DotNetOpenAuth.OAuth2/OAuth2/AuthorizationServerDescription.cs index bbad27c..38a9ff9 100644 --- a/src/DotNetOpenAuth.OAuth2/OAuth2/AuthorizationServerDescription.cs +++ b/src/DotNetOpenAuth.OAuth2/OAuth2/AuthorizationServerDescription.cs @@ -1,6 +1,6 @@ //----------------------------------------------------------------------- -// <copyright file="AuthorizationServerDescription.cs" company="Andrew Arnott"> -// Copyright (c) Andrew Arnott. All rights reserved. +// <copyright file="AuthorizationServerDescription.cs" company="Outercurve Foundation"> +// Copyright (c) Outercurve Foundation. All rights reserved. // </copyright> //----------------------------------------------------------------------- diff --git a/src/DotNetOpenAuth.OAuth2/OAuth2/AuthorizationState.cs b/src/DotNetOpenAuth.OAuth2/OAuth2/AuthorizationState.cs index bfc33aa..4117b3c 100644 --- a/src/DotNetOpenAuth.OAuth2/OAuth2/AuthorizationState.cs +++ b/src/DotNetOpenAuth.OAuth2/OAuth2/AuthorizationState.cs @@ -1,6 +1,6 @@ //----------------------------------------------------------------------- -// <copyright file="AuthorizationState.cs" company="Andrew Arnott"> -// Copyright (c) Andrew Arnott. All rights reserved. +// <copyright file="AuthorizationState.cs" company="Outercurve Foundation"> +// Copyright (c) Outercurve Foundation. All rights reserved. // </copyright> //----------------------------------------------------------------------- diff --git a/src/DotNetOpenAuth.OAuth2/OAuth2/ChannelElements/AccessRequestBindingElement.cs b/src/DotNetOpenAuth.OAuth2/OAuth2/ChannelElements/AccessRequestBindingElement.cs index b86f5dd..f3c99b0 100644 --- a/src/DotNetOpenAuth.OAuth2/OAuth2/ChannelElements/AccessRequestBindingElement.cs +++ b/src/DotNetOpenAuth.OAuth2/OAuth2/ChannelElements/AccessRequestBindingElement.cs @@ -1,12 +1,13 @@ //----------------------------------------------------------------------- -// <copyright file="AccessRequestBindingElement.cs" company="Andrew Arnott"> -// Copyright (c) Andrew Arnott. All rights reserved. +// <copyright file="AccessRequestBindingElement.cs" company="Outercurve Foundation"> +// Copyright (c) Outercurve Foundation. All rights reserved. // </copyright> //----------------------------------------------------------------------- namespace DotNetOpenAuth.OAuth2.ChannelElements { using System; using System.Collections.Generic; + using System.Diagnostics.CodeAnalysis; using System.Globalization; using System.Linq; using System.Security.Cryptography; @@ -54,26 +55,23 @@ namespace DotNetOpenAuth.OAuth2.ChannelElements { /// <see cref="MessagePartAttribute.RequiredProtection"/> properties where applicable. /// </remarks> public override MessageProtections? ProcessOutgoingMessage(IProtocolMessage message) { - var response = message as IAuthorizationCarryingRequest; - if (response != null) { - switch (response.CodeOrTokenType) { - case CodeOrTokenType.AuthorizationCode: - var codeFormatter = AuthorizationCode.CreateFormatter(this.AuthorizationServer); - var code = (AuthorizationCode)response.AuthorizationDescription; - response.CodeOrToken = codeFormatter.Serialize(code); - break; - case CodeOrTokenType.AccessToken: - var responseWithOriginatingRequest = (IDirectResponseProtocolMessage)message; - var request = (IAccessTokenRequest)responseWithOriginatingRequest.OriginatingRequest; - - using (var resourceServerKey = this.AuthorizationServer.GetResourceServerEncryptionKey(request)) { - var tokenFormatter = AccessToken.CreateFormatter(this.AuthorizationServer.AccessTokenSigningKey, resourceServerKey); - var token = (AccessToken)response.AuthorizationDescription; - response.CodeOrToken = tokenFormatter.Serialize(token); - break; - } - default: - throw ErrorUtilities.ThrowInternal(string.Format(CultureInfo.CurrentCulture, "Unexpected outgoing code or token type: {0}", response.CodeOrTokenType)); + var authCodeCarrier = message as IAuthorizationCodeCarryingRequest; + if (authCodeCarrier != null) { + var codeFormatter = AuthorizationCode.CreateFormatter(this.AuthorizationServer); + var code = authCodeCarrier.AuthorizationDescription; + authCodeCarrier.Code = codeFormatter.Serialize(code); + return MessageProtections.None; + } + + var accessTokenCarrier = message as IAccessTokenCarryingRequest; + if (accessTokenCarrier != null) { + var responseWithOriginatingRequest = (IDirectResponseProtocolMessage)message; + var request = (IAccessTokenRequest)responseWithOriginatingRequest.OriginatingRequest; + + using (var resourceServerKey = this.AuthorizationServer.GetResourceServerEncryptionKey(request)) { + var tokenFormatter = AccessToken.CreateFormatter(this.AuthorizationServer.AccessTokenSigningKey, resourceServerKey); + var token = accessTokenCarrier.AuthorizationDescription; + accessTokenCarrier.AccessToken = tokenFormatter.Serialize(token); } return MessageProtections.None; @@ -106,23 +104,50 @@ namespace DotNetOpenAuth.OAuth2.ChannelElements { /// Implementations that provide message protection must honor the /// <see cref="MessagePartAttribute.RequiredProtection"/> properties where applicable. /// </remarks> + [SuppressMessage("Microsoft.Naming", "CA2204:Literals should be spelled correctly", MessageId = "unauthorizedclient", Justification = "Protocol requirement")] + [SuppressMessage("Microsoft.Naming", "CA2204:Literals should be spelled correctly", MessageId = "incorrectclientcredentials", Justification = "Protocol requirement")] + [SuppressMessage("Microsoft.Naming", "CA2204:Literals should be spelled correctly", MessageId = "authorizationexpired", Justification = "Protocol requirement")] + [SuppressMessage("Microsoft.Globalization", "CA1303:Do not pass literals as localized parameters", MessageId = "DotNetOpenAuth.Messaging.ErrorUtilities.VerifyProtocol(System.Boolean,System.String,System.Object[])", Justification = "Protocol requirement")] public override MessageProtections? ProcessIncomingMessage(IProtocolMessage message) { var tokenRequest = message as IAuthorizationCarryingRequest; if (tokenRequest != null) { try { - switch (tokenRequest.CodeOrTokenType) { - case CodeOrTokenType.AuthorizationCode: - var verificationCodeFormatter = AuthorizationCode.CreateFormatter(this.AuthorizationServer); - var verificationCode = verificationCodeFormatter.Deserialize(message, tokenRequest.CodeOrToken); - tokenRequest.AuthorizationDescription = verificationCode; - break; - case CodeOrTokenType.RefreshToken: - var refreshTokenFormatter = RefreshToken.CreateFormatter(this.AuthorizationServer.CryptoKeyStore); - var refreshToken = refreshTokenFormatter.Deserialize(message, tokenRequest.CodeOrToken); - tokenRequest.AuthorizationDescription = refreshToken; - break; - default: - throw ErrorUtilities.ThrowInternal("Unexpected value for CodeOrTokenType: " + tokenRequest.CodeOrTokenType); + var authCodeCarrier = message as IAuthorizationCodeCarryingRequest; + var refreshTokenCarrier = message as IRefreshTokenCarryingRequest; + var resourceOwnerPasswordCarrier = message as AccessTokenResourceOwnerPasswordCredentialsRequest; + var clientCredentialOnly = message as AccessTokenClientCredentialsRequest; + if (authCodeCarrier != null) { + var authorizationCodeFormatter = AuthorizationCode.CreateFormatter(this.AuthorizationServer); + var authorizationCode = authorizationCodeFormatter.Deserialize(message, authCodeCarrier.Code); + authCodeCarrier.AuthorizationDescription = authorizationCode; + } else if (refreshTokenCarrier != null) { + var refreshTokenFormatter = RefreshToken.CreateFormatter(this.AuthorizationServer.CryptoKeyStore); + var refreshToken = refreshTokenFormatter.Deserialize(message, refreshTokenCarrier.RefreshToken); + refreshTokenCarrier.AuthorizationDescription = refreshToken; + } else if (resourceOwnerPasswordCarrier != null) { + try { + if (this.AuthorizationServer.IsResourceOwnerCredentialValid(resourceOwnerPasswordCarrier.UserName, resourceOwnerPasswordCarrier.Password)) { + resourceOwnerPasswordCarrier.CredentialsValidated = true; + } else { + Logger.OAuth.WarnFormat( + "Resource owner password credential for user \"{0}\" rejected by authorization server host.", + resourceOwnerPasswordCarrier.UserName); + + // TODO: fix this to report the appropriate error code for a bad credential. + throw new ProtocolException(); + } + } catch (NotSupportedException) { + // TODO: fix this to return the appropriate error code for not supporting resource owner password credentials + throw new ProtocolException(); + } catch (NotImplementedException) { + // TODO: fix this to return the appropriate error code for not supporting resource owner password credentials + throw new ProtocolException(); + } + } else if (clientCredentialOnly != null) { + // this method will throw later if the credentials are false. + clientCredentialOnly.CredentialsValidated = true; + } else { + throw ErrorUtilities.ThrowInternal("Unexpected message type: " + tokenRequest.GetType()); } } catch (ExpiredMessageException ex) { throw ErrorUtilities.Wrap(ex, Protocol.authorization_expired); diff --git a/src/DotNetOpenAuth.OAuth2/OAuth2/ChannelElements/AccessToken.cs b/src/DotNetOpenAuth.OAuth2/OAuth2/ChannelElements/AccessToken.cs index a502962..84b17cc 100644 --- a/src/DotNetOpenAuth.OAuth2/OAuth2/ChannelElements/AccessToken.cs +++ b/src/DotNetOpenAuth.OAuth2/OAuth2/ChannelElements/AccessToken.cs @@ -1,6 +1,6 @@ //----------------------------------------------------------------------- -// <copyright file="AccessToken.cs" company="Andrew Arnott"> -// Copyright (c) Andrew Arnott. All rights reserved. +// <copyright file="AccessToken.cs" company="Outercurve Foundation"> +// Copyright (c) Outercurve Foundation. All rights reserved. // </copyright> //----------------------------------------------------------------------- diff --git a/src/DotNetOpenAuth.OAuth2/OAuth2/ChannelElements/AccessTokenBindingElement.cs b/src/DotNetOpenAuth.OAuth2/OAuth2/ChannelElements/AccessTokenBindingElement.cs index 3a709b6..4c63f29 100644 --- a/src/DotNetOpenAuth.OAuth2/OAuth2/ChannelElements/AccessTokenBindingElement.cs +++ b/src/DotNetOpenAuth.OAuth2/OAuth2/ChannelElements/AccessTokenBindingElement.cs @@ -1,6 +1,6 @@ //----------------------------------------------------------------------- -// <copyright file="AccessTokenBindingElement.cs" company="Andrew Arnott"> -// Copyright (c) Andrew Arnott. All rights reserved. +// <copyright file="AccessTokenBindingElement.cs" company="Outercurve Foundation"> +// Copyright (c) Outercurve Foundation. All rights reserved. // </copyright> //----------------------------------------------------------------------- @@ -48,7 +48,7 @@ namespace DotNetOpenAuth.OAuth2.ChannelElements { var implicitGrantResponse = message as EndUserAuthorizationSuccessAccessTokenResponse; if (implicitGrantResponse != null) { - IAuthorizationCarryingRequest tokenCarryingResponse = implicitGrantResponse; + IAccessTokenCarryingRequest tokenCarryingResponse = implicitGrantResponse; tokenCarryingResponse.AuthorizationDescription = new AccessToken(request.ClientIdentifier, implicitGrantResponse.Scope, implicitGrantResponse.AuthorizingUsername, implicitGrantResponse.Lifetime); return MessageProtections.None; diff --git a/src/DotNetOpenAuth.OAuth2/OAuth2/ChannelElements/AuthServerAllFlowsBindingElement.cs b/src/DotNetOpenAuth.OAuth2/OAuth2/ChannelElements/AuthServerAllFlowsBindingElement.cs index bc464e2..24ac020 100644 --- a/src/DotNetOpenAuth.OAuth2/OAuth2/ChannelElements/AuthServerAllFlowsBindingElement.cs +++ b/src/DotNetOpenAuth.OAuth2/OAuth2/ChannelElements/AuthServerAllFlowsBindingElement.cs @@ -1,6 +1,6 @@ //----------------------------------------------------------------------- -// <copyright file="AuthServerAllFlowsBindingElement.cs" company="Andrew Arnott"> -// Copyright (c) Andrew Arnott. All rights reserved. +// <copyright file="AuthServerAllFlowsBindingElement.cs" company="Outercurve Foundation"> +// Copyright (c) Outercurve Foundation. All rights reserved. // </copyright> //----------------------------------------------------------------------- diff --git a/src/DotNetOpenAuth.OAuth2/OAuth2/ChannelElements/AuthServerBindingElementBase.cs b/src/DotNetOpenAuth.OAuth2/OAuth2/ChannelElements/AuthServerBindingElementBase.cs index 9d3e78f..49f820d 100644 --- a/src/DotNetOpenAuth.OAuth2/OAuth2/ChannelElements/AuthServerBindingElementBase.cs +++ b/src/DotNetOpenAuth.OAuth2/OAuth2/ChannelElements/AuthServerBindingElementBase.cs @@ -1,6 +1,6 @@ //----------------------------------------------------------------------- -// <copyright file="AuthServerBindingElementBase.cs" company="Andrew Arnott"> -// Copyright (c) Andrew Arnott. All rights reserved. +// <copyright file="AuthServerBindingElementBase.cs" company="Outercurve Foundation"> +// Copyright (c) Outercurve Foundation. All rights reserved. // </copyright> //----------------------------------------------------------------------- @@ -18,8 +18,7 @@ namespace DotNetOpenAuth.OAuth2.ChannelElements { /// <summary> /// Initializes a new instance of the <see cref="AuthServerBindingElementBase"/> class. /// </summary> - protected AuthServerBindingElementBase() - { + protected AuthServerBindingElementBase() { } /// <summary> @@ -39,21 +38,11 @@ namespace DotNetOpenAuth.OAuth2.ChannelElements { public abstract MessageProtections Protection { get; } /// <summary> - /// Gets the channel that this binding element belongs to. - /// </summary> - /// <remarks> - /// This property is set by the channel when it is first constructed. - /// </remarks> - protected OAuth2AuthorizationServerChannel OAuthChannel { - get { return (OAuth2AuthorizationServerChannel)this.Channel; } - } - - /// <summary> /// Gets the authorization server hosting this channel. /// </summary> /// <value>The authorization server.</value> protected IAuthorizationServer AuthorizationServer { - get { return this.OAuthChannel.AuthorizationServer; } + get { return ((IOAuth2ChannelWithAuthorizationServer)this.Channel).AuthorizationServer; } } /// <summary> diff --git a/src/DotNetOpenAuth.OAuth2/OAuth2/ChannelElements/AuthorizationCode.cs b/src/DotNetOpenAuth.OAuth2/OAuth2/ChannelElements/AuthorizationCode.cs index 6900b89..111c007 100644 --- a/src/DotNetOpenAuth.OAuth2/OAuth2/ChannelElements/AuthorizationCode.cs +++ b/src/DotNetOpenAuth.OAuth2/OAuth2/ChannelElements/AuthorizationCode.cs @@ -1,12 +1,13 @@ //----------------------------------------------------------------------- -// <copyright file="AuthorizationCode.cs" company="Andrew Arnott"> -// Copyright (c) Andrew Arnott. All rights reserved. +// <copyright file="AuthorizationCode.cs" company="Outercurve Foundation"> +// Copyright (c) Outercurve Foundation. All rights reserved. // </copyright> //----------------------------------------------------------------------- namespace DotNetOpenAuth.OAuth2.ChannelElements { using System; using System.Collections.Generic; + using System.Diagnostics.CodeAnalysis; using System.Diagnostics.Contracts; using System.Security.Cryptography; using System.Text; @@ -32,12 +33,11 @@ namespace DotNetOpenAuth.OAuth2.ChannelElements { /// Initializes a new instance of the <see cref="AuthorizationCode"/> class. /// </summary> /// <param name="clientIdentifier">The client identifier.</param> - /// <param name="callback">The callback the client used to obtain authorization.</param> + /// <param name="callback">The callback the client used to obtain authorization, if one was explicitly included in the request.</param> /// <param name="scopes">The authorized scopes.</param> /// <param name="username">The name on the account that authorized access.</param> internal AuthorizationCode(string clientIdentifier, Uri callback, IEnumerable<string> scopes, string username) { Requires.NotNullOrEmpty(clientIdentifier, "clientIdentifier"); - Requires.NotNull(callback, "callback"); this.ClientIdentifier = clientIdentifier; this.CallbackHash = CalculateCallbackHash(callback); @@ -61,8 +61,11 @@ namespace DotNetOpenAuth.OAuth2.ChannelElements { Requires.NotNull(authorizationServer, "authorizationServer"); Contract.Ensures(Contract.Result<IDataBagFormatter<AuthorizationCode>>() != null); + var cryptoStore = authorizationServer.CryptoKeyStore; + ErrorUtilities.VerifyHost(cryptoStore != null, OAuthStrings.ResultShouldNotBeNull, authorizationServer.GetType(), "CryptoKeyStore"); + return new UriStyleMessageFormatter<AuthorizationCode>( - authorizationServer.CryptoKeyStore, + cryptoStore, AuthorizationCodeKeyBucket, signed: true, encrypted: true, @@ -80,6 +83,8 @@ namespace DotNetOpenAuth.OAuth2.ChannelElements { /// and the callback URL given in the access token request match. /// </remarks> /// <exception cref="ProtocolException">Thrown when the callback URLs do not match.</exception> + [SuppressMessage("Microsoft.Naming", "CA2204:Literals should be spelled correctly", MessageId = "redirecturimismatch", Justification = "Protocol requirement")] + [SuppressMessage("Microsoft.Globalization", "CA1303:Do not pass literals as localized parameters", MessageId = "DotNetOpenAuth.Messaging.ErrorUtilities.VerifyProtocol(System.Boolean,System.String,System.Object[])", Justification = "Protocol requirement")] internal void VerifyCallback(Uri callback) { ErrorUtilities.VerifyProtocol(MessagingUtilities.AreEquivalent(this.CallbackHash, CalculateCallbackHash(callback)), Protocol.redirect_uri_mismatch); } @@ -91,7 +96,12 @@ namespace DotNetOpenAuth.OAuth2.ChannelElements { /// <returns> /// A base64 encoding of the hash of the URL. /// </returns> + [SuppressMessage("Microsoft.Reliability", "CA2000:Dispose objects before losing scope", Justification = "False positive.")] private static byte[] CalculateCallbackHash(Uri callback) { + if (callback == null) { + return null; + } + using (var hasher = new SHA256Managed()) { return hasher.ComputeHash(Encoding.UTF8.GetBytes(callback.AbsoluteUri)); } diff --git a/src/DotNetOpenAuth.OAuth2/OAuth2/ChannelElements/AuthorizationCodeBindingElement.cs b/src/DotNetOpenAuth.OAuth2/OAuth2/ChannelElements/AuthorizationCodeBindingElement.cs index b0e6203..d602cae 100644 --- a/src/DotNetOpenAuth.OAuth2/OAuth2/ChannelElements/AuthorizationCodeBindingElement.cs +++ b/src/DotNetOpenAuth.OAuth2/OAuth2/ChannelElements/AuthorizationCodeBindingElement.cs @@ -1,6 +1,6 @@ //----------------------------------------------------------------------- -// <copyright file="AuthorizationCodeBindingElement.cs" company="Andrew Arnott"> -// Copyright (c) Andrew Arnott. All rights reserved. +// <copyright file="AuthorizationCodeBindingElement.cs" company="Outercurve Foundation"> +// Copyright (c) Outercurve Foundation. All rights reserved. // </copyright> //----------------------------------------------------------------------- @@ -60,7 +60,7 @@ namespace DotNetOpenAuth.OAuth2.ChannelElements { if (response != null) { var directResponse = (IDirectResponseProtocolMessage)response; var request = (EndUserAuthorizationRequest)directResponse.OriginatingRequest; - IAuthorizationCarryingRequest tokenCarryingResponse = response; + IAuthorizationCodeCarryingRequest tokenCarryingResponse = response; tokenCarryingResponse.AuthorizationDescription = new AuthorizationCode(request.ClientIdentifier, request.Callback, response.Scope, response.AuthorizingUsername); return MessageProtections.None; diff --git a/src/DotNetOpenAuth.OAuth2/OAuth2/ChannelElements/AuthorizationDataBag.cs b/src/DotNetOpenAuth.OAuth2/OAuth2/ChannelElements/AuthorizationDataBag.cs index 8f1d983..cee38db 100644 --- a/src/DotNetOpenAuth.OAuth2/OAuth2/ChannelElements/AuthorizationDataBag.cs +++ b/src/DotNetOpenAuth.OAuth2/OAuth2/ChannelElements/AuthorizationDataBag.cs @@ -1,6 +1,6 @@ //----------------------------------------------------------------------- -// <copyright file="AuthorizationDataBag.cs" company="Andrew Arnott"> -// Copyright (c) Andrew Arnott. All rights reserved. +// <copyright file="AuthorizationDataBag.cs" company="Outercurve Foundation"> +// Copyright (c) Outercurve Foundation. All rights reserved. // </copyright> //----------------------------------------------------------------------- diff --git a/src/DotNetOpenAuth.OAuth2/OAuth2/ChannelElements/EndUserAuthorizationResponseTypeEncoder.cs b/src/DotNetOpenAuth.OAuth2/OAuth2/ChannelElements/EndUserAuthorizationResponseTypeEncoder.cs index 139025d..2fba721 100644 --- a/src/DotNetOpenAuth.OAuth2/OAuth2/ChannelElements/EndUserAuthorizationResponseTypeEncoder.cs +++ b/src/DotNetOpenAuth.OAuth2/OAuth2/ChannelElements/EndUserAuthorizationResponseTypeEncoder.cs @@ -1,6 +1,6 @@ //----------------------------------------------------------------------- -// <copyright file="EndUserAuthorizationResponseTypeEncoder.cs" company="Andrew Arnott"> -// Copyright (c) Andrew Arnott. All rights reserved. +// <copyright file="EndUserAuthorizationResponseTypeEncoder.cs" company="Outercurve Foundation"> +// Copyright (c) Outercurve Foundation. All rights reserved. // </copyright> //----------------------------------------------------------------------- diff --git a/src/DotNetOpenAuth.OAuth2/OAuth2/ChannelElements/GrantTypeEncoder.cs b/src/DotNetOpenAuth.OAuth2/OAuth2/ChannelElements/GrantTypeEncoder.cs index 78ed975..e0e8329 100644 --- a/src/DotNetOpenAuth.OAuth2/OAuth2/ChannelElements/GrantTypeEncoder.cs +++ b/src/DotNetOpenAuth.OAuth2/OAuth2/ChannelElements/GrantTypeEncoder.cs @@ -1,6 +1,6 @@ //----------------------------------------------------------------------- -// <copyright file="GrantTypeEncoder.cs" company="Andrew Arnott"> -// Copyright (c) Andrew Arnott. All rights reserved. +// <copyright file="GrantTypeEncoder.cs" company="Outercurve Foundation"> +// Copyright (c) Outercurve Foundation. All rights reserved. // </copyright> //----------------------------------------------------------------------- diff --git a/src/DotNetOpenAuth.OAuth2/OAuth2/ChannelElements/IAccessTokenCarryingRequest.cs b/src/DotNetOpenAuth.OAuth2/OAuth2/ChannelElements/IAccessTokenCarryingRequest.cs new file mode 100644 index 0000000..3f5f0f2 --- /dev/null +++ b/src/DotNetOpenAuth.OAuth2/OAuth2/ChannelElements/IAccessTokenCarryingRequest.cs @@ -0,0 +1,22 @@ +//----------------------------------------------------------------------- +// <copyright file="IAccessTokenCarryingRequest.cs" company="Outercurve Foundation"> +// Copyright (c) Outercurve Foundation. All rights reserved. +// </copyright> +//----------------------------------------------------------------------- + +namespace DotNetOpenAuth.OAuth2.ChannelElements { + /// <summary> + /// A message that carries an access token between client and authorization server. + /// </summary> + internal interface IAccessTokenCarryingRequest : IAuthorizationCarryingRequest { + /// <summary> + /// Gets or sets the access token. + /// </summary> + string AccessToken { get; set; } + + /// <summary> + /// Gets or sets the authorization that the token describes. + /// </summary> + new AccessToken AuthorizationDescription { get; set; } + } +} diff --git a/src/DotNetOpenAuth.OAuth2/OAuth2/ChannelElements/IAuthorizationCarryingRequest.cs b/src/DotNetOpenAuth.OAuth2/OAuth2/ChannelElements/IAuthorizationCarryingRequest.cs index e450131..13a1b24 100644 --- a/src/DotNetOpenAuth.OAuth2/OAuth2/ChannelElements/IAuthorizationCarryingRequest.cs +++ b/src/DotNetOpenAuth.OAuth2/OAuth2/ChannelElements/IAuthorizationCarryingRequest.cs @@ -1,6 +1,6 @@ //----------------------------------------------------------------------- -// <copyright file="IAuthorizationCarryingRequest.cs" company="Andrew Arnott"> -// Copyright (c) Andrew Arnott. All rights reserved. +// <copyright file="IAuthorizationCarryingRequest.cs" company="Outercurve Foundation"> +// Copyright (c) Outercurve Foundation. All rights reserved. // </copyright> //----------------------------------------------------------------------- @@ -10,45 +10,12 @@ namespace DotNetOpenAuth.OAuth2.ChannelElements { using Messaging; /// <summary> - /// The various types of tokens created by the authorization server. - /// </summary> - internal enum CodeOrTokenType { - /// <summary> - /// The code issued to the client after the user has approved authorization. - /// </summary> - AuthorizationCode, - - /// <summary> - /// The long-lived token issued to the client that enables it to obtain - /// short-lived access tokens later. - /// </summary> - RefreshToken, - - /// <summary> - /// A (typically) short-lived token. - /// </summary> - AccessToken, - } - - /// <summary> /// A message that carries some kind of token from the client to the authorization or resource server. /// </summary> internal interface IAuthorizationCarryingRequest : IDirectedProtocolMessage { /// <summary> - /// Gets or sets the verification code or refresh/access token. - /// </summary> - /// <value>The code or token.</value> - string CodeOrToken { get; set; } - - /// <summary> - /// Gets the type of the code or token. - /// </summary> - /// <value>The type of the code or token.</value> - CodeOrTokenType CodeOrTokenType { get; } - - /// <summary> - /// Gets or sets the authorization that the token describes. + /// Gets the authorization that the code or token describes. /// </summary> - IAuthorizationDescription AuthorizationDescription { get; set; } + IAuthorizationDescription AuthorizationDescription { get; } } } diff --git a/src/DotNetOpenAuth.OAuth2/OAuth2/ChannelElements/IAuthorizationCodeCarryingRequest.cs b/src/DotNetOpenAuth.OAuth2/OAuth2/ChannelElements/IAuthorizationCodeCarryingRequest.cs new file mode 100644 index 0000000..045cb80 --- /dev/null +++ b/src/DotNetOpenAuth.OAuth2/OAuth2/ChannelElements/IAuthorizationCodeCarryingRequest.cs @@ -0,0 +1,22 @@ +//----------------------------------------------------------------------- +// <copyright file="IAuthorizationCodeCarryingRequest.cs" company="Outercurve Foundation"> +// Copyright (c) Outercurve Foundation. All rights reserved. +// </copyright> +//----------------------------------------------------------------------- + +namespace DotNetOpenAuth.OAuth2.ChannelElements { + /// <summary> + /// A message that carries an authorization code between client and authorization server. + /// </summary> + internal interface IAuthorizationCodeCarryingRequest : IAuthorizationCarryingRequest { + /// <summary> + /// Gets or sets the authorization code. + /// </summary> + string Code { get; set; } + + /// <summary> + /// Gets or sets the authorization that the code describes. + /// </summary> + new AuthorizationCode AuthorizationDescription { get; set; } + } +} diff --git a/src/DotNetOpenAuth.OAuth2/OAuth2/ChannelElements/IAuthorizationDescription.cs b/src/DotNetOpenAuth.OAuth2/OAuth2/ChannelElements/IAuthorizationDescription.cs index 2b3a9ce..9c4219c 100644 --- a/src/DotNetOpenAuth.OAuth2/OAuth2/ChannelElements/IAuthorizationDescription.cs +++ b/src/DotNetOpenAuth.OAuth2/OAuth2/ChannelElements/IAuthorizationDescription.cs @@ -1,6 +1,6 @@ //----------------------------------------------------------------------- -// <copyright file="IAuthorizationDescription.cs" company="Andrew Arnott"> -// Copyright (c) Andrew Arnott. All rights reserved. +// <copyright file="IAuthorizationDescription.cs" company="Outercurve Foundation"> +// Copyright (c) Outercurve Foundation. All rights reserved. // </copyright> //----------------------------------------------------------------------- @@ -68,11 +68,13 @@ namespace DotNetOpenAuth.OAuth2.ChannelElements { } /// <summary> - /// Gets the name on the account whose data on the resource server is accessible using this authorization. + /// Gets the name on the account whose data on the resource server is accessible using this authorization, if applicable. /// </summary> + /// <value>A username, or <c>null</c> if the authorization is to access the client's own data (not a distinct resource owner's data).</value> string IAuthorizationDescription.User { get { - Contract.Ensures(!string.IsNullOrEmpty(Contract.Result<string>())); + // Null and non-empty are allowed, but not empty. + Contract.Ensures(Contract.Result<string>() != String.Empty); throw new NotImplementedException(); } } diff --git a/src/DotNetOpenAuth.OAuth2/OAuth2/ChannelElements/IOAuth2ChannelWithAuthorizationServer.cs b/src/DotNetOpenAuth.OAuth2/OAuth2/ChannelElements/IOAuth2ChannelWithAuthorizationServer.cs new file mode 100644 index 0000000..5fc73ce --- /dev/null +++ b/src/DotNetOpenAuth.OAuth2/OAuth2/ChannelElements/IOAuth2ChannelWithAuthorizationServer.cs @@ -0,0 +1,19 @@ +//----------------------------------------------------------------------- +// <copyright file="IOAuth2ChannelWithAuthorizationServer.cs" company="Outercurve Foundation"> +// Copyright (c) Outercurve Foundation. All rights reserved. +// </copyright> +//----------------------------------------------------------------------- + +namespace DotNetOpenAuth.OAuth2.ChannelElements { + /// <summary> + /// An interface on an OAuth 2 Authorization Server channel + /// to expose the host provided authorization server object. + /// </summary> + internal interface IOAuth2ChannelWithAuthorizationServer { + /// <summary> + /// Gets the authorization server. + /// </summary> + /// <value>The authorization server.</value> + IAuthorizationServer AuthorizationServer { get; } + } +} diff --git a/src/DotNetOpenAuth.OAuth2/OAuth2/ChannelElements/IRefreshTokenCarryingRequest.cs b/src/DotNetOpenAuth.OAuth2/OAuth2/ChannelElements/IRefreshTokenCarryingRequest.cs new file mode 100644 index 0000000..ce27538 --- /dev/null +++ b/src/DotNetOpenAuth.OAuth2/OAuth2/ChannelElements/IRefreshTokenCarryingRequest.cs @@ -0,0 +1,22 @@ +//----------------------------------------------------------------------- +// <copyright file="IRefreshTokenCarryingRequest.cs" company="Outercurve Foundation"> +// Copyright (c) Outercurve Foundation. All rights reserved. +// </copyright> +//----------------------------------------------------------------------- + +namespace DotNetOpenAuth.OAuth2.ChannelElements { + /// <summary> + /// A message that carries a refresh token between client and authorization server. + /// </summary> + internal interface IRefreshTokenCarryingRequest : IAuthorizationCarryingRequest { + /// <summary> + /// Gets or sets the refresh token. + /// </summary> + string RefreshToken { get; set; } + + /// <summary> + /// Gets or sets the authorization that the token describes. + /// </summary> + new RefreshToken AuthorizationDescription { get; set; } + } +} diff --git a/src/DotNetOpenAuth.OAuth2/OAuth2/ChannelElements/OAuth2AuthorizationServerChannel.cs b/src/DotNetOpenAuth.OAuth2/OAuth2/ChannelElements/OAuth2AuthorizationServerChannel.cs index 0c31023..3375328 100644 --- a/src/DotNetOpenAuth.OAuth2/OAuth2/ChannelElements/OAuth2AuthorizationServerChannel.cs +++ b/src/DotNetOpenAuth.OAuth2/OAuth2/ChannelElements/OAuth2AuthorizationServerChannel.cs @@ -1,6 +1,6 @@ //----------------------------------------------------------------------- -// <copyright file="OAuth2AuthorizationServerChannel.cs" company="Andrew Arnott"> -// Copyright (c) Andrew Arnott. All rights reserved. +// <copyright file="OAuth2AuthorizationServerChannel.cs" company="Outercurve Foundation"> +// Copyright (c) Outercurve Foundation. All rights reserved. // </copyright> //----------------------------------------------------------------------- @@ -15,7 +15,7 @@ namespace DotNetOpenAuth.OAuth2.ChannelElements { /// <summary> /// The channel for the OAuth protocol. /// </summary> - internal class OAuth2AuthorizationServerChannel : OAuth2ChannelBase { + internal class OAuth2AuthorizationServerChannel : OAuth2ChannelBase, IOAuth2ChannelWithAuthorizationServer { /// <summary> /// Initializes a new instance of the <see cref="OAuth2AuthorizationServerChannel"/> class. /// </summary> @@ -56,6 +56,7 @@ namespace DotNetOpenAuth.OAuth2.ChannelElements { /// </remarks> protected override OutgoingWebResponse PrepareDirectResponse(IProtocolMessage response) { var webResponse = new OutgoingWebResponse(); + this.ApplyMessageTemplate(response, webResponse); string json = this.SerializeAsJson(response); webResponse.SetResponse(json, new ContentType(JsonEncoded)); return webResponse; diff --git a/src/DotNetOpenAuth.OAuth2/OAuth2/ChannelElements/OAuth2ChannelBase.cs b/src/DotNetOpenAuth.OAuth2/OAuth2/ChannelElements/OAuth2ChannelBase.cs index a646f51..117d526 100644 --- a/src/DotNetOpenAuth.OAuth2/OAuth2/ChannelElements/OAuth2ChannelBase.cs +++ b/src/DotNetOpenAuth.OAuth2/OAuth2/ChannelElements/OAuth2ChannelBase.cs @@ -1,6 +1,6 @@ //----------------------------------------------------------------------- -// <copyright file="OAuth2ChannelBase.cs" company="Andrew Arnott"> -// Copyright (c) Andrew Arnott. All rights reserved. +// <copyright file="OAuth2ChannelBase.cs" company="Outercurve Foundation"> +// Copyright (c) Outercurve Foundation. All rights reserved. // </copyright> //----------------------------------------------------------------------- @@ -28,6 +28,7 @@ namespace DotNetOpenAuth.OAuth2.ChannelElements { typeof(AccessTokenSuccessResponse), typeof(AccessTokenFailedResponse), typeof(EndUserAuthorizationRequest), + typeof(EndUserAuthorizationImplicitRequest), typeof(EndUserAuthorizationSuccessAuthCodeResponse), typeof(EndUserAuthorizationSuccessAccessTokenResponse), typeof(EndUserAuthorizationFailedResponse), diff --git a/src/DotNetOpenAuth.OAuth2/OAuth2/ChannelElements/OAuth2ClientChannel.cs b/src/DotNetOpenAuth.OAuth2/OAuth2/ChannelElements/OAuth2ClientChannel.cs index e4a9afd..3a8a7c0 100644 --- a/src/DotNetOpenAuth.OAuth2/OAuth2/ChannelElements/OAuth2ClientChannel.cs +++ b/src/DotNetOpenAuth.OAuth2/OAuth2/ChannelElements/OAuth2ClientChannel.cs @@ -1,6 +1,6 @@ //----------------------------------------------------------------------- -// <copyright file="OAuth2ClientChannel.cs" company="Andrew Arnott"> -// Copyright (c) Andrew Arnott. All rights reserved. +// <copyright file="OAuth2ClientChannel.cs" company="Outercurve Foundation"> +// Copyright (c) Outercurve Foundation. All rights reserved. // </copyright> //----------------------------------------------------------------------- @@ -65,7 +65,7 @@ namespace DotNetOpenAuth.OAuth2.ChannelElements { } else if (response.ContentType.MediaType == HttpFormUrlEncoded || response.ContentType.MediaType == PlainTextEncoded) { return HttpUtility.ParseQueryString(body).ToDictionary(); } else { - throw ErrorUtilities.ThrowProtocol("Unexpected response Content-Type {0}", response.ContentType.MediaType); + throw ErrorUtilities.ThrowProtocol(OAuthStrings.UnexpectedResponseContentType, response.ContentType.MediaType); } } diff --git a/src/DotNetOpenAuth.OAuth2/OAuth2/ChannelElements/OAuth2ResourceServerChannel.cs b/src/DotNetOpenAuth.OAuth2/OAuth2/ChannelElements/OAuth2ResourceServerChannel.cs index 97a70c8..1c2a080 100644 --- a/src/DotNetOpenAuth.OAuth2/OAuth2/ChannelElements/OAuth2ResourceServerChannel.cs +++ b/src/DotNetOpenAuth.OAuth2/OAuth2/ChannelElements/OAuth2ResourceServerChannel.cs @@ -1,6 +1,6 @@ //----------------------------------------------------------------------- -// <copyright file="OAuth2ResourceServerChannel.cs" company="Andrew Arnott"> -// Copyright (c) Andrew Arnott. All rights reserved. +// <copyright file="OAuth2ResourceServerChannel.cs" company="Outercurve Foundation"> +// Copyright (c) Outercurve Foundation. All rights reserved. // </copyright> //----------------------------------------------------------------------- @@ -106,10 +106,9 @@ namespace DotNetOpenAuth.OAuth2.ChannelElements { ErrorUtilities.VerifyInternal(unauthorizedResponse != null, "Only unauthorized responses are expected."); // First initialize based on the specifics within the message. - var httpResponse = response as IHttpDirectResponse; - webResponse.Status = httpResponse != null ? httpResponse.HttpStatusCode : HttpStatusCode.Unauthorized; - foreach (string headerName in httpResponse.Headers) { - webResponse.Headers.Add(headerName, httpResponse.Headers[headerName]); + this.ApplyMessageTemplate(response, webResponse); + if (!(response is IHttpDirectResponse)) { + webResponse.Status = HttpStatusCode.Unauthorized; } // Now serialize all the message parts into the WWW-Authenticate header. diff --git a/src/DotNetOpenAuth.OAuth2/OAuth2/ChannelElements/RefreshToken.cs b/src/DotNetOpenAuth.OAuth2/OAuth2/ChannelElements/RefreshToken.cs index ee41957..993583c 100644 --- a/src/DotNetOpenAuth.OAuth2/OAuth2/ChannelElements/RefreshToken.cs +++ b/src/DotNetOpenAuth.OAuth2/OAuth2/ChannelElements/RefreshToken.cs @@ -1,6 +1,6 @@ //----------------------------------------------------------------------- -// <copyright file="RefreshToken.cs" company="Andrew Arnott"> -// Copyright (c) Andrew Arnott. All rights reserved. +// <copyright file="RefreshToken.cs" company="Outercurve Foundation"> +// Copyright (c) Outercurve Foundation. All rights reserved. // </copyright> //----------------------------------------------------------------------- diff --git a/src/DotNetOpenAuth.OAuth2/OAuth2/ChannelElements/ScopeEncoder.cs b/src/DotNetOpenAuth.OAuth2/OAuth2/ChannelElements/ScopeEncoder.cs index 7ae5fbf..74925f0 100644 --- a/src/DotNetOpenAuth.OAuth2/OAuth2/ChannelElements/ScopeEncoder.cs +++ b/src/DotNetOpenAuth.OAuth2/OAuth2/ChannelElements/ScopeEncoder.cs @@ -1,6 +1,6 @@ //----------------------------------------------------------------------- -// <copyright file="ScopeEncoder.cs" company="Andrew Arnott"> -// Copyright (c) Andrew Arnott. All rights reserved. +// <copyright file="ScopeEncoder.cs" company="Outercurve Foundation"> +// Copyright (c) Outercurve Foundation. All rights reserved. // </copyright> //----------------------------------------------------------------------- diff --git a/src/DotNetOpenAuth.OAuth2/OAuth2/ClientDescription.cs b/src/DotNetOpenAuth.OAuth2/OAuth2/ClientDescription.cs new file mode 100644 index 0000000..76c3ea6 --- /dev/null +++ b/src/DotNetOpenAuth.OAuth2/OAuth2/ClientDescription.cs @@ -0,0 +1,71 @@ +//----------------------------------------------------------------------- +// <copyright file="ClientDescription.cs" company="Outercurve Foundation"> +// Copyright (c) Outercurve Foundation. All rights reserved. +// </copyright> +//----------------------------------------------------------------------- + +namespace DotNetOpenAuth.OAuth2 { + using System; + using System.Collections.Generic; + using System.Linq; + using System.Text; + + /// <summary> + /// A default implementation of the <see cref="IClientDescription"/> interface. + /// </summary> + public class ClientDescription : IClientDescription { + /// <summary> + /// A delegate that determines whether the callback is allowed. + /// </summary> + private readonly Func<Uri, bool> isCallbackAllowed; + + /// <summary> + /// Initializes a new instance of the <see cref="ClientDescription"/> class. + /// </summary> + /// <param name="secret">The secret.</param> + /// <param name="defaultCallback">The default callback.</param> + /// <param name="clientType">Type of the client.</param> + /// <param name="isCallbackAllowed">A delegate that determines whether the callback is allowed.</param> + public ClientDescription(string secret, Uri defaultCallback, ClientType clientType, Func<Uri, bool> isCallbackAllowed = null) { + this.Secret = secret; + this.DefaultCallback = defaultCallback; + this.ClientType = clientType; + this.isCallbackAllowed = isCallbackAllowed; + } + + /// <summary> + /// Gets the client secret. + /// </summary> + public string Secret { get; private set; } + + /// <summary> + /// Gets the callback to use when an individual authorization request + /// does not include an explicit callback URI. + /// </summary> + /// <value> + /// An absolute URL; or <c>null</c> if none is registered. + /// </value> + public Uri DefaultCallback { get; private set; } + + /// <summary> + /// Gets the type of the client. + /// </summary> + public ClientType ClientType { get; private set; } + + /// <summary> + /// Determines whether a callback URI included in a client's authorization request + /// is among those allowed callbacks for the registered client. + /// </summary> + /// <param name="callback">The absolute URI the client has requested the authorization result be received at.</param> + /// <returns> + /// <c>true</c> if the callback URL is allowable for this client; otherwise, <c>false</c>. + /// </returns> + public bool IsCallbackAllowed(Uri callback) { + if (this.isCallbackAllowed != null) { + return this.isCallbackAllowed(callback); + } + + return EqualityComparer<Uri>.Default.Equals(this.DefaultCallback, callback); + } + } +} diff --git a/src/DotNetOpenAuth.OAuth2/OAuth2/ClientType.cs b/src/DotNetOpenAuth.OAuth2/OAuth2/ClientType.cs new file mode 100644 index 0000000..9e8ed2a --- /dev/null +++ b/src/DotNetOpenAuth.OAuth2/OAuth2/ClientType.cs @@ -0,0 +1,47 @@ +//----------------------------------------------------------------------- +// <copyright file="ClientType.cs" company="Outercurve Foundation"> +// Copyright (c) Outercurve Foundation. All rights reserved. +// </copyright> +//----------------------------------------------------------------------- + +namespace DotNetOpenAuth.OAuth2 { + /// <summary> + /// OAuth 2 Client types + /// </summary> + /// <remarks> + /// <para>Based on their ability to + /// authenticate securely with the authorization server (i.e. ability to + /// maintain the confidentiality of their client credentials).</para> + /// <para>The client type designation is based on the authorization server's + /// definition of secure authentication and its acceptable exposure + /// levels of client credentials.</para> + /// <para>The authorization server SHOULD NOT make assumptions about the client + /// type, nor accept the type information provided by the client + /// developer without first establishing trust.</para> + /// <para>A client application consisting of multiple components, each with its + /// own client type (e.g. a distributed client with both a confidential + /// server-based component and a public browser-based component), MUST + /// register each component separately as a different client to ensure + /// proper handling by the authorization server. The authorization + /// server MAY provider tools to manage such complex clients through a + /// single administration interface.</para> + /// </remarks> + public enum ClientType { + /// <summary> + /// Clients capable of maintaining the confidentiality of their + /// credentials (e.g. client implemented on a secure server with + /// restricted access to the client credentials), or capable of secure + /// client authentication using other means. + /// </summary> + Confidential, + + /// <summary> + /// Clients incapable of maintaining the confidentiality of their + /// credentials (e.g. clients executing on the device used by the + /// resource owner such as an installed native application or a web + /// browser-based application), and incapable of secure client + /// authentication via any other means. + /// </summary> + Public, + } +} diff --git a/src/DotNetOpenAuth.OAuth2/OAuth2/IAccessTokenAnalyzer.cs b/src/DotNetOpenAuth.OAuth2/OAuth2/IAccessTokenAnalyzer.cs index 0897090..5aa1bb6 100644 --- a/src/DotNetOpenAuth.OAuth2/OAuth2/IAccessTokenAnalyzer.cs +++ b/src/DotNetOpenAuth.OAuth2/OAuth2/IAccessTokenAnalyzer.cs @@ -1,6 +1,6 @@ //----------------------------------------------------------------------- -// <copyright file="IAccessTokenAnalyzer.cs" company="Andrew Arnott"> -// Copyright (c) Andrew Arnott. All rights reserved. +// <copyright file="IAccessTokenAnalyzer.cs" company="Outercurve Foundation"> +// Copyright (c) Outercurve Foundation. All rights reserved. // </copyright> //----------------------------------------------------------------------- diff --git a/src/DotNetOpenAuth.OAuth2/OAuth2/IAuthorizationServer.cs b/src/DotNetOpenAuth.OAuth2/OAuth2/IAuthorizationServer.cs index 6457f36..8f4745f 100644 --- a/src/DotNetOpenAuth.OAuth2/OAuth2/IAuthorizationServer.cs +++ b/src/DotNetOpenAuth.OAuth2/OAuth2/IAuthorizationServer.cs @@ -1,6 +1,6 @@ //----------------------------------------------------------------------- -// <copyright file="IAuthorizationServer.cs" company="Andrew Arnott"> -// Copyright (c) Andrew Arnott. All rights reserved. +// <copyright file="IAuthorizationServer.cs" company="Outercurve Foundation"> +// Copyright (c) Outercurve Foundation. All rights reserved. // </copyright> //----------------------------------------------------------------------- @@ -22,7 +22,7 @@ namespace DotNetOpenAuth.OAuth2 { [ContractClass(typeof(IAuthorizationServerContract))] public interface IAuthorizationServer { /// <summary> - /// Gets the store for storeing crypto keys used to symmetrically encrypt and sign authorization codes and refresh tokens. + /// Gets the store for storing crypto keys used to symmetrically encrypt and sign authorization codes and refresh tokens. /// </summary> /// <remarks> /// This store should be kept strictly confidential in the authorization server(s) @@ -88,7 +88,7 @@ namespace DotNetOpenAuth.OAuth2 { /// <param name="clientIdentifier">The client identifier.</param> /// <returns>The client registration. Never null.</returns> /// <exception cref="ArgumentException">Thrown when no client with the given identifier is registered with this authorization server.</exception> - IConsumerDescription GetClient(string clientIdentifier); + IClientDescription GetClient(string clientIdentifier); /// <summary> /// Determines whether a described authorization is (still) valid. @@ -113,6 +113,17 @@ namespace DotNetOpenAuth.OAuth2 { /// account or piece of hardware in which the tokens were stored. </para> /// </remarks> bool IsAuthorizationValid(IAuthorizationDescription authorization); + + /// <summary> + /// Determines whether a given set of resource owner credentials is valid based on the authorization server's user database. + /// </summary> + /// <param name="userName">Username on the account.</param> + /// <param name="password">The user's password.</param> + /// <returns> + /// <c>true</c> if the given credentials are valid; otherwise, <c>false</c>. + /// </returns> + /// <exception cref="NotSupportedException">May be thrown if the authorization server does not support the resource owner password credential grant type.</exception> + bool IsResourceOwnerCredentialValid(string userName, string password); } /// <summary> @@ -202,9 +213,9 @@ namespace DotNetOpenAuth.OAuth2 { /// <param name="clientIdentifier">The client identifier.</param> /// <returns>The client registration. Never null.</returns> /// <exception cref="ArgumentException">Thrown when no client with the given identifier is registered with this authorization server.</exception> - IConsumerDescription IAuthorizationServer.GetClient(string clientIdentifier) { + IClientDescription IAuthorizationServer.GetClient(string clientIdentifier) { Requires.NotNullOrEmpty(clientIdentifier, "clientIdentifier"); - Contract.Ensures(Contract.Result<IConsumerDescription>() != null); + Contract.Ensures(Contract.Result<IClientDescription>() != null); throw new NotImplementedException(); } @@ -234,5 +245,20 @@ namespace DotNetOpenAuth.OAuth2 { Requires.NotNull(authorization, "authorization"); throw new NotImplementedException(); } + + /// <summary> + /// Determines whether a given set of resource owner credentials is valid based on the authorization server's user database. + /// </summary> + /// <param name="userName">Username on the account.</param> + /// <param name="password">The user's password.</param> + /// <returns> + /// <c>true</c> if the given credentials are valid; otherwise, <c>false</c>. + /// </returns> + /// <exception cref="NotSupportedException">May be thrown if the authorization server does not support the resource owner password credential grant type.</exception> + bool IAuthorizationServer.IsResourceOwnerCredentialValid(string userName, string password) { + Contract.Requires(!String.IsNullOrEmpty(userName)); + Contract.Requires(password != null); + throw new NotImplementedException(); + } } } diff --git a/src/DotNetOpenAuth.OAuth2/OAuth2/IAuthorizationState.cs b/src/DotNetOpenAuth.OAuth2/OAuth2/IAuthorizationState.cs index 39437ac..f38df9a 100644 --- a/src/DotNetOpenAuth.OAuth2/OAuth2/IAuthorizationState.cs +++ b/src/DotNetOpenAuth.OAuth2/OAuth2/IAuthorizationState.cs @@ -1,6 +1,6 @@ //----------------------------------------------------------------------- -// <copyright file="IAuthorizationState.cs" company="Andrew Arnott"> -// Copyright (c) Andrew Arnott. All rights reserved. +// <copyright file="IAuthorizationState.cs" company="Outercurve Foundation"> +// Copyright (c) Outercurve Foundation. All rights reserved. // </copyright> //----------------------------------------------------------------------- diff --git a/src/DotNetOpenAuth.OAuth2/OAuth2/IClientAuthorizationTracker.cs b/src/DotNetOpenAuth.OAuth2/OAuth2/IClientAuthorizationTracker.cs index 4529cef..73b7a44 100644 --- a/src/DotNetOpenAuth.OAuth2/OAuth2/IClientAuthorizationTracker.cs +++ b/src/DotNetOpenAuth.OAuth2/OAuth2/IClientAuthorizationTracker.cs @@ -1,6 +1,6 @@ //----------------------------------------------------------------------- -// <copyright file="IClientAuthorizationTracker.cs" company="Andrew Arnott"> -// Copyright (c) Andrew Arnott. All rights reserved. +// <copyright file="IClientAuthorizationTracker.cs" company="Outercurve Foundation"> +// Copyright (c) Outercurve Foundation. All rights reserved. // </copyright> //----------------------------------------------------------------------- diff --git a/src/DotNetOpenAuth.OAuth2/OAuth2/IConsumerDescription.cs b/src/DotNetOpenAuth.OAuth2/OAuth2/IClientDescription.cs index cf07dc6..d30151b 100644 --- a/src/DotNetOpenAuth.OAuth2/OAuth2/IConsumerDescription.cs +++ b/src/DotNetOpenAuth.OAuth2/OAuth2/IClientDescription.cs @@ -1,6 +1,6 @@ //----------------------------------------------------------------------- -// <copyright file="IConsumerDescription.cs" company="Andrew Arnott"> -// Copyright (c) Andrew Arnott. All rights reserved. +// <copyright file="IClientDescription.cs" company="Outercurve Foundation"> +// Copyright (c) Outercurve Foundation. All rights reserved. // </copyright> //----------------------------------------------------------------------- @@ -12,8 +12,8 @@ namespace DotNetOpenAuth.OAuth2 { /// <summary> /// A description of a client from an Authorization Server's point of view. /// </summary> - [ContractClass(typeof(IConsumerDescriptionContract))] - public interface IConsumerDescription { + [ContractClass(typeof(IClientDescriptionContract))] + public interface IClientDescription { /// <summary> /// Gets the client secret. /// </summary> @@ -27,6 +27,11 @@ namespace DotNetOpenAuth.OAuth2 { Uri DefaultCallback { get; } /// <summary> + /// Gets the type of the client. + /// </summary> + ClientType ClientType { get; } + + /// <summary> /// Determines whether a callback URI included in a client's authorization request /// is among those allowed callbacks for the registered client. /// </summary> @@ -54,17 +59,24 @@ namespace DotNetOpenAuth.OAuth2 { } /// <summary> - /// Contract class for the <see cref="IConsumerDescription"/> interface. + /// Contract class for the <see cref="IClientDescription"/> interface. /// </summary> - [ContractClassFor(typeof(IConsumerDescription))] - internal abstract class IConsumerDescriptionContract : IConsumerDescription { - #region IConsumerDescription Members + [ContractClassFor(typeof(IClientDescription))] + internal abstract class IClientDescriptionContract : IClientDescription { + #region IClientDescription Members /// <summary> /// Gets the client secret. /// </summary> /// <value></value> - string IConsumerDescription.Secret { + string IClientDescription.Secret { + get { throw new NotImplementedException(); } + } + + /// <summary> + /// Gets the type of the client. + /// </summary> + ClientType IClientDescription.ClientType { get { throw new NotImplementedException(); } } @@ -75,7 +87,7 @@ namespace DotNetOpenAuth.OAuth2 { /// <value> /// An absolute URL; or <c>null</c> if none is registered. /// </value> - Uri IConsumerDescription.DefaultCallback { + Uri IClientDescription.DefaultCallback { get { Contract.Ensures(Contract.Result<Uri>() == null || Contract.Result<Uri>().IsAbsoluteUri); throw new NotImplementedException(); @@ -90,7 +102,7 @@ namespace DotNetOpenAuth.OAuth2 { /// <returns> /// <c>true</c> if the callback is allowed; otherwise, <c>false</c>. /// </returns> - bool IConsumerDescription.IsCallbackAllowed(Uri callback) { + bool IClientDescription.IsCallbackAllowed(Uri callback) { Requires.NotNull(callback, "callback"); Requires.True(callback.IsAbsoluteUri, "callback"); throw new NotImplementedException(); diff --git a/src/DotNetOpenAuth.OAuth2/OAuth2/Messages/AccessProtectedResourceRequest.cs b/src/DotNetOpenAuth.OAuth2/OAuth2/Messages/AccessProtectedResourceRequest.cs index 2e94156..6cf8919 100644 --- a/src/DotNetOpenAuth.OAuth2/OAuth2/Messages/AccessProtectedResourceRequest.cs +++ b/src/DotNetOpenAuth.OAuth2/OAuth2/Messages/AccessProtectedResourceRequest.cs @@ -1,6 +1,6 @@ //----------------------------------------------------------------------- -// <copyright file="AccessProtectedResourceRequest.cs" company="Andrew Arnott"> -// Copyright (c) Andrew Arnott. All rights reserved. +// <copyright file="AccessProtectedResourceRequest.cs" company="Outercurve Foundation"> +// Copyright (c) Outercurve Foundation. All rights reserved. // </copyright> //----------------------------------------------------------------------- @@ -20,7 +20,7 @@ namespace DotNetOpenAuth.OAuth2.Messages { /// When support for additional access token types is added, this class should probably be refactored /// into derived types, where each derived type supports a particular access token type. /// </remarks> - internal class AccessProtectedResourceRequest : MessageBase, IAuthorizationCarryingRequest { + internal class AccessProtectedResourceRequest : MessageBase, IAccessTokenCarryingRequest { /// <summary> /// Initializes a new instance of the <see cref="AccessProtectedResourceRequest"/> class. /// </summary> @@ -28,21 +28,15 @@ namespace DotNetOpenAuth.OAuth2.Messages { /// <param name="version">The version.</param> internal AccessProtectedResourceRequest(Uri recipient, Version version) : base(version, MessageTransport.Direct, recipient) { + this.HttpMethods = HttpDeliveryMethods.HttpVerbMask; } - /// <summary> - /// Gets the type of the code or token. - /// </summary> - /// <value>The type of the code or token.</value> - CodeOrTokenType IAuthorizationCarryingRequest.CodeOrTokenType { - get { return CodeOrTokenType.AccessToken; } - } + #region IAccessTokenCarryingRequest Members /// <summary> - /// Gets or sets the verification code or refresh/access token. + /// Gets or sets the access token. /// </summary> - /// <value>The code or token.</value> - string IAuthorizationCarryingRequest.CodeOrToken { + string IAccessTokenCarryingRequest.AccessToken { get { return this.AccessToken; } set { this.AccessToken = value; } } @@ -50,7 +44,16 @@ namespace DotNetOpenAuth.OAuth2.Messages { /// <summary> /// Gets or sets the authorization that the token describes. /// </summary> - IAuthorizationDescription IAuthorizationCarryingRequest.AuthorizationDescription { get; set; } + AccessToken IAccessTokenCarryingRequest.AuthorizationDescription { get; set; } + + /// <summary> + /// Gets the authorization that the token describes. + /// </summary> + IAuthorizationDescription IAuthorizationCarryingRequest.AuthorizationDescription { + get { return ((IAccessTokenCarryingRequest)this).AuthorizationDescription; } + } + + #endregion /// <summary> /// Gets the type of the access token. diff --git a/src/DotNetOpenAuth.OAuth2/OAuth2/Messages/AccessTokenAuthorizationCodeRequest.cs b/src/DotNetOpenAuth.OAuth2/OAuth2/Messages/AccessTokenAuthorizationCodeRequest.cs index f3dad87..1f244f9 100644 --- a/src/DotNetOpenAuth.OAuth2/OAuth2/Messages/AccessTokenAuthorizationCodeRequest.cs +++ b/src/DotNetOpenAuth.OAuth2/OAuth2/Messages/AccessTokenAuthorizationCodeRequest.cs @@ -1,6 +1,6 @@ //----------------------------------------------------------------------- -// <copyright file="AccessTokenAuthorizationCodeRequest.cs" company="Andrew Arnott"> -// Copyright (c) Andrew Arnott. All rights reserved. +// <copyright file="AccessTokenAuthorizationCodeRequest.cs" company="Outercurve Foundation"> +// Copyright (c) Outercurve Foundation. All rights reserved. // </copyright> //----------------------------------------------------------------------- @@ -18,7 +18,7 @@ namespace DotNetOpenAuth.OAuth2.Messages { /// A request from a Client to an Authorization Server to exchange an authorization code for an access token, /// and (at the authorization server's option) a refresh token. /// </summary> - internal class AccessTokenAuthorizationCodeRequest : AccessTokenRequestBase, IAuthorizationCarryingRequest { + internal class AccessTokenAuthorizationCodeRequest : AccessTokenRequestBase, IAuthorizationCodeCarryingRequest { /// <summary> /// Initializes a new instance of the <see cref="AccessTokenAuthorizationCodeRequest"/> class. /// </summary> @@ -37,19 +37,13 @@ namespace DotNetOpenAuth.OAuth2.Messages { Requires.NotNull(authorizationServer, "authorizationServer"); } - /// <summary> - /// Gets the type of the code or token. - /// </summary> - /// <value>The type of the code or token.</value> - CodeOrTokenType IAuthorizationCarryingRequest.CodeOrTokenType { - get { return CodeOrTokenType.AuthorizationCode; } - } + #region IAuthorizationCodeCarryingRequest Members /// <summary> /// Gets or sets the verification code or refresh/access token. /// </summary> /// <value>The code or token.</value> - string IAuthorizationCarryingRequest.CodeOrToken { + string IAuthorizationCodeCarryingRequest.Code { get { return this.AuthorizationCode; } set { this.AuthorizationCode = value; } } @@ -57,7 +51,16 @@ namespace DotNetOpenAuth.OAuth2.Messages { /// <summary> /// Gets or sets the authorization that the token describes. /// </summary> - IAuthorizationDescription IAuthorizationCarryingRequest.AuthorizationDescription { get; set; } + AuthorizationCode IAuthorizationCodeCarryingRequest.AuthorizationDescription { get; set; } + + /// <summary> + /// Gets the authorization that the code describes. + /// </summary> + IAuthorizationDescription IAuthorizationCarryingRequest.AuthorizationDescription { + get { return ((IAuthorizationCodeCarryingRequest)this).AuthorizationDescription; } + } + + #endregion /// <summary> /// Gets the type of the grant. @@ -81,7 +84,10 @@ namespace DotNetOpenAuth.OAuth2.Messages { /// <value> /// The Callback URL used to obtain the Verification Code. /// </value> - [MessagePart(Protocol.redirect_uri, IsRequired = true)] + /// <remarks> + /// REQUIRED, if the redirect_uri parameter was included in the authorization request as described in Section 4.1.1, and their values MUST be identical. + /// </remarks> + [MessagePart(Protocol.redirect_uri, IsRequired = false)] internal Uri Callback { get; set; } /// <summary> diff --git a/src/DotNetOpenAuth.OAuth2/OAuth2/Messages/AccessTokenClientCredentialsRequest.cs b/src/DotNetOpenAuth.OAuth2/OAuth2/Messages/AccessTokenClientCredentialsRequest.cs index 01e1633..48419eb 100644 --- a/src/DotNetOpenAuth.OAuth2/OAuth2/Messages/AccessTokenClientCredentialsRequest.cs +++ b/src/DotNetOpenAuth.OAuth2/OAuth2/Messages/AccessTokenClientCredentialsRequest.cs @@ -1,6 +1,6 @@ //----------------------------------------------------------------------- -// <copyright file="AccessTokenClientCredentialsRequest.cs" company="Andrew Arnott"> -// Copyright (c) Andrew Arnott. All rights reserved. +// <copyright file="AccessTokenClientCredentialsRequest.cs" company="Outercurve Foundation"> +// Copyright (c) Outercurve Foundation. All rights reserved. // </copyright> //----------------------------------------------------------------------- @@ -19,7 +19,7 @@ namespace DotNetOpenAuth.OAuth2.Messages { /// <remarks> /// This is somewhat analogous to 2-legged OAuth. /// </remarks> - internal class AccessTokenClientCredentialsRequest : ScopedAccessTokenRequest { + internal class AccessTokenClientCredentialsRequest : ScopedAccessTokenRequest, IAuthorizationCarryingRequest, IAuthorizationDescription { /// <summary> /// Initializes a new instance of the <see cref="AccessTokenClientCredentialsRequest"/> class. /// </summary> @@ -30,6 +30,43 @@ namespace DotNetOpenAuth.OAuth2.Messages { this.HttpMethods = HttpDeliveryMethods.PostRequest; } + #region IAuthorizationCarryingRequest members + + /// <summary> + /// Gets the authorization that the code or token describes. + /// </summary> + IAuthorizationDescription IAuthorizationCarryingRequest.AuthorizationDescription { + get { return this.CredentialsValidated ? this : null; } + } + + #endregion + + #region IAuthorizationDescription Members + + /// <summary> + /// Gets the date this authorization was established or the token was issued. + /// </summary> + /// <value>A date/time expressed in UTC.</value> + DateTime IAuthorizationDescription.UtcIssued { + get { return DateTime.UtcNow; } + } + + /// <summary> + /// Gets the name on the account whose data on the resource server is accessible using this authorization. + /// </summary> + string IAuthorizationDescription.User { + get { return null; } + } + + /// <summary> + /// Gets the scope of operations the client is allowed to invoke. + /// </summary> + HashSet<string> IAuthorizationDescription.Scope { + get { return this.Scope; } + } + + #endregion + /// <summary> /// Gets the type of the grant. /// </summary> @@ -37,5 +74,10 @@ namespace DotNetOpenAuth.OAuth2.Messages { internal override GrantType GrantType { get { return Messages.GrantType.ClientCredentials; } } + + /// <summary> + /// Gets or sets a value indicating whether the resource owner's credentials have been validated at the authorization server. + /// </summary> + internal bool CredentialsValidated { get; set; } } } diff --git a/src/DotNetOpenAuth.OAuth2/OAuth2/Messages/AccessTokenFailedResponse.cs b/src/DotNetOpenAuth.OAuth2/OAuth2/Messages/AccessTokenFailedResponse.cs index 82de341..09acbc5 100644 --- a/src/DotNetOpenAuth.OAuth2/OAuth2/Messages/AccessTokenFailedResponse.cs +++ b/src/DotNetOpenAuth.OAuth2/OAuth2/Messages/AccessTokenFailedResponse.cs @@ -1,6 +1,6 @@ //----------------------------------------------------------------------- -// <copyright file="AccessTokenFailedResponse.cs" company="Andrew Arnott"> -// Copyright (c) Andrew Arnott. All rights reserved. +// <copyright file="AccessTokenFailedResponse.cs" company="Outercurve Foundation"> +// Copyright (c) Outercurve Foundation. All rights reserved. // </copyright> //----------------------------------------------------------------------- diff --git a/src/DotNetOpenAuth.OAuth2/OAuth2/Messages/AccessTokenRefreshRequest.cs b/src/DotNetOpenAuth.OAuth2/OAuth2/Messages/AccessTokenRefreshRequest.cs index 22354e4..2c3ab25 100644 --- a/src/DotNetOpenAuth.OAuth2/OAuth2/Messages/AccessTokenRefreshRequest.cs +++ b/src/DotNetOpenAuth.OAuth2/OAuth2/Messages/AccessTokenRefreshRequest.cs @@ -1,6 +1,6 @@ //----------------------------------------------------------------------- -// <copyright file="AccessTokenRefreshRequest.cs" company="Andrew Arnott"> -// Copyright (c) Andrew Arnott. All rights reserved. +// <copyright file="AccessTokenRefreshRequest.cs" company="Outercurve Foundation"> +// Copyright (c) Outercurve Foundation. All rights reserved. // </copyright> //----------------------------------------------------------------------- @@ -14,7 +14,7 @@ namespace DotNetOpenAuth.OAuth2.Messages { /// A request from the client to the token endpoint for a new access token /// in exchange for a refresh token that the client has previously obtained. /// </summary> - internal class AccessTokenRefreshRequest : ScopedAccessTokenRequest, IAuthorizationCarryingRequest { + internal class AccessTokenRefreshRequest : ScopedAccessTokenRequest, IRefreshTokenCarryingRequest { /// <summary> /// Initializes a new instance of the <see cref="AccessTokenRefreshRequest"/> class. /// </summary> @@ -32,19 +32,13 @@ namespace DotNetOpenAuth.OAuth2.Messages { : this(authorizationServer.TokenEndpoint, authorizationServer.Version) { } - /// <summary> - /// Gets the type of the code or token. - /// </summary> - /// <value>The type of the code or token.</value> - CodeOrTokenType IAuthorizationCarryingRequest.CodeOrTokenType { - get { return CodeOrTokenType.RefreshToken; } - } + #region IRefreshTokenCarryingRequest members /// <summary> /// Gets or sets the verification code or refresh/access token. /// </summary> /// <value>The code or token.</value> - string IAuthorizationCarryingRequest.CodeOrToken { + string IRefreshTokenCarryingRequest.RefreshToken { get { return this.RefreshToken; } set { this.RefreshToken = value; } } @@ -52,7 +46,16 @@ namespace DotNetOpenAuth.OAuth2.Messages { /// <summary> /// Gets or sets the authorization that the token describes. /// </summary> - IAuthorizationDescription IAuthorizationCarryingRequest.AuthorizationDescription { get; set; } + RefreshToken IRefreshTokenCarryingRequest.AuthorizationDescription { get; set; } + + /// <summary> + /// Gets the authorization that the token describes. + /// </summary> + IAuthorizationDescription IAuthorizationCarryingRequest.AuthorizationDescription { + get { return ((IRefreshTokenCarryingRequest)this).AuthorizationDescription; } + } + + #endregion /// <summary> /// Gets or sets the refresh token. diff --git a/src/DotNetOpenAuth.OAuth2/OAuth2/Messages/AccessTokenRequestBase.cs b/src/DotNetOpenAuth.OAuth2/OAuth2/Messages/AccessTokenRequestBase.cs index 4bf593a..7e41fcd 100644 --- a/src/DotNetOpenAuth.OAuth2/OAuth2/Messages/AccessTokenRequestBase.cs +++ b/src/DotNetOpenAuth.OAuth2/OAuth2/Messages/AccessTokenRequestBase.cs @@ -1,6 +1,6 @@ //----------------------------------------------------------------------- -// <copyright file="AccessTokenRequestBase.cs" company="Andrew Arnott"> -// Copyright (c) Andrew Arnott. All rights reserved. +// <copyright file="AccessTokenRequestBase.cs" company="Outercurve Foundation"> +// Copyright (c) Outercurve Foundation. All rights reserved. // </copyright> //----------------------------------------------------------------------- diff --git a/src/DotNetOpenAuth.OAuth2/OAuth2/Messages/AccessTokenResourceOwnerPasswordCredentialsRequest.cs b/src/DotNetOpenAuth.OAuth2/OAuth2/Messages/AccessTokenResourceOwnerPasswordCredentialsRequest.cs index 82febe9..52e65be 100644 --- a/src/DotNetOpenAuth.OAuth2/OAuth2/Messages/AccessTokenResourceOwnerPasswordCredentialsRequest.cs +++ b/src/DotNetOpenAuth.OAuth2/OAuth2/Messages/AccessTokenResourceOwnerPasswordCredentialsRequest.cs @@ -1,6 +1,6 @@ //----------------------------------------------------------------------- -// <copyright file="AccessTokenResourceOwnerPasswordCredentialsRequest.cs" company="Andrew Arnott"> -// Copyright (c) Andrew Arnott. All rights reserved. +// <copyright file="AccessTokenResourceOwnerPasswordCredentialsRequest.cs" company="Outercurve Foundation"> +// Copyright (c) Outercurve Foundation. All rights reserved. // </copyright> //----------------------------------------------------------------------- @@ -11,11 +11,12 @@ namespace DotNetOpenAuth.OAuth2.Messages { using System.Text; using DotNetOpenAuth.Messaging; + using DotNetOpenAuth.OAuth2.ChannelElements; /// <summary> /// A request from a Client to an Authorization Server to exchange the user's username and password for an access token. /// </summary> - internal class AccessTokenResourceOwnerPasswordCredentialsRequest : ScopedAccessTokenRequest { + internal class AccessTokenResourceOwnerPasswordCredentialsRequest : ScopedAccessTokenRequest, IAuthorizationCarryingRequest, IAuthorizationDescription { /// <summary> /// Initializes a new instance of the <see cref="AccessTokenResourceOwnerPasswordCredentialsRequest"/> class. /// </summary> @@ -25,6 +26,43 @@ namespace DotNetOpenAuth.OAuth2.Messages { : base(accessTokenEndpoint, version) { } + #region IAuthorizationCarryingRequest members + + /// <summary> + /// Gets the authorization that the code or token describes. + /// </summary> + IAuthorizationDescription IAuthorizationCarryingRequest.AuthorizationDescription { + get { return this.CredentialsValidated ? this : null; } + } + + #endregion + + #region IAuthorizationDescription Members + + /// <summary> + /// Gets the date this authorization was established or the token was issued. + /// </summary> + /// <value>A date/time expressed in UTC.</value> + DateTime IAuthorizationDescription.UtcIssued { + get { return DateTime.UtcNow; } + } + + /// <summary> + /// Gets the name on the account whose data on the resource server is accessible using this authorization. + /// </summary> + string IAuthorizationDescription.User { + get { return this.UserName; } + } + + /// <summary> + /// Gets the scope of operations the client is allowed to invoke. + /// </summary> + HashSet<string> IAuthorizationDescription.Scope { + get { return this.Scope; } + } + + #endregion + /// <summary> /// Gets the type of the grant. /// </summary> @@ -46,5 +84,10 @@ namespace DotNetOpenAuth.OAuth2.Messages { /// <value>The password.</value> [MessagePart(Protocol.password, IsRequired = true)] internal string Password { get; set; } + + /// <summary> + /// Gets or sets a value indicating whether the resource owner's credentials have been validated at the authorization server. + /// </summary> + internal bool CredentialsValidated { get; set; } } } diff --git a/src/DotNetOpenAuth.OAuth2/OAuth2/Messages/AccessTokenSuccessResponse.cs b/src/DotNetOpenAuth.OAuth2/OAuth2/Messages/AccessTokenSuccessResponse.cs index 5682bf7..28f15ef 100644 --- a/src/DotNetOpenAuth.OAuth2/OAuth2/Messages/AccessTokenSuccessResponse.cs +++ b/src/DotNetOpenAuth.OAuth2/OAuth2/Messages/AccessTokenSuccessResponse.cs @@ -1,6 +1,6 @@ //----------------------------------------------------------------------- -// <copyright file="AccessTokenSuccessResponse.cs" company="Andrew Arnott"> -// Copyright (c) Andrew Arnott. All rights reserved. +// <copyright file="AccessTokenSuccessResponse.cs" company="Outercurve Foundation"> +// Copyright (c) Outercurve Foundation. All rights reserved. // </copyright> //----------------------------------------------------------------------- @@ -46,6 +46,7 @@ namespace DotNetOpenAuth.OAuth2.Messages { return new WebHeaderCollection { { HttpResponseHeader.CacheControl, "no-store" }, + { HttpResponseHeader.Pragma, "no-cache" }, }; } } @@ -95,5 +96,18 @@ namespace DotNetOpenAuth.OAuth2.Messages { /// Gets or sets a value indicating whether a refresh token is or should be included in the response. /// </summary> internal bool HasRefreshToken { get; set; } + + /// <summary> + /// Checks the message state for conformity to the protocol specification + /// and throws an exception if the message is invalid. + /// </summary> + /// <exception cref="ProtocolException">Thrown if the message is invalid.</exception> + protected override void EnsureValidMessage() { + base.EnsureValidMessage(); + + // Per OAuth 2.0 section 4.4.3 (draft 23), refresh tokens should never be included + // in a response to an access token request that used the client credential grant type. + ErrorUtilities.VerifyProtocol(!this.HasRefreshToken || !(this.OriginatingRequest is AccessTokenClientCredentialsRequest), OAuthStrings.RefreshTokenInappropriateForRequestType, this.OriginatingRequest.GetType().Name); + } } } diff --git a/src/DotNetOpenAuth.OAuth2/OAuth2/Messages/AuthenticatedClientRequestBase.cs b/src/DotNetOpenAuth.OAuth2/OAuth2/Messages/AuthenticatedClientRequestBase.cs index 22f7461..bc4d0ca 100644 --- a/src/DotNetOpenAuth.OAuth2/OAuth2/Messages/AuthenticatedClientRequestBase.cs +++ b/src/DotNetOpenAuth.OAuth2/OAuth2/Messages/AuthenticatedClientRequestBase.cs @@ -1,6 +1,6 @@ //----------------------------------------------------------------------- -// <copyright file="AuthenticatedClientRequestBase.cs" company="Andrew Arnott"> -// Copyright (c) Andrew Arnott. All rights reserved. +// <copyright file="AuthenticatedClientRequestBase.cs" company="Outercurve Foundation"> +// Copyright (c) Outercurve Foundation. All rights reserved. // </copyright> //----------------------------------------------------------------------- diff --git a/src/DotNetOpenAuth.OAuth2/OAuth2/Messages/EndUserAuthorizationFailedResponse.cs b/src/DotNetOpenAuth.OAuth2/OAuth2/Messages/EndUserAuthorizationFailedResponse.cs index ecf3254..7cc8e82 100644 --- a/src/DotNetOpenAuth.OAuth2/OAuth2/Messages/EndUserAuthorizationFailedResponse.cs +++ b/src/DotNetOpenAuth.OAuth2/OAuth2/Messages/EndUserAuthorizationFailedResponse.cs @@ -1,6 +1,6 @@ //----------------------------------------------------------------------- -// <copyright file="EndUserAuthorizationFailedResponse.cs" company="Andrew Arnott"> -// Copyright (c) Andrew Arnott. All rights reserved. +// <copyright file="EndUserAuthorizationFailedResponse.cs" company="Outercurve Foundation"> +// Copyright (c) Outercurve Foundation. All rights reserved. // </copyright> //----------------------------------------------------------------------- diff --git a/src/DotNetOpenAuth.OAuth2/OAuth2/Messages/EndUserAuthorizationImplicitRequest.cs b/src/DotNetOpenAuth.OAuth2/OAuth2/Messages/EndUserAuthorizationImplicitRequest.cs new file mode 100644 index 0000000..f5a5d67 --- /dev/null +++ b/src/DotNetOpenAuth.OAuth2/OAuth2/Messages/EndUserAuthorizationImplicitRequest.cs @@ -0,0 +1,63 @@ +//----------------------------------------------------------------------- +// <copyright file="EndUserAuthorizationImplicitRequest.cs" company="Outercurve Foundation"> +// Copyright (c) Outercurve Foundation. All rights reserved. +// </copyright> +//----------------------------------------------------------------------- + +namespace DotNetOpenAuth.OAuth2.Messages { + using System; + using System.Collections.Generic; + using System.Linq; + using System.Text; + using DotNetOpenAuth.Messaging; + using DotNetOpenAuth.OAuth2.ChannelElements; + + /// <summary> + /// A message sent by a web application Client to the AuthorizationServer + /// via the user agent to obtain authorization from the user and prepare + /// to issue an access token to the client if permission is granted. + /// </summary> + [Serializable] + public class EndUserAuthorizationImplicitRequest : EndUserAuthorizationRequest, IAccessTokenRequest { + /// <summary> + /// Gets or sets the grant type that the client expects of the authorization server. + /// </summary> + /// <value>Always <see cref="EndUserAuthorizationResponseType.AccessToken"/>. Other response types are not supported.</value> + [MessagePart(Protocol.response_type, IsRequired = true, Encoder = typeof(EndUserAuthorizationResponseTypeEncoder))] + private const EndUserAuthorizationResponseType ResponseTypeConst = EndUserAuthorizationResponseType.AccessToken; + + /// <summary> + /// Initializes a new instance of the <see cref="EndUserAuthorizationImplicitRequest"/> class. + /// </summary> + /// <param name="authorizationEndpoint">The Authorization Server's user authorization URL to direct the user to.</param> + /// <param name="version">The protocol version.</param> + internal EndUserAuthorizationImplicitRequest(Uri authorizationEndpoint, Version version) + : base(authorizationEndpoint, version) { + } + + /// <summary> + /// Initializes a new instance of the <see cref="EndUserAuthorizationImplicitRequest"/> class. + /// </summary> + /// <param name="authorizationServer">The authorization server.</param> + internal EndUserAuthorizationImplicitRequest(AuthorizationServerDescription authorizationServer) + : this(authorizationServer.AuthorizationEndpoint, authorizationServer.Version) { + } + + /// <summary> + /// Gets the grant type that the client expects of the authorization server. + /// </summary> + public override EndUserAuthorizationResponseType ResponseType { + get { return ResponseTypeConst; } + } + + /// <summary> + /// Gets a value indicating whether the client requesting the access token has authenticated itself. + /// </summary> + /// <value> + /// Always false because authorization requests only include the client_id, without a secret. + /// </value> + bool IAccessTokenRequest.ClientAuthenticated { + get { return false; } + } + } +} diff --git a/src/DotNetOpenAuth.OAuth2/OAuth2/Messages/EndUserAuthorizationRequest.cs b/src/DotNetOpenAuth.OAuth2/OAuth2/Messages/EndUserAuthorizationRequest.cs index 2455406..45fa049 100644 --- a/src/DotNetOpenAuth.OAuth2/OAuth2/Messages/EndUserAuthorizationRequest.cs +++ b/src/DotNetOpenAuth.OAuth2/OAuth2/Messages/EndUserAuthorizationRequest.cs @@ -1,6 +1,6 @@ //----------------------------------------------------------------------- -// <copyright file="EndUserAuthorizationRequest.cs" company="Andrew Arnott"> -// Copyright (c) Andrew Arnott. All rights reserved. +// <copyright file="EndUserAuthorizationRequest.cs" company="Outercurve Foundation"> +// Copyright (c) Outercurve Foundation. All rights reserved. // </copyright> //----------------------------------------------------------------------- @@ -16,10 +16,17 @@ namespace DotNetOpenAuth.OAuth2.Messages { /// <summary> /// A message sent by a web application Client to the AuthorizationServer /// via the user agent to obtain authorization from the user and prepare - /// to issue an access token to the Consumer if permission is granted. + /// to issue an access token to the client if permission is granted. /// </summary> [Serializable] - public class EndUserAuthorizationRequest : MessageBase, IAccessTokenRequest { + public class EndUserAuthorizationRequest : MessageBase { + /// <summary> + /// Gets the grant type that the client expects of the authorization server. + /// </summary> + /// <value>Always <see cref="EndUserAuthorizationResponseType.AuthorizationCode"/>. Other response types are not supported.</value> + [MessagePart(Protocol.response_type, IsRequired = true, Encoder = typeof(EndUserAuthorizationResponseTypeEncoder))] + private const EndUserAuthorizationResponseType ResponseTypeConst = EndUserAuthorizationResponseType.AuthorizationCode; + /// <summary> /// Initializes a new instance of the <see cref="EndUserAuthorizationRequest"/> class. /// </summary> @@ -31,7 +38,6 @@ namespace DotNetOpenAuth.OAuth2.Messages { Requires.NotNull(version, "version"); this.HttpMethods = HttpDeliveryMethods.GetRequest | HttpDeliveryMethods.PostRequest; this.Scope = new HashSet<string>(OAuthUtilities.ScopeStringComparer); - this.ResponseType = EndUserAuthorizationResponseType.AuthorizationCode; } /// <summary> @@ -46,11 +52,11 @@ namespace DotNetOpenAuth.OAuth2.Messages { } /// <summary> - /// Gets or sets the grant type that the client expects of the authorization server. + /// Gets the grant type that the client expects of the authorization server. /// </summary> - /// <value>Always <see cref="EndUserAuthorizationResponseType.AuthorizationCode"/>. Other response types are not supported.</value> - [MessagePart(Protocol.response_type, IsRequired = true, Encoder = typeof(EndUserAuthorizationResponseTypeEncoder))] - public EndUserAuthorizationResponseType ResponseType { get; set; } + public virtual EndUserAuthorizationResponseType ResponseType { + get { return ResponseTypeConst; } + } /// <summary> /// Gets or sets the identifier by which this client is known to the Authorization Server. @@ -59,16 +65,6 @@ namespace DotNetOpenAuth.OAuth2.Messages { public string ClientIdentifier { get; set; } /// <summary> - /// Gets a value indicating whether the client requesting the access token has authenticated itself. - /// </summary> - /// <value> - /// Always false because authorization requests only include the client_id, without a secret. - /// </value> - bool IAccessTokenRequest.ClientAuthenticated { - get { return false; } - } - - /// <summary> /// Gets or sets the callback URL. /// </summary> /// <value> diff --git a/src/DotNetOpenAuth.OAuth2/OAuth2/Messages/EndUserAuthorizationResponseType.cs b/src/DotNetOpenAuth.OAuth2/OAuth2/Messages/EndUserAuthorizationResponseType.cs index 815fef6..75ece0f 100644 --- a/src/DotNetOpenAuth.OAuth2/OAuth2/Messages/EndUserAuthorizationResponseType.cs +++ b/src/DotNetOpenAuth.OAuth2/OAuth2/Messages/EndUserAuthorizationResponseType.cs @@ -1,6 +1,6 @@ //----------------------------------------------------------------------- -// <copyright file="EndUserAuthorizationResponseType.cs" company="Andrew Arnott"> -// Copyright (c) Andrew Arnott. All rights reserved. +// <copyright file="EndUserAuthorizationResponseType.cs" company="Outercurve Foundation"> +// Copyright (c) Outercurve Foundation. All rights reserved. // </copyright> //----------------------------------------------------------------------- diff --git a/src/DotNetOpenAuth.OAuth2/OAuth2/Messages/EndUserAuthorizationSuccessAccessTokenResponse.cs b/src/DotNetOpenAuth.OAuth2/OAuth2/Messages/EndUserAuthorizationSuccessAccessTokenResponse.cs index b82b1da..5c03e7a 100644 --- a/src/DotNetOpenAuth.OAuth2/OAuth2/Messages/EndUserAuthorizationSuccessAccessTokenResponse.cs +++ b/src/DotNetOpenAuth.OAuth2/OAuth2/Messages/EndUserAuthorizationSuccessAccessTokenResponse.cs @@ -1,6 +1,6 @@ //----------------------------------------------------------------------- -// <copyright file="EndUserAuthorizationSuccessAccessTokenResponse.cs" company="Andrew Arnott"> -// Copyright (c) Andrew Arnott. All rights reserved. +// <copyright file="EndUserAuthorizationSuccessAccessTokenResponse.cs" company="Outercurve Foundation"> +// Copyright (c) Outercurve Foundation. All rights reserved. // </copyright> //----------------------------------------------------------------------- @@ -19,7 +19,7 @@ namespace DotNetOpenAuth.OAuth2.Messages { /// to indicate that user authorization was granted, carrying only an access token, /// and to return the user to the Client where they started their experience. /// </summary> - internal class EndUserAuthorizationSuccessAccessTokenResponse : EndUserAuthorizationSuccessResponseBase, IAuthorizationCarryingRequest, IHttpIndirectResponse { + internal class EndUserAuthorizationSuccessAccessTokenResponse : EndUserAuthorizationSuccessResponseBase, IAccessTokenCarryingRequest, IHttpIndirectResponse { /// <summary> /// Initializes a new instance of the <see cref="EndUserAuthorizationSuccessAccessTokenResponse"/> class. /// </summary> @@ -45,31 +45,21 @@ namespace DotNetOpenAuth.OAuth2.Messages { this.TokenType = Protocol.AccessTokenTypes.Bearer; } - #region IAuthorizationCarryingRequest Members + #region IAccessTokenCarryingRequest Members /// <summary> - /// Gets or sets the verification code or refresh/access token. + /// Gets or sets the authorization that the token describes. /// </summary> - /// <value>The code or token.</value> - string IAuthorizationCarryingRequest.CodeOrToken { - get { return this.AccessToken; } - set { this.AccessToken = value; } - } + /// <value></value> + AccessToken IAccessTokenCarryingRequest.AuthorizationDescription { get; set; } /// <summary> - /// Gets the type of the code or token. + /// Gets the authorization that the token describes. /// </summary> - /// <value>The type of the code or token.</value> - CodeOrTokenType IAuthorizationCarryingRequest.CodeOrTokenType { - get { return CodeOrTokenType.AccessToken; } + IAuthorizationDescription IAuthorizationCarryingRequest.AuthorizationDescription { + get { return ((IAccessTokenCarryingRequest)this).AuthorizationDescription; } } - /// <summary> - /// Gets or sets the authorization that the token describes. - /// </summary> - /// <value></value> - IAuthorizationDescription IAuthorizationCarryingRequest.AuthorizationDescription { get; set; } - #endregion #region IHttpIndirectResponse Members diff --git a/src/DotNetOpenAuth.OAuth2/OAuth2/Messages/EndUserAuthorizationSuccessAuthCodeResponse.cs b/src/DotNetOpenAuth.OAuth2/OAuth2/Messages/EndUserAuthorizationSuccessAuthCodeResponse.cs index ac7f392..dcacc14 100644 --- a/src/DotNetOpenAuth.OAuth2/OAuth2/Messages/EndUserAuthorizationSuccessAuthCodeResponse.cs +++ b/src/DotNetOpenAuth.OAuth2/OAuth2/Messages/EndUserAuthorizationSuccessAuthCodeResponse.cs @@ -1,6 +1,6 @@ //----------------------------------------------------------------------- -// <copyright file="EndUserAuthorizationSuccessAuthCodeResponse.cs" company="Andrew Arnott"> -// Copyright (c) Andrew Arnott. All rights reserved. +// <copyright file="EndUserAuthorizationSuccessAuthCodeResponse.cs" company="Outercurve Foundation"> +// Copyright (c) Outercurve Foundation. All rights reserved. // </copyright> //----------------------------------------------------------------------- @@ -16,7 +16,7 @@ namespace DotNetOpenAuth.OAuth2.Messages { /// to indicate that user authorization was granted, carrying an authorization code and possibly an access token, /// and to return the user to the Client where they started their experience. /// </summary> - internal class EndUserAuthorizationSuccessAuthCodeResponse : EndUserAuthorizationSuccessResponseBase, IAuthorizationCarryingRequest { + internal class EndUserAuthorizationSuccessAuthCodeResponse : EndUserAuthorizationSuccessResponseBase, IAuthorizationCodeCarryingRequest { /// <summary> /// Initializes a new instance of the <see cref="EndUserAuthorizationSuccessAuthCodeResponse"/> class. /// </summary> @@ -40,29 +40,27 @@ namespace DotNetOpenAuth.OAuth2.Messages { ((IMessageWithClientState)this).ClientState = request.ClientState; } - #region IAuthorizationCarryingRequest Members + #region IAuthorizationCodeCarryingRequest Members /// <summary> - /// Gets or sets the verification code or refresh/access token. + /// Gets or sets the authorization code. /// </summary> - /// <value>The code or token.</value> - string IAuthorizationCarryingRequest.CodeOrToken { + string IAuthorizationCodeCarryingRequest.Code { get { return this.AuthorizationCode; } set { this.AuthorizationCode = value; } } /// <summary> - /// Gets the type of the code or token. + /// Gets or sets the authorization that the token describes. /// </summary> - /// <value>The type of the code or token.</value> - CodeOrTokenType IAuthorizationCarryingRequest.CodeOrTokenType { - get { return CodeOrTokenType.AuthorizationCode; } - } + AuthorizationCode IAuthorizationCodeCarryingRequest.AuthorizationDescription { get; set; } /// <summary> - /// Gets or sets the authorization that the token describes. + /// Gets the authorization that the code describes. /// </summary> - IAuthorizationDescription IAuthorizationCarryingRequest.AuthorizationDescription { get; set; } + IAuthorizationDescription IAuthorizationCarryingRequest.AuthorizationDescription { + get { return ((IAuthorizationCodeCarryingRequest)this).AuthorizationDescription; } + } #endregion diff --git a/src/DotNetOpenAuth.OAuth2/OAuth2/Messages/EndUserAuthorizationSuccessResponseBase.cs b/src/DotNetOpenAuth.OAuth2/OAuth2/Messages/EndUserAuthorizationSuccessResponseBase.cs index ff52743..1d9618b 100644 --- a/src/DotNetOpenAuth.OAuth2/OAuth2/Messages/EndUserAuthorizationSuccessResponseBase.cs +++ b/src/DotNetOpenAuth.OAuth2/OAuth2/Messages/EndUserAuthorizationSuccessResponseBase.cs @@ -1,6 +1,6 @@ //----------------------------------------------------------------------- -// <copyright file="EndUserAuthorizationSuccessResponseBase.cs" company="Andrew Arnott"> -// Copyright (c) Andrew Arnott. All rights reserved. +// <copyright file="EndUserAuthorizationSuccessResponseBase.cs" company="Outercurve Foundation"> +// Copyright (c) Outercurve Foundation. All rights reserved. // </copyright> //----------------------------------------------------------------------- diff --git a/src/DotNetOpenAuth.OAuth2/OAuth2/Messages/GrantType.cs b/src/DotNetOpenAuth.OAuth2/OAuth2/Messages/GrantType.cs index 4580a7f..a26d405 100644 --- a/src/DotNetOpenAuth.OAuth2/OAuth2/Messages/GrantType.cs +++ b/src/DotNetOpenAuth.OAuth2/OAuth2/Messages/GrantType.cs @@ -1,6 +1,6 @@ //----------------------------------------------------------------------- -// <copyright file="GrantType.cs" company="Andrew Arnott"> -// Copyright (c) Andrew Arnott. All rights reserved. +// <copyright file="GrantType.cs" company="Outercurve Foundation"> +// Copyright (c) Outercurve Foundation. All rights reserved. // </copyright> //----------------------------------------------------------------------- diff --git a/src/DotNetOpenAuth.OAuth2/OAuth2/Messages/IAccessTokenRequest.cs b/src/DotNetOpenAuth.OAuth2/OAuth2/Messages/IAccessTokenRequest.cs index 7246beb..65378f9 100644 --- a/src/DotNetOpenAuth.OAuth2/OAuth2/Messages/IAccessTokenRequest.cs +++ b/src/DotNetOpenAuth.OAuth2/OAuth2/Messages/IAccessTokenRequest.cs @@ -1,6 +1,6 @@ //----------------------------------------------------------------------- -// <copyright file="IAccessTokenRequest.cs" company="Andrew Arnott"> -// Copyright (c) Andrew Arnott. All rights reserved. +// <copyright file="IAccessTokenRequest.cs" company="Outercurve Foundation"> +// Copyright (c) Outercurve Foundation. All rights reserved. // </copyright> //----------------------------------------------------------------------- diff --git a/src/DotNetOpenAuth.OAuth2/OAuth2/Messages/IMessageWithClientState.cs b/src/DotNetOpenAuth.OAuth2/OAuth2/Messages/IMessageWithClientState.cs index fa371ae..71476f2 100644 --- a/src/DotNetOpenAuth.OAuth2/OAuth2/Messages/IMessageWithClientState.cs +++ b/src/DotNetOpenAuth.OAuth2/OAuth2/Messages/IMessageWithClientState.cs @@ -1,6 +1,6 @@ //----------------------------------------------------------------------- -// <copyright file="IMessageWithClientState.cs" company="Andrew Arnott"> -// Copyright (c) Andrew Arnott. All rights reserved. +// <copyright file="IMessageWithClientState.cs" company="Outercurve Foundation"> +// Copyright (c) Outercurve Foundation. All rights reserved. // </copyright> //----------------------------------------------------------------------- diff --git a/src/DotNetOpenAuth.OAuth2/OAuth2/Messages/MessageBase.cs b/src/DotNetOpenAuth.OAuth2/OAuth2/Messages/MessageBase.cs index c5e438f..e966376 100644 --- a/src/DotNetOpenAuth.OAuth2/OAuth2/Messages/MessageBase.cs +++ b/src/DotNetOpenAuth.OAuth2/OAuth2/Messages/MessageBase.cs @@ -1,6 +1,6 @@ //----------------------------------------------------------------------- -// <copyright file="MessageBase.cs" company="Andrew Arnott"> -// Copyright (c) Andrew Arnott. All rights reserved. +// <copyright file="MessageBase.cs" company="Outercurve Foundation"> +// Copyright (c) Outercurve Foundation. All rights reserved. // </copyright> //----------------------------------------------------------------------- diff --git a/src/DotNetOpenAuth.OAuth2/OAuth2/Messages/ScopedAccessTokenRequest.cs b/src/DotNetOpenAuth.OAuth2/OAuth2/Messages/ScopedAccessTokenRequest.cs index 5568b1c..0ea6efb 100644 --- a/src/DotNetOpenAuth.OAuth2/OAuth2/Messages/ScopedAccessTokenRequest.cs +++ b/src/DotNetOpenAuth.OAuth2/OAuth2/Messages/ScopedAccessTokenRequest.cs @@ -1,6 +1,6 @@ //----------------------------------------------------------------------- -// <copyright file="ScopedAccessTokenRequest.cs" company="Andrew Arnott"> -// Copyright (c) Andrew Arnott. All rights reserved. +// <copyright file="ScopedAccessTokenRequest.cs" company="Outercurve Foundation"> +// Copyright (c) Outercurve Foundation. All rights reserved. // </copyright> //----------------------------------------------------------------------- diff --git a/src/DotNetOpenAuth.OAuth2/OAuth2/Messages/UnauthorizedResponse.cs b/src/DotNetOpenAuth.OAuth2/OAuth2/Messages/UnauthorizedResponse.cs index 529fab2..3f4bb5b 100644 --- a/src/DotNetOpenAuth.OAuth2/OAuth2/Messages/UnauthorizedResponse.cs +++ b/src/DotNetOpenAuth.OAuth2/OAuth2/Messages/UnauthorizedResponse.cs @@ -1,6 +1,6 @@ //----------------------------------------------------------------------- -// <copyright file="UnauthorizedResponse.cs" company="Andrew Arnott"> -// Copyright (c) Andrew Arnott. All rights reserved. +// <copyright file="UnauthorizedResponse.cs" company="Outercurve Foundation"> +// Copyright (c) Outercurve Foundation. All rights reserved. // </copyright> //----------------------------------------------------------------------- diff --git a/src/DotNetOpenAuth.OAuth2/OAuth2/OAuthStrings.Designer.cs b/src/DotNetOpenAuth.OAuth2/OAuth2/OAuthStrings.Designer.cs index 9ea12ab..6ce3b53 100644 --- a/src/DotNetOpenAuth.OAuth2/OAuth2/OAuthStrings.Designer.cs +++ b/src/DotNetOpenAuth.OAuth2/OAuth2/OAuthStrings.Designer.cs @@ -1,7 +1,7 @@ //------------------------------------------------------------------------------ // <auto-generated> // This code was generated by a tool. -// Runtime Version:4.0.30319.225 +// Runtime Version:4.0.30319.239 // // Changes to this file may cause incorrect behavior and will be lost if // the code is regenerated. @@ -79,6 +79,15 @@ namespace DotNetOpenAuth.OAuth2 { } /// <summary> + /// Looks up a localized string similar to The access token contains characters that must not appear in the HTTP Authorization header.. + /// </summary> + internal static string AccessTokenInvalidForHttpAuthorizationHeader { + get { + return ResourceManager.GetString("AccessTokenInvalidForHttpAuthorizationHeader", resourceCulture); + } + } + + /// <summary> /// Looks up a localized string similar to Failed to obtain access token. Authorization Server reports reason: {0}. /// </summary> internal static string CannotObtainAccessTokenWithReason { @@ -97,6 +106,15 @@ namespace DotNetOpenAuth.OAuth2 { } /// <summary> + /// Looks up a localized string similar to Failure looking up secret for client or token.. + /// </summary> + internal static string ClientOrTokenSecretNotFound { + get { + return ResourceManager.GetString("ClientOrTokenSecretNotFound", resourceCulture); + } + } + + /// <summary> /// Looks up a localized string similar to This message can only be sent over HTTPS.. /// </summary> internal static string HttpsRequired { @@ -115,6 +133,15 @@ namespace DotNetOpenAuth.OAuth2 { } /// <summary> + /// Looks up a localized string similar to The scope token "{0}" contains illegal characters or is empty.. + /// </summary> + internal static string InvalidScopeToken { + get { + return ResourceManager.GetString("InvalidScopeToken", resourceCulture); + } + } + + /// <summary> /// Looks up a localized string similar to No callback URI was available for this request.. /// </summary> internal static string NoCallback { @@ -133,6 +160,24 @@ namespace DotNetOpenAuth.OAuth2 { } /// <summary> + /// Looks up a localized string similar to The request message type {0} should not be responded to with a refresh token.. + /// </summary> + internal static string RefreshTokenInappropriateForRequestType { + get { + return ResourceManager.GetString("RefreshTokenInappropriateForRequestType", resourceCulture); + } + } + + /// <summary> + /// Looks up a localized string similar to The return value of {0}.{1} should never be null.. + /// </summary> + internal static string ResultShouldNotBeNull { + get { + return ResourceManager.GetString("ResultShouldNotBeNull", resourceCulture); + } + } + + /// <summary> /// Looks up a localized string similar to Individual scopes may not contain spaces.. /// </summary> internal static string ScopesMayNotContainSpaces { @@ -140,5 +185,14 @@ namespace DotNetOpenAuth.OAuth2 { return ResourceManager.GetString("ScopesMayNotContainSpaces", resourceCulture); } } + + /// <summary> + /// Looks up a localized string similar to Unexpected response Content-Type {0}. + /// </summary> + internal static string UnexpectedResponseContentType { + get { + return ResourceManager.GetString("UnexpectedResponseContentType", resourceCulture); + } + } } } diff --git a/src/DotNetOpenAuth.OAuth2/OAuth2/OAuthStrings.resx b/src/DotNetOpenAuth.OAuth2/OAuth2/OAuthStrings.resx index fc2f2d2..af1a955 100644 --- a/src/DotNetOpenAuth.OAuth2/OAuth2/OAuthStrings.resx +++ b/src/DotNetOpenAuth.OAuth2/OAuth2/OAuthStrings.resx @@ -123,25 +123,43 @@ <data name="AccessScopeExceedsGrantScope" xml:space="preserve"> <value>The requested access scope ("{0}") exceeds the grant scope ("{1}").</value> </data> + <data name="AccessTokenInvalidForHttpAuthorizationHeader" xml:space="preserve"> + <value>The access token contains characters that must not appear in the HTTP Authorization header.</value> + </data> <data name="CannotObtainAccessTokenWithReason" xml:space="preserve"> <value>Failed to obtain access token. Authorization Server reports reason: {0}</value> </data> <data name="ClientCallbackDisallowed" xml:space="preserve"> <value>The callback URL ({0}) is not allowed for this client.</value> </data> + <data name="ClientOrTokenSecretNotFound" xml:space="preserve"> + <value>Failure looking up secret for client or token.</value> + </data> <data name="HttpsRequired" xml:space="preserve"> <value>This message can only be sent over HTTPS.</value> </data> <data name="InvalidClientCredentials" xml:space="preserve"> <value>Failed to obtain access token due to invalid Client Identifier or Client Secret.</value> </data> + <data name="InvalidScopeToken" xml:space="preserve"> + <value>The scope token "{0}" contains illegal characters or is empty.</value> + </data> <data name="NoCallback" xml:space="preserve"> <value>No callback URI was available for this request.</value> </data> <data name="NoGrantNoRefreshToken" xml:space="preserve"> <value>Refresh tokens should not be granted without the request including an access grant.</value> </data> + <data name="RefreshTokenInappropriateForRequestType" xml:space="preserve"> + <value>The request message type {0} should not be responded to with a refresh token.</value> + </data> + <data name="ResultShouldNotBeNull" xml:space="preserve"> + <value>The return value of {0}.{1} should never be null.</value> + </data> <data name="ScopesMayNotContainSpaces" xml:space="preserve"> <value>Individual scopes may not contain spaces.</value> </data> + <data name="UnexpectedResponseContentType" xml:space="preserve"> + <value>Unexpected response Content-Type {0}</value> + </data> </root>
\ No newline at end of file diff --git a/src/DotNetOpenAuth.OAuth2/OAuth2/OAuthUtilities.cs b/src/DotNetOpenAuth.OAuth2/OAuth2/OAuthUtilities.cs index 1ae3701..68ccc1d 100644 --- a/src/DotNetOpenAuth.OAuth2/OAuth2/OAuthUtilities.cs +++ b/src/DotNetOpenAuth.OAuth2/OAuth2/OAuthUtilities.cs @@ -1,6 +1,6 @@ //----------------------------------------------------------------------- -// <copyright file="OAuthUtilities.cs" company="Andrew Arnott"> -// Copyright (c) Andrew Arnott. All rights reserved. +// <copyright file="OAuthUtilities.cs" company="Outercurve Foundation"> +// Copyright (c) Outercurve Foundation. All rights reserved. // </copyright> //----------------------------------------------------------------------- @@ -72,7 +72,9 @@ namespace DotNetOpenAuth.OAuth2 { return new HashSet<string>(); } - return new HashSet<string>(scope.Split(scopeDelimiter, StringSplitOptions.RemoveEmptyEntries), ScopeStringComparer); + var set = new HashSet<string>(scope.Split(scopeDelimiter, StringSplitOptions.RemoveEmptyEntries), ScopeStringComparer); + VerifyValidScopeTokens(set); + return set; } /// <summary> @@ -82,10 +84,37 @@ namespace DotNetOpenAuth.OAuth2 { /// <returns>A space-delimited list.</returns> public static string JoinScopes(HashSet<string> scopes) { Requires.NotNull(scopes, "scopes"); + VerifyValidScopeTokens(scopes); return string.Join(" ", scopes.ToArray()); } /// <summary> + /// Verifies that a sequence of scope tokens are all valid. + /// </summary> + /// <param name="scopes">The scopes.</param> + internal static void VerifyValidScopeTokens(IEnumerable<string> scopes) { + Requires.NotNull(scopes, "scopes"); + foreach (string scope in scopes) { + VerifyValidScopeToken(scope); + } + } + + /// <summary> + /// Verifies that a given scope token (not a space-delimited set, but a single token) is valid. + /// </summary> + /// <param name="scopeToken">The scope token.</param> + internal static void VerifyValidScopeToken(string scopeToken) { + ErrorUtilities.VerifyProtocol(!String.IsNullOrEmpty(scopeToken), OAuthStrings.InvalidScopeToken, scopeToken); + for (int i = 0; i < scopeToken.Length; i++) { + // The allowed set of characters comes from OAuth 2.0 section 3.3 (draft 23) + char ch = scopeToken[i]; + if (!(ch == '\x21' || (ch >= '\x23' && ch <= '\x5B') || (ch >= '\x5D' && ch <= '\x7E'))) { + ErrorUtilities.ThrowProtocol(OAuthStrings.InvalidScopeToken, scopeToken); + } + } + } + + /// <summary> /// Authorizes an HTTP request using an OAuth 2.0 access token in an HTTP Authorization header. /// </summary> /// <param name="request">The request to authorize.</param> @@ -93,7 +122,7 @@ namespace DotNetOpenAuth.OAuth2 { internal static void AuthorizeWithBearerToken(this HttpWebRequest request, string accessToken) { Requires.NotNull(request, "request"); Requires.NotNullOrEmpty(accessToken, "accessToken"); - ErrorUtilities.VerifyProtocol(accessToken.All(ch => accessTokenAuthorizationHeaderAllowedCharacters.IndexOf(ch) >= 0), "The access token contains characters that must not appear in the HTTP Authorization header."); + ErrorUtilities.VerifyProtocol(accessToken.All(ch => accessTokenAuthorizationHeaderAllowedCharacters.IndexOf(ch) >= 0), OAuthStrings.AccessTokenInvalidForHttpAuthorizationHeader); request.Headers[HttpRequestHeader.Authorization] = string.Format( CultureInfo.InvariantCulture, @@ -107,16 +136,18 @@ namespace DotNetOpenAuth.OAuth2 { /// <param name="authorizationServer">The authorization server.</param> /// <param name="clientIdentifier">The client identifier.</param> /// <returns>The client information. Never null.</returns> - internal static IConsumerDescription GetClientOrThrow(this IAuthorizationServer authorizationServer, string clientIdentifier) { + internal static IClientDescription GetClientOrThrow(this IAuthorizationServer authorizationServer, string clientIdentifier) { Requires.NotNullOrEmpty(clientIdentifier, "clientIdentifier"); - Contract.Ensures(Contract.Result<IConsumerDescription>() != null); + Contract.Ensures(Contract.Result<IClientDescription>() != null); try { - return authorizationServer.GetClient(clientIdentifier); + var result = authorizationServer.GetClient(clientIdentifier); + ErrorUtilities.VerifyHost(result != null, OAuthStrings.ResultShouldNotBeNull, authorizationServer.GetType().FullName, "GetClient(string)"); + return result; } catch (KeyNotFoundException ex) { - throw ErrorUtilities.Wrap(ex, OAuth.OAuthStrings.ConsumerOrTokenSecretNotFound); + throw ErrorUtilities.Wrap(ex, OAuthStrings.ClientOrTokenSecretNotFound); } catch (ArgumentException ex) { - throw ErrorUtilities.Wrap(ex, OAuth.OAuthStrings.ConsumerOrTokenSecretNotFound); + throw ErrorUtilities.Wrap(ex, OAuthStrings.ClientOrTokenSecretNotFound); } } } diff --git a/src/DotNetOpenAuth.OAuth2/OAuth2/Protocol.cs b/src/DotNetOpenAuth.OAuth2/OAuth2/Protocol.cs index 3cb8253..19fe845 100644 --- a/src/DotNetOpenAuth.OAuth2/OAuth2/Protocol.cs +++ b/src/DotNetOpenAuth.OAuth2/OAuth2/Protocol.cs @@ -1,7 +1,7 @@ // <auto-generated/> // disable StyleCop on this file //----------------------------------------------------------------------- -// <copyright file="Protocol.cs" company="Andrew Arnott"> -// Copyright (c) Andrew Arnott. All rights reserved. +// <copyright file="Protocol.cs" company="Outercurve Foundation"> +// Copyright (c) Outercurve Foundation. All rights reserved. // </copyright> //----------------------------------------------------------------------- @@ -340,6 +340,16 @@ namespace DotNetOpenAuth.OAuth2 { /// The requested scope is invalid, unknown, or malformed. /// </summary> internal const string InvalidScope = "invalid_scope"; + + /// <summary> + /// The authorization server encountered an unexpected condition which prevented it from fulfilling the request. + /// </summary> + internal const string ServerError = "server_error"; + + /// <summary> + /// The authorization server is currently unable to handle the request due to a temporary overloading or maintenance of the server. + /// </summary> + internal const string TemporarilyUnavailable = "temporarily_unavailable"; } /// <summary> diff --git a/src/DotNetOpenAuth.OAuth2/OAuth2/StandardAccessTokenAnalyzer.cs b/src/DotNetOpenAuth.OAuth2/OAuth2/StandardAccessTokenAnalyzer.cs index f2b7d1c..3bd2169 100644 --- a/src/DotNetOpenAuth.OAuth2/OAuth2/StandardAccessTokenAnalyzer.cs +++ b/src/DotNetOpenAuth.OAuth2/OAuth2/StandardAccessTokenAnalyzer.cs @@ -1,6 +1,6 @@ //----------------------------------------------------------------------- -// <copyright file="StandardAccessTokenAnalyzer.cs" company="Andrew Arnott"> -// Copyright (c) Andrew Arnott. All rights reserved. +// <copyright file="StandardAccessTokenAnalyzer.cs" company="Outercurve Foundation"> +// Copyright (c) Outercurve Foundation. All rights reserved. // </copyright> //----------------------------------------------------------------------- diff --git a/src/DotNetOpenAuth.OAuth2/Properties/AssemblyInfo.cs b/src/DotNetOpenAuth.OAuth2/Properties/AssemblyInfo.cs index 5c7b883..14fb526 100644 --- a/src/DotNetOpenAuth.OAuth2/Properties/AssemblyInfo.cs +++ b/src/DotNetOpenAuth.OAuth2/Properties/AssemblyInfo.cs @@ -1,6 +1,6 @@ //----------------------------------------------------------------------- -// <copyright file="AssemblyInfo.cs" company="Andrew Arnott"> -// Copyright (c) Andrew Arnott. All rights reserved. +// <copyright file="AssemblyInfo.cs" company="Outercurve Foundation"> +// Copyright (c) Outercurve Foundation. All rights reserved. // </copyright> //----------------------------------------------------------------------- @@ -25,7 +25,7 @@ using System.Web.UI; [assembly: AssemblyConfiguration("")] [assembly: AssemblyCompany("")] [assembly: AssemblyProduct("DotNetOpenAuth")] -[assembly: AssemblyCopyright("Copyright © 2008")] +[assembly: AssemblyCopyright("Copyright © 2011 Outercurve Foundation")] [assembly: AssemblyTrademark("")] [assembly: AssemblyCulture("")] [assembly: NeutralResourcesLanguage("en-US")] diff --git a/src/DotNetOpenAuth.OpenId.Provider.UI/OpenId/Provider/AnonymousRequestEventArgs.cs b/src/DotNetOpenAuth.OpenId.Provider.UI/OpenId/Provider/AnonymousRequestEventArgs.cs index 2cf680d..8b59912 100644 --- a/src/DotNetOpenAuth.OpenId.Provider.UI/OpenId/Provider/AnonymousRequestEventArgs.cs +++ b/src/DotNetOpenAuth.OpenId.Provider.UI/OpenId/Provider/AnonymousRequestEventArgs.cs @@ -1,6 +1,6 @@ //----------------------------------------------------------------------- -// <copyright file="AnonymousRequestEventArgs.cs" company="Andrew Arnott"> -// Copyright (c) Andrew Arnott. All rights reserved. +// <copyright file="AnonymousRequestEventArgs.cs" company="Outercurve Foundation"> +// Copyright (c) Outercurve Foundation. All rights reserved. // </copyright> //----------------------------------------------------------------------- diff --git a/src/DotNetOpenAuth.OpenId.Provider.UI/OpenId/Provider/AuthenticationChallengeEventArgs.cs b/src/DotNetOpenAuth.OpenId.Provider.UI/OpenId/Provider/AuthenticationChallengeEventArgs.cs index 1594994..c959e83 100644 --- a/src/DotNetOpenAuth.OpenId.Provider.UI/OpenId/Provider/AuthenticationChallengeEventArgs.cs +++ b/src/DotNetOpenAuth.OpenId.Provider.UI/OpenId/Provider/AuthenticationChallengeEventArgs.cs @@ -1,6 +1,6 @@ //----------------------------------------------------------------------- -// <copyright file="AuthenticationChallengeEventArgs.cs" company="Andrew Arnott"> -// Copyright (c) Andrew Arnott. All rights reserved. +// <copyright file="AuthenticationChallengeEventArgs.cs" company="Outercurve Foundation"> +// Copyright (c) Outercurve Foundation. All rights reserved. // </copyright> //----------------------------------------------------------------------- diff --git a/src/DotNetOpenAuth.OpenId.Provider.UI/OpenId/Provider/IdentityEndpoint.cs b/src/DotNetOpenAuth.OpenId.Provider.UI/OpenId/Provider/IdentityEndpoint.cs index 3a18b70..43dd54d 100644 --- a/src/DotNetOpenAuth.OpenId.Provider.UI/OpenId/Provider/IdentityEndpoint.cs +++ b/src/DotNetOpenAuth.OpenId.Provider.UI/OpenId/Provider/IdentityEndpoint.cs @@ -1,6 +1,6 @@ //----------------------------------------------------------------------- -// <copyright file="IdentityEndpoint.cs" company="Andrew Arnott"> -// Copyright (c) Andrew Arnott. All rights reserved. +// <copyright file="IdentityEndpoint.cs" company="Outercurve Foundation"> +// Copyright (c) Outercurve Foundation. All rights reserved. // </copyright> //----------------------------------------------------------------------- @@ -196,7 +196,7 @@ namespace DotNetOpenAuth.OpenId.Provider { if (!string.IsNullOrEmpty(this.ProviderEndpointUrl)) { writer.WriteBeginTag("link"); writer.WriteAttribute("rel", this.Protocol.HtmlDiscoveryProviderKey); - writer.WriteAttribute("href", new Uri(requestUrlBeforeRewrites, this.Page.ResolveUrl(this.ProviderEndpointUrl)).AbsoluteUri); + writer.WriteAttribute("href", new Uri(requestUrlBeforeRewrites, this.Page.Response.ApplyAppPathModifier(this.ProviderEndpointUrl)).AbsoluteUri); writer.Write(">"); writer.WriteEndTag("link"); writer.WriteLine(); @@ -204,7 +204,7 @@ namespace DotNetOpenAuth.OpenId.Provider { if (!string.IsNullOrEmpty(this.ProviderLocalIdentifier)) { writer.WriteBeginTag("link"); writer.WriteAttribute("rel", Protocol.HtmlDiscoveryLocalIdKey); - writer.WriteAttribute("href", new Uri(requestUrlBeforeRewrites, this.Page.ResolveUrl(this.ProviderLocalIdentifier)).AbsoluteUri); + writer.WriteAttribute("href", new Uri(requestUrlBeforeRewrites, this.Page.Response.ApplyAppPathModifier(this.ProviderLocalIdentifier)).AbsoluteUri); writer.Write(">"); writer.WriteEndTag("link"); writer.WriteLine(); diff --git a/src/DotNetOpenAuth.OpenId.Provider.UI/OpenId/Provider/IdentityEndpointNormalizationEventArgs.cs b/src/DotNetOpenAuth.OpenId.Provider.UI/OpenId/Provider/IdentityEndpointNormalizationEventArgs.cs index d190792..7c1cc53 100644 --- a/src/DotNetOpenAuth.OpenId.Provider.UI/OpenId/Provider/IdentityEndpointNormalizationEventArgs.cs +++ b/src/DotNetOpenAuth.OpenId.Provider.UI/OpenId/Provider/IdentityEndpointNormalizationEventArgs.cs @@ -1,6 +1,6 @@ //----------------------------------------------------------------------- -// <copyright file="IdentityEndpointNormalizationEventArgs.cs" company="Andrew Arnott"> -// Copyright (c) Andrew Arnott. All rights reserved. +// <copyright file="IdentityEndpointNormalizationEventArgs.cs" company="Outercurve Foundation"> +// Copyright (c) Outercurve Foundation. All rights reserved. // </copyright> //----------------------------------------------------------------------- diff --git a/src/DotNetOpenAuth.OpenId.Provider.UI/OpenId/Provider/ProviderEndpoint.cs b/src/DotNetOpenAuth.OpenId.Provider.UI/OpenId/Provider/ProviderEndpoint.cs index d0dee75..bff8097 100644 --- a/src/DotNetOpenAuth.OpenId.Provider.UI/OpenId/Provider/ProviderEndpoint.cs +++ b/src/DotNetOpenAuth.OpenId.Provider.UI/OpenId/Provider/ProviderEndpoint.cs @@ -1,6 +1,6 @@ //----------------------------------------------------------------------- -// <copyright file="ProviderEndpoint.cs" company="Andrew Arnott"> -// Copyright (c) Andrew Arnott. All rights reserved. +// <copyright file="ProviderEndpoint.cs" company="Outercurve Foundation"> +// Copyright (c) Outercurve Foundation. All rights reserved. // </copyright> //----------------------------------------------------------------------- diff --git a/src/DotNetOpenAuth.OpenId.Provider.UI/Properties/AssemblyInfo.cs b/src/DotNetOpenAuth.OpenId.Provider.UI/Properties/AssemblyInfo.cs index 2fbaebd..5e905bc 100644 --- a/src/DotNetOpenAuth.OpenId.Provider.UI/Properties/AssemblyInfo.cs +++ b/src/DotNetOpenAuth.OpenId.Provider.UI/Properties/AssemblyInfo.cs @@ -1,6 +1,6 @@ //----------------------------------------------------------------------- -// <copyright file="AssemblyInfo.cs" company="Andrew Arnott"> -// Copyright (c) Andrew Arnott. All rights reserved. +// <copyright file="AssemblyInfo.cs" company="Outercurve Foundation"> +// Copyright (c) Outercurve Foundation. All rights reserved. // </copyright> //----------------------------------------------------------------------- @@ -27,7 +27,7 @@ using System.Web.UI; [assembly: AssemblyConfiguration("")] [assembly: AssemblyCompany("")] [assembly: AssemblyProduct("DotNetOpenAuth")] -[assembly: AssemblyCopyright("Copyright © 2008")] +[assembly: AssemblyCopyright("Copyright © 2011 Outercurve Foundation")] [assembly: AssemblyTrademark("")] [assembly: AssemblyCulture("")] [assembly: NeutralResourcesLanguage("en-US")] diff --git a/src/DotNetOpenAuth.OpenId.Provider/DotNetOpenAuth.OpenId.Provider.csproj b/src/DotNetOpenAuth.OpenId.Provider/DotNetOpenAuth.OpenId.Provider.csproj index 433a8b6..53a1b8e 100644 --- a/src/DotNetOpenAuth.OpenId.Provider/DotNetOpenAuth.OpenId.Provider.csproj +++ b/src/DotNetOpenAuth.OpenId.Provider/DotNetOpenAuth.OpenId.Provider.csproj @@ -63,10 +63,6 @@ <Project>{60426312-6AE5-4835-8667-37EDEA670222}</Project> <Name>DotNetOpenAuth.Core</Name> </ProjectReference> - <ProjectReference Include="..\DotNetOpenAuth.OpenId.RelyingParty\DotNetOpenAuth.OpenId.RelyingParty.csproj"> - <Project>{F458AB60-BA1C-43D9-8CEF-EC01B50BE87B}</Project> - <Name>DotNetOpenAuth.OpenId.RelyingParty</Name> - </ProjectReference> <ProjectReference Include="..\DotNetOpenAuth.OpenId\DotNetOpenAuth.OpenId.csproj"> <Project>{3896A32A-E876-4C23-B9B8-78E17D134CD3}</Project> <Name>DotNetOpenAuth.OpenId</Name> diff --git a/src/DotNetOpenAuth.OpenId.Provider/OpenId/ChannelElements/AssociateUnencryptedProviderRequest.cs b/src/DotNetOpenAuth.OpenId.Provider/OpenId/ChannelElements/AssociateUnencryptedProviderRequest.cs index 322c435..e56446c 100644 --- a/src/DotNetOpenAuth.OpenId.Provider/OpenId/ChannelElements/AssociateUnencryptedProviderRequest.cs +++ b/src/DotNetOpenAuth.OpenId.Provider/OpenId/ChannelElements/AssociateUnencryptedProviderRequest.cs @@ -1,6 +1,6 @@ //----------------------------------------------------------------------- -// <copyright file="AssociateUnencryptedProviderRequest.cs" company="Andrew Arnott"> -// Copyright (c) Andrew Arnott. All rights reserved. +// <copyright file="AssociateUnencryptedProviderRequest.cs" company="Outercurve Foundation"> +// Copyright (c) Outercurve Foundation. All rights reserved. // </copyright> //----------------------------------------------------------------------- diff --git a/src/DotNetOpenAuth.OpenId.Provider/OpenId/ChannelElements/OpenIdProviderChannel.cs b/src/DotNetOpenAuth.OpenId.Provider/OpenId/ChannelElements/OpenIdProviderChannel.cs index 5812a96..c18bcac 100644 --- a/src/DotNetOpenAuth.OpenId.Provider/OpenId/ChannelElements/OpenIdProviderChannel.cs +++ b/src/DotNetOpenAuth.OpenId.Provider/OpenId/ChannelElements/OpenIdProviderChannel.cs @@ -1,6 +1,6 @@ //----------------------------------------------------------------------- -// <copyright file="OpenIdProviderChannel.cs" company="Andrew Arnott"> -// Copyright (c) Andrew Arnott. All rights reserved. +// <copyright file="OpenIdProviderChannel.cs" company="Outercurve Foundation"> +// Copyright (c) Outercurve Foundation. All rights reserved. // </copyright> //----------------------------------------------------------------------- diff --git a/src/DotNetOpenAuth.OpenId.Provider/OpenId/ChannelElements/OpenIdProviderMessageFactory.cs b/src/DotNetOpenAuth.OpenId.Provider/OpenId/ChannelElements/OpenIdProviderMessageFactory.cs index 3fab06b..af07156 100644 --- a/src/DotNetOpenAuth.OpenId.Provider/OpenId/ChannelElements/OpenIdProviderMessageFactory.cs +++ b/src/DotNetOpenAuth.OpenId.Provider/OpenId/ChannelElements/OpenIdProviderMessageFactory.cs @@ -1,6 +1,6 @@ //----------------------------------------------------------------------- -// <copyright file="OpenIdProviderMessageFactory.cs" company="Andrew Arnott"> -// Copyright (c) Andrew Arnott. All rights reserved. +// <copyright file="OpenIdProviderMessageFactory.cs" company="Outercurve Foundation"> +// Copyright (c) Outercurve Foundation. All rights reserved. // </copyright> //----------------------------------------------------------------------- diff --git a/src/DotNetOpenAuth.OpenId.Provider/OpenId/ChannelElements/ProviderSigningBindingElement.cs b/src/DotNetOpenAuth.OpenId.Provider/OpenId/ChannelElements/ProviderSigningBindingElement.cs index e257e63..93d86d2 100644 --- a/src/DotNetOpenAuth.OpenId.Provider/OpenId/ChannelElements/ProviderSigningBindingElement.cs +++ b/src/DotNetOpenAuth.OpenId.Provider/OpenId/ChannelElements/ProviderSigningBindingElement.cs @@ -1,6 +1,6 @@ //----------------------------------------------------------------------- -// <copyright file="ProviderSigningBindingElement.cs" company="Andrew Arnott"> -// Copyright (c) Andrew Arnott. All rights reserved. +// <copyright file="ProviderSigningBindingElement.cs" company="Outercurve Foundation"> +// Copyright (c) Outercurve Foundation. All rights reserved. // </copyright> //----------------------------------------------------------------------- @@ -189,7 +189,7 @@ namespace DotNetOpenAuth.OpenId.ChannelElements { // Since this library's RP has a built-in request_nonce parameter for replay // protection, we'll allow for that. var returnToArgs = HttpUtility.ParseQueryString(response.ReturnTo.Query); - if (!string.IsNullOrEmpty(returnToArgs[ReturnToNonceBindingElement.NonceParameter])) { + if (!string.IsNullOrEmpty(returnToArgs[Protocol.ReturnToNonceParameter])) { return false; } diff --git a/src/DotNetOpenAuth.OpenId.Provider/OpenId/Messages/AssociateDiffieHellmanProviderRequest.cs b/src/DotNetOpenAuth.OpenId.Provider/OpenId/Messages/AssociateDiffieHellmanProviderRequest.cs index 1a3cf5d..977ce71 100644 --- a/src/DotNetOpenAuth.OpenId.Provider/OpenId/Messages/AssociateDiffieHellmanProviderRequest.cs +++ b/src/DotNetOpenAuth.OpenId.Provider/OpenId/Messages/AssociateDiffieHellmanProviderRequest.cs @@ -1,6 +1,6 @@ //----------------------------------------------------------------------- -// <copyright file="AssociateDiffieHellmanProviderRequest.cs" company="Andrew Arnott"> -// Copyright (c) Andrew Arnott. All rights reserved. +// <copyright file="AssociateDiffieHellmanProviderRequest.cs" company="Outercurve Foundation"> +// Copyright (c) Outercurve Foundation. All rights reserved. // </copyright> //----------------------------------------------------------------------- diff --git a/src/DotNetOpenAuth.OpenId.Provider/OpenId/Messages/AssociateDiffieHellmanProviderResponse.cs b/src/DotNetOpenAuth.OpenId.Provider/OpenId/Messages/AssociateDiffieHellmanProviderResponse.cs index 3dd1e8e..c7e0ad9 100644 --- a/src/DotNetOpenAuth.OpenId.Provider/OpenId/Messages/AssociateDiffieHellmanProviderResponse.cs +++ b/src/DotNetOpenAuth.OpenId.Provider/OpenId/Messages/AssociateDiffieHellmanProviderResponse.cs @@ -1,6 +1,6 @@ //----------------------------------------------------------------------- -// <copyright file="AssociateDiffieHellmanProviderResponse.cs" company="Andrew Arnott"> -// Copyright (c) Andrew Arnott. All rights reserved. +// <copyright file="AssociateDiffieHellmanProviderResponse.cs" company="Outercurve Foundation"> +// Copyright (c) Outercurve Foundation. All rights reserved. // </copyright> //----------------------------------------------------------------------- diff --git a/src/DotNetOpenAuth.OpenId.Provider/OpenId/Messages/AssociateRequestProviderTools.cs b/src/DotNetOpenAuth.OpenId.Provider/OpenId/Messages/AssociateRequestProviderTools.cs index e09b37e..0fb5e98 100644 --- a/src/DotNetOpenAuth.OpenId.Provider/OpenId/Messages/AssociateRequestProviderTools.cs +++ b/src/DotNetOpenAuth.OpenId.Provider/OpenId/Messages/AssociateRequestProviderTools.cs @@ -1,6 +1,6 @@ //----------------------------------------------------------------------- -// <copyright file="AssociateRequestProviderTools.cs" company="Andrew Arnott"> -// Copyright (c) Andrew Arnott. All rights reserved. +// <copyright file="AssociateRequestProviderTools.cs" company="Outercurve Foundation"> +// Copyright (c) Outercurve Foundation. All rights reserved. // </copyright> //----------------------------------------------------------------------- diff --git a/src/DotNetOpenAuth.OpenId.Provider/OpenId/Messages/AssociateSuccessfulResponseProvider.cs b/src/DotNetOpenAuth.OpenId.Provider/OpenId/Messages/AssociateSuccessfulResponseProvider.cs index d057b9c..215128c 100644 --- a/src/DotNetOpenAuth.OpenId.Provider/OpenId/Messages/AssociateSuccessfulResponseProvider.cs +++ b/src/DotNetOpenAuth.OpenId.Provider/OpenId/Messages/AssociateSuccessfulResponseProvider.cs @@ -1,6 +1,6 @@ //----------------------------------------------------------------------- -// <copyright file="AssociateSuccessfulResponseProvider.cs" company="Andrew Arnott"> -// Copyright (c) Andrew Arnott. All rights reserved. +// <copyright file="AssociateSuccessfulResponseProvider.cs" company="Outercurve Foundation"> +// Copyright (c) Outercurve Foundation. All rights reserved. // </copyright> //----------------------------------------------------------------------- diff --git a/src/DotNetOpenAuth.OpenId.Provider/OpenId/Messages/AssociateSuccessfulResponseProviderContract.cs b/src/DotNetOpenAuth.OpenId.Provider/OpenId/Messages/AssociateSuccessfulResponseProviderContract.cs index af60d5e..c0a42e0 100644 --- a/src/DotNetOpenAuth.OpenId.Provider/OpenId/Messages/AssociateSuccessfulResponseProviderContract.cs +++ b/src/DotNetOpenAuth.OpenId.Provider/OpenId/Messages/AssociateSuccessfulResponseProviderContract.cs @@ -1,6 +1,6 @@ //----------------------------------------------------------------------- -// <copyright file="AssociateSuccessfulResponseProviderContract.cs" company="Andrew Arnott"> -// Copyright (c) Andrew Arnott. All rights reserved. +// <copyright file="AssociateSuccessfulResponseProviderContract.cs" company="Outercurve Foundation"> +// Copyright (c) Outercurve Foundation. All rights reserved. // </copyright> //----------------------------------------------------------------------- diff --git a/src/DotNetOpenAuth.OpenId.Provider/OpenId/Messages/AssociateUnencryptedResponseProvider.cs b/src/DotNetOpenAuth.OpenId.Provider/OpenId/Messages/AssociateUnencryptedResponseProvider.cs index 1466fe2..b7724b3 100644 --- a/src/DotNetOpenAuth.OpenId.Provider/OpenId/Messages/AssociateUnencryptedResponseProvider.cs +++ b/src/DotNetOpenAuth.OpenId.Provider/OpenId/Messages/AssociateUnencryptedResponseProvider.cs @@ -1,6 +1,6 @@ //----------------------------------------------------------------------- -// <copyright file="AssociateUnencryptedResponseProvider.cs" company="Andrew Arnott"> -// Copyright (c) Andrew Arnott. All rights reserved. +// <copyright file="AssociateUnencryptedResponseProvider.cs" company="Outercurve Foundation"> +// Copyright (c) Outercurve Foundation. All rights reserved. // </copyright> //----------------------------------------------------------------------- diff --git a/src/DotNetOpenAuth.OpenId.Provider/OpenId/Messages/CheckAuthenticationResponseProvider.cs b/src/DotNetOpenAuth.OpenId.Provider/OpenId/Messages/CheckAuthenticationResponseProvider.cs index 1e417e6..c187d5e 100644 --- a/src/DotNetOpenAuth.OpenId.Provider/OpenId/Messages/CheckAuthenticationResponseProvider.cs +++ b/src/DotNetOpenAuth.OpenId.Provider/OpenId/Messages/CheckAuthenticationResponseProvider.cs @@ -1,6 +1,6 @@ //----------------------------------------------------------------------- -// <copyright file="CheckAuthenticationResponseProvider.cs" company="Andrew Arnott"> -// Copyright (c) Andrew Arnott. All rights reserved. +// <copyright file="CheckAuthenticationResponseProvider.cs" company="Outercurve Foundation"> +// Copyright (c) Outercurve Foundation. All rights reserved. // </copyright> //----------------------------------------------------------------------- diff --git a/src/DotNetOpenAuth.OpenId.Provider/OpenId/Messages/IAssociateRequestProvider.cs b/src/DotNetOpenAuth.OpenId.Provider/OpenId/Messages/IAssociateRequestProvider.cs index 539a18e..ab1e643 100644 --- a/src/DotNetOpenAuth.OpenId.Provider/OpenId/Messages/IAssociateRequestProvider.cs +++ b/src/DotNetOpenAuth.OpenId.Provider/OpenId/Messages/IAssociateRequestProvider.cs @@ -1,6 +1,6 @@ //----------------------------------------------------------------------- -// <copyright file="IAssociateRequestProvider.cs" company="Andrew Arnott"> -// Copyright (c) Andrew Arnott. All rights reserved. +// <copyright file="IAssociateRequestProvider.cs" company="Outercurve Foundation"> +// Copyright (c) Outercurve Foundation. All rights reserved. // </copyright> //----------------------------------------------------------------------- diff --git a/src/DotNetOpenAuth.OpenId.Provider/OpenId/Provider/AnonymousRequest.cs b/src/DotNetOpenAuth.OpenId.Provider/OpenId/Provider/AnonymousRequest.cs index 581d39e..f156b9a 100644 --- a/src/DotNetOpenAuth.OpenId.Provider/OpenId/Provider/AnonymousRequest.cs +++ b/src/DotNetOpenAuth.OpenId.Provider/OpenId/Provider/AnonymousRequest.cs @@ -1,6 +1,6 @@ //----------------------------------------------------------------------- -// <copyright file="AnonymousRequest.cs" company="Andrew Arnott"> -// Copyright (c) Andrew Arnott. All rights reserved. +// <copyright file="AnonymousRequest.cs" company="Outercurve Foundation"> +// Copyright (c) Outercurve Foundation. All rights reserved. // </copyright> //----------------------------------------------------------------------- diff --git a/src/DotNetOpenAuth.OpenId.Provider/OpenId/Provider/AssociationDataBag.cs b/src/DotNetOpenAuth.OpenId.Provider/OpenId/Provider/AssociationDataBag.cs index bf3d909..ee48670 100644 --- a/src/DotNetOpenAuth.OpenId.Provider/OpenId/Provider/AssociationDataBag.cs +++ b/src/DotNetOpenAuth.OpenId.Provider/OpenId/Provider/AssociationDataBag.cs @@ -1,6 +1,6 @@ //----------------------------------------------------------------------- -// <copyright file="AssociationDataBag.cs" company="Andrew Arnott"> -// Copyright (c) Andrew Arnott. All rights reserved. +// <copyright file="AssociationDataBag.cs" company="Outercurve Foundation"> +// Copyright (c) Outercurve Foundation. All rights reserved. // </copyright> //----------------------------------------------------------------------- diff --git a/src/DotNetOpenAuth.OpenId.Provider/OpenId/Provider/AssociationRelyingPartyType.cs b/src/DotNetOpenAuth.OpenId.Provider/OpenId/Provider/AssociationRelyingPartyType.cs index 4d121b1..3a8b75b 100644 --- a/src/DotNetOpenAuth.OpenId.Provider/OpenId/Provider/AssociationRelyingPartyType.cs +++ b/src/DotNetOpenAuth.OpenId.Provider/OpenId/Provider/AssociationRelyingPartyType.cs @@ -1,6 +1,6 @@ //----------------------------------------------------------------------- -// <copyright file="AssociationRelyingPartyType.cs" company="Andrew Arnott"> -// Copyright (c) Andrew Arnott. All rights reserved. +// <copyright file="AssociationRelyingPartyType.cs" company="Outercurve Foundation"> +// Copyright (c) Outercurve Foundation. All rights reserved. // </copyright> //----------------------------------------------------------------------- diff --git a/src/DotNetOpenAuth.OpenId.Provider/OpenId/Provider/AuthenticationRequest.cs b/src/DotNetOpenAuth.OpenId.Provider/OpenId/Provider/AuthenticationRequest.cs index 09b1073..e88af8a 100644 --- a/src/DotNetOpenAuth.OpenId.Provider/OpenId/Provider/AuthenticationRequest.cs +++ b/src/DotNetOpenAuth.OpenId.Provider/OpenId/Provider/AuthenticationRequest.cs @@ -1,6 +1,6 @@ //----------------------------------------------------------------------- -// <copyright file="AuthenticationRequest.cs" company="Andrew Arnott"> -// Copyright (c) Andrew Arnott. All rights reserved. +// <copyright file="AuthenticationRequest.cs" company="Outercurve Foundation"> +// Copyright (c) Outercurve Foundation. All rights reserved. // </copyright> //----------------------------------------------------------------------- diff --git a/src/DotNetOpenAuth.OpenId.Provider/OpenId/Provider/AutoResponsiveRequest.cs b/src/DotNetOpenAuth.OpenId.Provider/OpenId/Provider/AutoResponsiveRequest.cs index 0d98e67..661d719 100644 --- a/src/DotNetOpenAuth.OpenId.Provider/OpenId/Provider/AutoResponsiveRequest.cs +++ b/src/DotNetOpenAuth.OpenId.Provider/OpenId/Provider/AutoResponsiveRequest.cs @@ -1,6 +1,6 @@ //----------------------------------------------------------------------- -// <copyright file="AutoResponsiveRequest.cs" company="Andrew Arnott"> -// Copyright (c) Andrew Arnott. All rights reserved. +// <copyright file="AutoResponsiveRequest.cs" company="Outercurve Foundation"> +// Copyright (c) Outercurve Foundation. All rights reserved. // </copyright> //----------------------------------------------------------------------- diff --git a/src/DotNetOpenAuth.OpenId.Provider/OpenId/Provider/Behaviors/AXFetchAsSregTransform.cs b/src/DotNetOpenAuth.OpenId.Provider/OpenId/Provider/Behaviors/AXFetchAsSregTransform.cs index 3a72c5e..d5f3f4e 100644 --- a/src/DotNetOpenAuth.OpenId.Provider/OpenId/Provider/Behaviors/AXFetchAsSregTransform.cs +++ b/src/DotNetOpenAuth.OpenId.Provider/OpenId/Provider/Behaviors/AXFetchAsSregTransform.cs @@ -1,6 +1,6 @@ //----------------------------------------------------------------------- -// <copyright file="AXFetchAsSregTransform.cs" company="Andrew Arnott"> -// Copyright (c) Andrew Arnott. All rights reserved. +// <copyright file="AXFetchAsSregTransform.cs" company="Outercurve Foundation"> +// Copyright (c) Outercurve Foundation. All rights reserved. // </copyright> //----------------------------------------------------------------------- diff --git a/src/DotNetOpenAuth.OpenId.Provider/OpenId/Provider/Behaviors/GsaIcamProfile.cs b/src/DotNetOpenAuth.OpenId.Provider/OpenId/Provider/Behaviors/GsaIcamProfile.cs index 38f2ae7..a68028f 100644 --- a/src/DotNetOpenAuth.OpenId.Provider/OpenId/Provider/Behaviors/GsaIcamProfile.cs +++ b/src/DotNetOpenAuth.OpenId.Provider/OpenId/Provider/Behaviors/GsaIcamProfile.cs @@ -1,6 +1,6 @@ //----------------------------------------------------------------------- -// <copyright file="GsaIcamProfile.cs" company="Andrew Arnott"> -// Copyright (c) Andrew Arnott. All rights reserved. +// <copyright file="GsaIcamProfile.cs" company="Outercurve Foundation"> +// Copyright (c) Outercurve Foundation. All rights reserved. // </copyright> //----------------------------------------------------------------------- diff --git a/src/DotNetOpenAuth.OpenId.Provider/OpenId/Provider/Behaviors/PpidGeneration.cs b/src/DotNetOpenAuth.OpenId.Provider/OpenId/Provider/Behaviors/PpidGeneration.cs index 1a6898e..9b914d0 100644 --- a/src/DotNetOpenAuth.OpenId.Provider/OpenId/Provider/Behaviors/PpidGeneration.cs +++ b/src/DotNetOpenAuth.OpenId.Provider/OpenId/Provider/Behaviors/PpidGeneration.cs @@ -1,6 +1,6 @@ //----------------------------------------------------------------------- -// <copyright file="PpidGeneration.cs" company="Andrew Arnott"> -// Copyright (c) Andrew Arnott. All rights reserved. +// <copyright file="PpidGeneration.cs" company="Outercurve Foundation"> +// Copyright (c) Outercurve Foundation. All rights reserved. // </copyright> //----------------------------------------------------------------------- diff --git a/src/DotNetOpenAuth.OpenId.Provider/OpenId/Provider/Extensions/ExtensionsInteropHelper.cs b/src/DotNetOpenAuth.OpenId.Provider/OpenId/Provider/Extensions/ExtensionsInteropHelper.cs index eda768b..6ffb326 100644 --- a/src/DotNetOpenAuth.OpenId.Provider/OpenId/Provider/Extensions/ExtensionsInteropHelper.cs +++ b/src/DotNetOpenAuth.OpenId.Provider/OpenId/Provider/Extensions/ExtensionsInteropHelper.cs @@ -1,6 +1,6 @@ //----------------------------------------------------------------------- -// <copyright file="ExtensionsInteropHelper.cs" company="Andrew Arnott"> -// Copyright (c) Andrew Arnott. All rights reserved. +// <copyright file="ExtensionsInteropHelper.cs" company="Outercurve Foundation"> +// Copyright (c) Outercurve Foundation. All rights reserved. // </copyright> //----------------------------------------------------------------------- diff --git a/src/DotNetOpenAuth.OpenId.Provider/OpenId/Provider/Extensions/UI/UIRequestTools.cs b/src/DotNetOpenAuth.OpenId.Provider/OpenId/Provider/Extensions/UI/UIRequestTools.cs index 80ee2f1..c5ede8c 100644 --- a/src/DotNetOpenAuth.OpenId.Provider/OpenId/Provider/Extensions/UI/UIRequestTools.cs +++ b/src/DotNetOpenAuth.OpenId.Provider/OpenId/Provider/Extensions/UI/UIRequestTools.cs @@ -1,6 +1,6 @@ //----------------------------------------------------------------------- -// <copyright file="UIRequestTools.cs" company="Andrew Arnott"> -// Copyright (c) Andrew Arnott. All rights reserved. +// <copyright file="UIRequestTools.cs" company="Outercurve Foundation"> +// Copyright (c) Outercurve Foundation. All rights reserved. // </copyright> //----------------------------------------------------------------------- diff --git a/src/DotNetOpenAuth.OpenId.Provider/OpenId/Provider/HmacShaAssociationProvider.cs b/src/DotNetOpenAuth.OpenId.Provider/OpenId/Provider/HmacShaAssociationProvider.cs index 3cfc0b6..7a5b662 100644 --- a/src/DotNetOpenAuth.OpenId.Provider/OpenId/Provider/HmacShaAssociationProvider.cs +++ b/src/DotNetOpenAuth.OpenId.Provider/OpenId/Provider/HmacShaAssociationProvider.cs @@ -1,6 +1,6 @@ //----------------------------------------------------------------------- -// <copyright file="HmacShaAssociationProvider.cs" company="Andrew Arnott"> -// Copyright (c) Andrew Arnott. All rights reserved. +// <copyright file="HmacShaAssociationProvider.cs" company="Outercurve Foundation"> +// Copyright (c) Outercurve Foundation. All rights reserved. // </copyright> //----------------------------------------------------------------------- diff --git a/src/DotNetOpenAuth.OpenId.Provider/OpenId/Provider/HostProcessedRequest.cs b/src/DotNetOpenAuth.OpenId.Provider/OpenId/Provider/HostProcessedRequest.cs index 3647a63..67ecdb2 100644 --- a/src/DotNetOpenAuth.OpenId.Provider/OpenId/Provider/HostProcessedRequest.cs +++ b/src/DotNetOpenAuth.OpenId.Provider/OpenId/Provider/HostProcessedRequest.cs @@ -1,6 +1,6 @@ //----------------------------------------------------------------------- -// <copyright file="HostProcessedRequest.cs" company="Andrew Arnott"> -// Copyright (c) Andrew Arnott. All rights reserved. +// <copyright file="HostProcessedRequest.cs" company="Outercurve Foundation"> +// Copyright (c) Outercurve Foundation. All rights reserved. // </copyright> //----------------------------------------------------------------------- diff --git a/src/DotNetOpenAuth.OpenId.Provider/OpenId/Provider/IAnonymousRequest.cs b/src/DotNetOpenAuth.OpenId.Provider/OpenId/Provider/IAnonymousRequest.cs index ec2c175..d3f8a25 100644 --- a/src/DotNetOpenAuth.OpenId.Provider/OpenId/Provider/IAnonymousRequest.cs +++ b/src/DotNetOpenAuth.OpenId.Provider/OpenId/Provider/IAnonymousRequest.cs @@ -1,6 +1,6 @@ //----------------------------------------------------------------------- -// <copyright file="IAnonymousRequest.cs" company="Andrew Arnott"> -// Copyright (c) Andrew Arnott. All rights reserved. +// <copyright file="IAnonymousRequest.cs" company="Outercurve Foundation"> +// Copyright (c) Outercurve Foundation. All rights reserved. // </copyright> //----------------------------------------------------------------------- diff --git a/src/DotNetOpenAuth.OpenId.Provider/OpenId/Provider/IDirectedIdentityIdentifierProvider.cs b/src/DotNetOpenAuth.OpenId.Provider/OpenId/Provider/IDirectedIdentityIdentifierProvider.cs index 9197761..86c7e7c 100644 --- a/src/DotNetOpenAuth.OpenId.Provider/OpenId/Provider/IDirectedIdentityIdentifierProvider.cs +++ b/src/DotNetOpenAuth.OpenId.Provider/OpenId/Provider/IDirectedIdentityIdentifierProvider.cs @@ -1,6 +1,6 @@ //----------------------------------------------------------------------- -// <copyright file="IDirectedIdentityIdentifierProvider.cs" company="Andrew Arnott"> -// Copyright (c) Andrew Arnott. All rights reserved. +// <copyright file="IDirectedIdentityIdentifierProvider.cs" company="Outercurve Foundation"> +// Copyright (c) Outercurve Foundation. All rights reserved. // </copyright> //----------------------------------------------------------------------- diff --git a/src/DotNetOpenAuth.OpenId.Provider/OpenId/Provider/IErrorReporting.cs b/src/DotNetOpenAuth.OpenId.Provider/OpenId/Provider/IErrorReporting.cs index 1c73595..16a3e37 100644 --- a/src/DotNetOpenAuth.OpenId.Provider/OpenId/Provider/IErrorReporting.cs +++ b/src/DotNetOpenAuth.OpenId.Provider/OpenId/Provider/IErrorReporting.cs @@ -1,6 +1,6 @@ //----------------------------------------------------------------------- -// <copyright file="IErrorReporting.cs" company="Andrew Arnott"> -// Copyright (c) Andrew Arnott. All rights reserved. +// <copyright file="IErrorReporting.cs" company="Outercurve Foundation"> +// Copyright (c) Outercurve Foundation. All rights reserved. // </copyright> //----------------------------------------------------------------------- diff --git a/src/DotNetOpenAuth.OpenId.Provider/OpenId/Provider/IProviderAssociationStore.cs b/src/DotNetOpenAuth.OpenId.Provider/OpenId/Provider/IProviderAssociationStore.cs index 6c749f6..b23af2c 100644 --- a/src/DotNetOpenAuth.OpenId.Provider/OpenId/Provider/IProviderAssociationStore.cs +++ b/src/DotNetOpenAuth.OpenId.Provider/OpenId/Provider/IProviderAssociationStore.cs @@ -1,6 +1,6 @@ //----------------------------------------------------------------------- -// <copyright file="IProviderAssociationStore.cs" company="Andrew Arnott"> -// Copyright (c) Andrew Arnott. All rights reserved. +// <copyright file="IProviderAssociationStore.cs" company="Outercurve Foundation"> +// Copyright (c) Outercurve Foundation. All rights reserved. // </copyright> //----------------------------------------------------------------------- diff --git a/src/DotNetOpenAuth.OpenId.Provider/OpenId/Provider/OpenIdProvider.cs b/src/DotNetOpenAuth.OpenId.Provider/OpenId/Provider/OpenIdProvider.cs index 6b78098..f7e49f2 100644 --- a/src/DotNetOpenAuth.OpenId.Provider/OpenId/Provider/OpenIdProvider.cs +++ b/src/DotNetOpenAuth.OpenId.Provider/OpenId/Provider/OpenIdProvider.cs @@ -1,6 +1,6 @@ //----------------------------------------------------------------------- -// <copyright file="OpenIdProvider.cs" company="Andrew Arnott"> -// Copyright (c) Andrew Arnott. All rights reserved. +// <copyright file="OpenIdProvider.cs" company="Outercurve Foundation"> +// Copyright (c) Outercurve Foundation. All rights reserved. // </copyright> //----------------------------------------------------------------------- @@ -27,7 +27,7 @@ namespace DotNetOpenAuth.OpenId.Provider { /// </summary> [SuppressMessage("Microsoft.Maintainability", "CA1506:AvoidExcessiveClassCoupling", Justification = "By design")] [ContractVerification(true)] - public sealed class OpenIdProvider : IDisposable { + public sealed class OpenIdProvider : IDisposable, IOpenIdHost { /// <summary> /// The name of the key to use in the HttpApplication cache to store the /// instance of <see cref="StandardProviderApplicationStore"/> to use. @@ -40,6 +40,12 @@ namespace DotNetOpenAuth.OpenId.Provider { private readonly ObservableCollection<IProviderBehavior> behaviors = new ObservableCollection<IProviderBehavior>(); /// <summary> + /// The discovery service used to perform discovery on identifiers being sent in + /// unsolicited positive assertions. + /// </summary> + private readonly IdentifierDiscoveryServices discoveryServices; + + /// <summary> /// A type initializer that ensures that another type initializer runs in order to guarantee that /// types are serializable. /// </summary> @@ -57,12 +63,6 @@ namespace DotNetOpenAuth.OpenId.Provider { private ProviderSecuritySettings securitySettings; /// <summary> - /// The relying party used to perform discovery on identifiers being sent in - /// unsolicited positive assertions. - /// </summary> - private RP.OpenIdRelyingParty relyingParty; - - /// <summary> /// Initializes a new instance of the <see cref="OpenIdProvider"/> class. /// </summary> public OpenIdProvider() @@ -102,6 +102,7 @@ namespace DotNetOpenAuth.OpenId.Provider { this.AssociationStore = new SwitchingAssociationStore(cryptoKeyStore, this.SecuritySettings); this.Channel = new OpenIdProviderChannel(this.AssociationStore, nonceStore, this.SecuritySettings); this.CryptoKeyStore = cryptoKeyStore; + this.discoveryServices = new IdentifierDiscoveryServices(this); Reporting.RecordFeatureAndDependencyUse(this, nonceStore); } @@ -154,6 +155,13 @@ namespace DotNetOpenAuth.OpenId.Provider { } /// <summary> + /// Gets the security settings. + /// </summary> + SecuritySettings IOpenIdHost.SecuritySettings { + get { return this.SecuritySettings; } + } + + /// <summary> /// Gets the extension factories. /// </summary> public IList<IOpenIdExtensionFactory> ExtensionFactories { @@ -183,6 +191,14 @@ namespace DotNetOpenAuth.OpenId.Provider { public ICryptoKeyStore CryptoKeyStore { get; private set; } /// <summary> + /// Gets the web request handler to use for discovery and the part of + /// authentication where direct messages are sent to an untrusted remote party. + /// </summary> + IDirectWebRequestHandler IOpenIdHost.WebRequestHandler { + get { return this.Channel.WebRequestHandler; } + } + + /// <summary> /// Gets the association store. /// </summary> internal IProviderAssociationStore AssociationStore { get; private set; } @@ -195,10 +211,10 @@ namespace DotNetOpenAuth.OpenId.Provider { } /// <summary> - /// Gets the list of services that can perform discovery on identifiers given to this relying party. + /// Gets the list of services that can perform discovery on identifiers given. /// </summary> internal IList<IIdentifierDiscoveryService> DiscoveryServices { - get { return this.RelyingParty.DiscoveryServices; } + get { return this.discoveryServices.DiscoveryServices; } } /// <summary> @@ -210,25 +226,6 @@ namespace DotNetOpenAuth.OpenId.Provider { } /// <summary> - /// Gets the relying party used for discovery of identifiers sent in unsolicited assertions. - /// </summary> - private RP.OpenIdRelyingParty RelyingParty { - get { - if (this.relyingParty == null) { - lock (this) { - if (this.relyingParty == null) { - // we just need an RP that's capable of discovery, so stateless mode is fine. - this.relyingParty = new RP.OpenIdRelyingParty(null); - } - } - } - - this.relyingParty.Channel.WebRequestHandler = this.WebRequestHandler; - return this.relyingParty; - } - } - - /// <summary> /// Gets the incoming OpenID request if there is one, or null if none was detected. /// </summary> /// <returns>The request that the hosting Provider should possibly process and then transmit the response for.</returns> @@ -445,7 +442,7 @@ namespace DotNetOpenAuth.OpenId.Provider { // and make sure that it is tied to this OP and OP local identifier. if (this.SecuritySettings.UnsolicitedAssertionVerification != ProviderSecuritySettings.UnsolicitedAssertionVerificationLevel.NeverVerify) { var serviceEndpoint = IdentifierDiscoveryResult.CreateForClaimedIdentifier(claimedIdentifier, localIdentifier, new ProviderEndpointDescription(providerEndpoint, Protocol.Default.Version), null, null); - var discoveredEndpoints = this.RelyingParty.Discover(claimedIdentifier); + var discoveredEndpoints = this.discoveryServices.Discover(claimedIdentifier); if (!discoveredEndpoints.Contains(serviceEndpoint)) { Logger.OpenId.WarnFormat( "Failed to send unsolicited assertion for {0} because its discovered services did not include this endpoint: {1}{2}{1}Discovered endpoints: {1}{3}", @@ -506,10 +503,6 @@ namespace DotNetOpenAuth.OpenId.Provider { if (channel != null) { channel.Dispose(); } - - if (this.relyingParty != null) { - this.relyingParty.Dispose(); - } } } diff --git a/src/DotNetOpenAuth.OpenId.Provider/OpenId/Provider/OpenIdProviderUtilities.cs b/src/DotNetOpenAuth.OpenId.Provider/OpenId/Provider/OpenIdProviderUtilities.cs index cf525f1..ae7dede 100644 --- a/src/DotNetOpenAuth.OpenId.Provider/OpenId/Provider/OpenIdProviderUtilities.cs +++ b/src/DotNetOpenAuth.OpenId.Provider/OpenId/Provider/OpenIdProviderUtilities.cs @@ -1,6 +1,6 @@ //----------------------------------------------------------------------- -// <copyright file="OpenIdProviderUtilities.cs" company="Andrew Arnott"> -// Copyright (c) Andrew Arnott. All rights reserved. +// <copyright file="OpenIdProviderUtilities.cs" company="Outercurve Foundation"> +// Copyright (c) Outercurve Foundation. All rights reserved. // </copyright> //----------------------------------------------------------------------- diff --git a/src/DotNetOpenAuth.OpenId.Provider/OpenId/Provider/PrivatePersonalIdentifierProviderBase.cs b/src/DotNetOpenAuth.OpenId.Provider/OpenId/Provider/PrivatePersonalIdentifierProviderBase.cs index 9ebae1d..aaffa4c 100644 --- a/src/DotNetOpenAuth.OpenId.Provider/OpenId/Provider/PrivatePersonalIdentifierProviderBase.cs +++ b/src/DotNetOpenAuth.OpenId.Provider/OpenId/Provider/PrivatePersonalIdentifierProviderBase.cs @@ -1,6 +1,6 @@ //----------------------------------------------------------------------- -// <copyright file="PrivatePersonalIdentifierProviderBase.cs" company="Andrew Arnott"> -// Copyright (c) Andrew Arnott. All rights reserved. +// <copyright file="PrivatePersonalIdentifierProviderBase.cs" company="Outercurve Foundation"> +// Copyright (c) Outercurve Foundation. All rights reserved. // </copyright> //----------------------------------------------------------------------- diff --git a/src/DotNetOpenAuth.OpenId.Provider/OpenId/Provider/ProviderAssociationHandleEncoder.cs b/src/DotNetOpenAuth.OpenId.Provider/OpenId/Provider/ProviderAssociationHandleEncoder.cs index 0e7c174..916740c 100644 --- a/src/DotNetOpenAuth.OpenId.Provider/OpenId/Provider/ProviderAssociationHandleEncoder.cs +++ b/src/DotNetOpenAuth.OpenId.Provider/OpenId/Provider/ProviderAssociationHandleEncoder.cs @@ -1,6 +1,6 @@ //----------------------------------------------------------------------- -// <copyright file="ProviderAssociationHandleEncoder.cs" company="Andrew Arnott"> -// Copyright (c) Andrew Arnott. All rights reserved. +// <copyright file="ProviderAssociationHandleEncoder.cs" company="Outercurve Foundation"> +// Copyright (c) Outercurve Foundation. All rights reserved. // </copyright> //----------------------------------------------------------------------- diff --git a/src/DotNetOpenAuth.OpenId.Provider/OpenId/Provider/ProviderAssociationKeyStorage.cs b/src/DotNetOpenAuth.OpenId.Provider/OpenId/Provider/ProviderAssociationKeyStorage.cs index 179699a..0786828 100644 --- a/src/DotNetOpenAuth.OpenId.Provider/OpenId/Provider/ProviderAssociationKeyStorage.cs +++ b/src/DotNetOpenAuth.OpenId.Provider/OpenId/Provider/ProviderAssociationKeyStorage.cs @@ -1,6 +1,6 @@ //----------------------------------------------------------------------- -// <copyright file="ProviderAssociationKeyStorage.cs" company="Andrew Arnott"> -// Copyright (c) Andrew Arnott. All rights reserved. +// <copyright file="ProviderAssociationKeyStorage.cs" company="Outercurve Foundation"> +// Copyright (c) Outercurve Foundation. All rights reserved. // </copyright> //----------------------------------------------------------------------- diff --git a/src/DotNetOpenAuth.OpenId.Provider/OpenId/Provider/Request.cs b/src/DotNetOpenAuth.OpenId.Provider/OpenId/Provider/Request.cs index c5b6dac..21c1b51 100644 --- a/src/DotNetOpenAuth.OpenId.Provider/OpenId/Provider/Request.cs +++ b/src/DotNetOpenAuth.OpenId.Provider/OpenId/Provider/Request.cs @@ -1,6 +1,6 @@ //----------------------------------------------------------------------- -// <copyright file="Request.cs" company="Andrew Arnott"> -// Copyright (c) Andrew Arnott. All rights reserved. +// <copyright file="Request.cs" company="Outercurve Foundation"> +// Copyright (c) Outercurve Foundation. All rights reserved. // </copyright> //----------------------------------------------------------------------- diff --git a/src/DotNetOpenAuth.OpenId.Provider/OpenId/Provider/RequestContract.cs b/src/DotNetOpenAuth.OpenId.Provider/OpenId/Provider/RequestContract.cs index ae7104c..aa692d3 100644 --- a/src/DotNetOpenAuth.OpenId.Provider/OpenId/Provider/RequestContract.cs +++ b/src/DotNetOpenAuth.OpenId.Provider/OpenId/Provider/RequestContract.cs @@ -1,6 +1,6 @@ //----------------------------------------------------------------------- -// <copyright file="RequestContract.cs" company="Andrew Arnott"> -// Copyright (c) Andrew Arnott. All rights reserved. +// <copyright file="RequestContract.cs" company="Outercurve Foundation"> +// Copyright (c) Outercurve Foundation. All rights reserved. // </copyright> //----------------------------------------------------------------------- diff --git a/src/DotNetOpenAuth.OpenId.Provider/OpenId/Provider/StandardProviderApplicationStore.cs b/src/DotNetOpenAuth.OpenId.Provider/OpenId/Provider/StandardProviderApplicationStore.cs index b5880d3..9bb94ea 100644 --- a/src/DotNetOpenAuth.OpenId.Provider/OpenId/Provider/StandardProviderApplicationStore.cs +++ b/src/DotNetOpenAuth.OpenId.Provider/OpenId/Provider/StandardProviderApplicationStore.cs @@ -1,6 +1,6 @@ //----------------------------------------------------------------------- -// <copyright file="StandardProviderApplicationStore.cs" company="Andrew Arnott"> -// Copyright (c) Andrew Arnott. All rights reserved. +// <copyright file="StandardProviderApplicationStore.cs" company="Outercurve Foundation"> +// Copyright (c) Outercurve Foundation. All rights reserved. // </copyright> //----------------------------------------------------------------------- diff --git a/src/DotNetOpenAuth.OpenId.Provider/Properties/AssemblyInfo.cs b/src/DotNetOpenAuth.OpenId.Provider/Properties/AssemblyInfo.cs index c90d56f..2db1016 100644 --- a/src/DotNetOpenAuth.OpenId.Provider/Properties/AssemblyInfo.cs +++ b/src/DotNetOpenAuth.OpenId.Provider/Properties/AssemblyInfo.cs @@ -1,6 +1,6 @@ //----------------------------------------------------------------------- -// <copyright file="AssemblyInfo.cs" company="Andrew Arnott"> -// Copyright (c) Andrew Arnott. All rights reserved. +// <copyright file="AssemblyInfo.cs" company="Outercurve Foundation"> +// Copyright (c) Outercurve Foundation. All rights reserved. // </copyright> //----------------------------------------------------------------------- @@ -25,7 +25,7 @@ using System.Web.UI; [assembly: AssemblyConfiguration("")] [assembly: AssemblyCompany("")] [assembly: AssemblyProduct("DotNetOpenAuth")] -[assembly: AssemblyCopyright("Copyright © 2008")] +[assembly: AssemblyCopyright("Copyright © 2011 Outercurve Foundation")] [assembly: AssemblyTrademark("")] [assembly: AssemblyCulture("")] [assembly: NeutralResourcesLanguage("en-US")] diff --git a/src/DotNetOpenAuth.OpenId.RelyingParty.UI/ComponentModel/IdentifierConverter.cs b/src/DotNetOpenAuth.OpenId.RelyingParty.UI/ComponentModel/IdentifierConverter.cs index 61c0fd8..ca0f9ba 100644 --- a/src/DotNetOpenAuth.OpenId.RelyingParty.UI/ComponentModel/IdentifierConverter.cs +++ b/src/DotNetOpenAuth.OpenId.RelyingParty.UI/ComponentModel/IdentifierConverter.cs @@ -1,6 +1,6 @@ //----------------------------------------------------------------------- -// <copyright file="IdentifierConverter.cs" company="Andrew Arnott"> -// Copyright (c) Andrew Arnott. All rights reserved. +// <copyright file="IdentifierConverter.cs" company="Outercurve Foundation"> +// Copyright (c) Outercurve Foundation. All rights reserved. // </copyright> //----------------------------------------------------------------------- diff --git a/src/DotNetOpenAuth.OpenId.RelyingParty.UI/OpenId/Mvc/OpenIdAjaxOptions.cs b/src/DotNetOpenAuth.OpenId.RelyingParty.UI/OpenId/Mvc/OpenIdAjaxOptions.cs index 4b88d04..3576668 100644 --- a/src/DotNetOpenAuth.OpenId.RelyingParty.UI/OpenId/Mvc/OpenIdAjaxOptions.cs +++ b/src/DotNetOpenAuth.OpenId.RelyingParty.UI/OpenId/Mvc/OpenIdAjaxOptions.cs @@ -1,6 +1,6 @@ //----------------------------------------------------------------------- -// <copyright file="OpenIdAjaxOptions.cs" company="Andrew Arnott"> -// Copyright (c) Andrew Arnott. All rights reserved. +// <copyright file="OpenIdAjaxOptions.cs" company="Outercurve Foundation"> +// Copyright (c) Outercurve Foundation. All rights reserved. // </copyright> //----------------------------------------------------------------------- diff --git a/src/DotNetOpenAuth.OpenId.RelyingParty.UI/OpenId/Mvc/OpenIdHelper.cs b/src/DotNetOpenAuth.OpenId.RelyingParty.UI/OpenId/Mvc/OpenIdHelper.cs index 3325084..0573e0a 100644 --- a/src/DotNetOpenAuth.OpenId.RelyingParty.UI/OpenId/Mvc/OpenIdHelper.cs +++ b/src/DotNetOpenAuth.OpenId.RelyingParty.UI/OpenId/Mvc/OpenIdHelper.cs @@ -1,6 +1,6 @@ //----------------------------------------------------------------------- -// <copyright file="OpenIdHelper.cs" company="Andrew Arnott"> -// Copyright (c) Andrew Arnott. All rights reserved. +// <copyright file="OpenIdHelper.cs" company="Outercurve Foundation"> +// Copyright (c) Outercurve Foundation. All rights reserved. // </copyright> //----------------------------------------------------------------------- @@ -32,6 +32,7 @@ namespace DotNetOpenAuth.Mvc { /// </summary> /// <param name="html">The <see cref="HtmlHelper"/> on the view.</param> /// <returns>HTML that should be sent directly to the browser.</returns> + [SuppressMessage("Microsoft.Reliability", "CA2000:Dispose objects before losing scope", Justification = "False positive.")] public static string OpenIdSelectorStyles(this HtmlHelper html) { Requires.NotNull(html, "html"); Contract.Ensures(Contract.Result<string>() != null); @@ -240,6 +241,7 @@ window.openid_trace = {1}; // causes lots of messages"; /// <returns> /// HTML that should be sent directly to the browser. /// </returns> + [SuppressMessage("Microsoft.Reliability", "CA2000:Dispose objects before losing scope", Justification = "False positive.")] [SuppressMessage("Microsoft.Usage", "CA2202:Do not dispose objects multiple times", Justification = "Not a problem for this type.")] public static string OpenIdSelector(this HtmlHelper html, params SelectorButton[] buttons) { Requires.NotNull(html, "html"); @@ -306,6 +308,7 @@ window.openid_trace = {1}; // causes lots of messages"; /// HTML that should be sent directly to the browser. /// </returns> [SuppressMessage("Microsoft.Usage", "CA2202:Do not dispose objects multiple times", Justification = "Not a problem for this type.")] + [SuppressMessage("Microsoft.Reliability", "CA2000:Dispose objects before losing scope", Justification = "False positive.")] private static string OpenIdSelectorButton(this HtmlHelper html, string id, string cssClass, string imageUrl) { Requires.NotNull(html, "html"); Requires.NotNull(id, "id"); diff --git a/src/DotNetOpenAuth.OpenId.RelyingParty.UI/OpenId/RelyingParty/OpenIdAjaxRelyingParty.cs b/src/DotNetOpenAuth.OpenId.RelyingParty.UI/OpenId/RelyingParty/OpenIdAjaxRelyingParty.cs index 8e915cd..ef6894b 100644 --- a/src/DotNetOpenAuth.OpenId.RelyingParty.UI/OpenId/RelyingParty/OpenIdAjaxRelyingParty.cs +++ b/src/DotNetOpenAuth.OpenId.RelyingParty.UI/OpenId/RelyingParty/OpenIdAjaxRelyingParty.cs @@ -1,6 +1,6 @@ //----------------------------------------------------------------------- -// <copyright file="OpenIdAjaxRelyingParty.cs" company="Andrew Arnott"> -// Copyright (c) Andrew Arnott. All rights reserved. +// <copyright file="OpenIdAjaxRelyingParty.cs" company="Outercurve Foundation"> +// Copyright (c) Outercurve Foundation. All rights reserved. // </copyright> //----------------------------------------------------------------------- diff --git a/src/DotNetOpenAuth.OpenId.RelyingParty.UI/OpenId/RelyingParty/OpenIdAjaxTextBox.cs b/src/DotNetOpenAuth.OpenId.RelyingParty.UI/OpenId/RelyingParty/OpenIdAjaxTextBox.cs index 5440be8..d00f920 100644 --- a/src/DotNetOpenAuth.OpenId.RelyingParty.UI/OpenId/RelyingParty/OpenIdAjaxTextBox.cs +++ b/src/DotNetOpenAuth.OpenId.RelyingParty.UI/OpenId/RelyingParty/OpenIdAjaxTextBox.cs @@ -1,6 +1,6 @@ //----------------------------------------------------------------------- -// <copyright file="OpenIdAjaxTextBox.cs" company="Andrew Arnott"> -// Copyright (c) Andrew Arnott. All rights reserved. +// <copyright file="OpenIdAjaxTextBox.cs" company="Outercurve Foundation"> +// Copyright (c) Outercurve Foundation. All rights reserved. // </copyright> //----------------------------------------------------------------------- @@ -722,7 +722,7 @@ namespace DotNetOpenAuth.OpenId.RelyingParty { var css = new HtmlLink(); try { - css.Href = this.Page.ClientScript.GetWebResourceUrl(this.GetType(), EmbeddedStylesheetResourceName); + css.Href = this.Page.ClientScript.GetWebResourceUrl(typeof(OpenIdAjaxTextBox), EmbeddedStylesheetResourceName); css.Attributes["rel"] = "stylesheet"; css.Attributes["type"] = "text/css"; ErrorUtilities.VerifyHost(this.Page.Header != null, OpenIdStrings.HeadTagMustIncludeRunatServer); @@ -838,10 +838,10 @@ namespace DotNetOpenAuth.OpenId.RelyingParty { startupScript.AppendFormat( CultureInfo.InvariantCulture, "initAjaxOpenId(box, {0}, {1}, {2}, {3}, {4}, {5}, {6}, {7}, {8}, {9}, {10}, {11}, {12}, {13}, {14}, {15}, {16}, {17}, {18}, {19}, function() {{{20};}});{21}", - MessagingUtilities.GetSafeJavascriptValue(this.Page.ClientScript.GetWebResourceUrl(this.GetType(), OpenIdTextBox.EmbeddedLogoResourceName)), - MessagingUtilities.GetSafeJavascriptValue(this.Page.ClientScript.GetWebResourceUrl(this.GetType(), EmbeddedSpinnerResourceName)), - MessagingUtilities.GetSafeJavascriptValue(this.Page.ClientScript.GetWebResourceUrl(this.GetType(), EmbeddedLoginSuccessResourceName)), - MessagingUtilities.GetSafeJavascriptValue(this.Page.ClientScript.GetWebResourceUrl(this.GetType(), EmbeddedLoginFailureResourceName)), + MessagingUtilities.GetSafeJavascriptValue(this.Page.ClientScript.GetWebResourceUrl(typeof(OpenIdAjaxTextBox), OpenIdTextBox.EmbeddedLogoResourceName)), + MessagingUtilities.GetSafeJavascriptValue(this.Page.ClientScript.GetWebResourceUrl(typeof(OpenIdAjaxTextBox), EmbeddedSpinnerResourceName)), + MessagingUtilities.GetSafeJavascriptValue(this.Page.ClientScript.GetWebResourceUrl(typeof(OpenIdAjaxTextBox), EmbeddedLoginSuccessResourceName)), + MessagingUtilities.GetSafeJavascriptValue(this.Page.ClientScript.GetWebResourceUrl(typeof(OpenIdAjaxTextBox), EmbeddedLoginFailureResourceName)), this.Throttle, this.Timeout.TotalMilliseconds, string.IsNullOrEmpty(this.OnClientAssertionReceived) ? "null" : "'" + this.OnClientAssertionReceived.Replace(@"\", @"\\").Replace("'", @"\'") + "'", diff --git a/src/DotNetOpenAuth.OpenId.RelyingParty.UI/OpenId/RelyingParty/OpenIdAjaxTextBox.js b/src/DotNetOpenAuth.OpenId.RelyingParty.UI/OpenId/RelyingParty/OpenIdAjaxTextBox.js index 9907b4e..e46381a 100644 --- a/src/DotNetOpenAuth.OpenId.RelyingParty.UI/OpenId/RelyingParty/OpenIdAjaxTextBox.js +++ b/src/DotNetOpenAuth.OpenId.RelyingParty.UI/OpenId/RelyingParty/OpenIdAjaxTextBox.js @@ -1,6 +1,6 @@ //----------------------------------------------------------------------- -// <copyright file="OpenIdAjaxTextBox.js" company="Andrew Arnott"> -// Copyright (c) Andrew Arnott. All rights reserved. +// <copyright file="OpenIdAjaxTextBox.js" company="Outercurve Foundation> +// Copyright (c) Outercurve Foundation. All rights reserved. // This file may be used and redistributed under the terms of the // Microsoft Public License (Ms-PL) http://opensource.org/licenses/ms-pl.html // </copyright> diff --git a/src/DotNetOpenAuth.OpenId.RelyingParty.UI/OpenId/RelyingParty/OpenIdButton.cs b/src/DotNetOpenAuth.OpenId.RelyingParty.UI/OpenId/RelyingParty/OpenIdButton.cs index 6243917..505461a 100644 --- a/src/DotNetOpenAuth.OpenId.RelyingParty.UI/OpenId/RelyingParty/OpenIdButton.cs +++ b/src/DotNetOpenAuth.OpenId.RelyingParty.UI/OpenId/RelyingParty/OpenIdButton.cs @@ -1,6 +1,6 @@ //----------------------------------------------------------------------- -// <copyright file="OpenIdButton.cs" company="Andrew Arnott"> -// Copyright (c) Andrew Arnott. All rights reserved. +// <copyright file="OpenIdButton.cs" company="Outercurve Foundation"> +// Copyright (c) Outercurve Foundation. All rights reserved. // </copyright> //----------------------------------------------------------------------- diff --git a/src/DotNetOpenAuth.OpenId.RelyingParty.UI/OpenId/RelyingParty/OpenIdEventArgs.cs b/src/DotNetOpenAuth.OpenId.RelyingParty.UI/OpenId/RelyingParty/OpenIdEventArgs.cs index cf38b61..8b91b14 100644 --- a/src/DotNetOpenAuth.OpenId.RelyingParty.UI/OpenId/RelyingParty/OpenIdEventArgs.cs +++ b/src/DotNetOpenAuth.OpenId.RelyingParty.UI/OpenId/RelyingParty/OpenIdEventArgs.cs @@ -1,6 +1,6 @@ //----------------------------------------------------------------------- -// <copyright file="OpenIdEventArgs.cs" company="Andrew Arnott"> -// Copyright (c) Andrew Arnott. All rights reserved. +// <copyright file="OpenIdEventArgs.cs" company="Outercurve Foundation"> +// Copyright (c) Outercurve Foundation. All rights reserved. // </copyright> //----------------------------------------------------------------------- diff --git a/src/DotNetOpenAuth.OpenId.RelyingParty.UI/OpenId/RelyingParty/OpenIdLogin.cs b/src/DotNetOpenAuth.OpenId.RelyingParty.UI/OpenId/RelyingParty/OpenIdLogin.cs index e65b3f4..ffb619a 100644 --- a/src/DotNetOpenAuth.OpenId.RelyingParty.UI/OpenId/RelyingParty/OpenIdLogin.cs +++ b/src/DotNetOpenAuth.OpenId.RelyingParty.UI/OpenId/RelyingParty/OpenIdLogin.cs @@ -1,6 +1,6 @@ //----------------------------------------------------------------------- -// <copyright file="OpenIdLogin.cs" company="Andrew Arnott"> -// Copyright (c) Andrew Arnott. All rights reserved. +// <copyright file="OpenIdLogin.cs" company="Outercurve Foundation"> +// Copyright (c) Outercurve Foundation. All rights reserved. // </copyright> //----------------------------------------------------------------------- diff --git a/src/DotNetOpenAuth.OpenId.RelyingParty.UI/OpenId/RelyingParty/OpenIdMobileTextBox.cs b/src/DotNetOpenAuth.OpenId.RelyingParty.UI/OpenId/RelyingParty/OpenIdMobileTextBox.cs index d4b6769..baf8b44 100644 --- a/src/DotNetOpenAuth.OpenId.RelyingParty.UI/OpenId/RelyingParty/OpenIdMobileTextBox.cs +++ b/src/DotNetOpenAuth.OpenId.RelyingParty.UI/OpenId/RelyingParty/OpenIdMobileTextBox.cs @@ -1,6 +1,6 @@ //----------------------------------------------------------------------- -// <copyright file="OpenIdMobileTextBox.cs" company="Andrew Arnott"> -// Copyright (c) Andrew Arnott. All rights reserved. +// <copyright file="OpenIdMobileTextBox.cs" company="Outercurve Foundation"> +// Copyright (c) Outercurve Foundation. All rights reserved. // </copyright> //----------------------------------------------------------------------- diff --git a/src/DotNetOpenAuth.OpenId.RelyingParty.UI/OpenId/RelyingParty/OpenIdRelyingPartyAjaxControlBase.cs b/src/DotNetOpenAuth.OpenId.RelyingParty.UI/OpenId/RelyingParty/OpenIdRelyingPartyAjaxControlBase.cs index e83cf0e..acd8c50 100644 --- a/src/DotNetOpenAuth.OpenId.RelyingParty.UI/OpenId/RelyingParty/OpenIdRelyingPartyAjaxControlBase.cs +++ b/src/DotNetOpenAuth.OpenId.RelyingParty.UI/OpenId/RelyingParty/OpenIdRelyingPartyAjaxControlBase.cs @@ -1,6 +1,6 @@ //----------------------------------------------------------------------- -// <copyright file="OpenIdRelyingPartyAjaxControlBase.cs" company="Andrew Arnott"> -// Copyright (c) Andrew Arnott. All rights reserved. +// <copyright file="OpenIdRelyingPartyAjaxControlBase.cs" company="Outercurve Foundation"> +// Copyright (c) Outercurve Foundation. All rights reserved. // </copyright> //----------------------------------------------------------------------- diff --git a/src/DotNetOpenAuth.OpenId.RelyingParty.UI/OpenId/RelyingParty/OpenIdRelyingPartyAjaxControlBase.js b/src/DotNetOpenAuth.OpenId.RelyingParty.UI/OpenId/RelyingParty/OpenIdRelyingPartyAjaxControlBase.js index 4de5188..1543e0a 100644 --- a/src/DotNetOpenAuth.OpenId.RelyingParty.UI/OpenId/RelyingParty/OpenIdRelyingPartyAjaxControlBase.js +++ b/src/DotNetOpenAuth.OpenId.RelyingParty.UI/OpenId/RelyingParty/OpenIdRelyingPartyAjaxControlBase.js @@ -1,6 +1,6 @@ //----------------------------------------------------------------------- -// <copyright file="OpenIdRelyingPartyAjaxControlBase.js" company="Andrew Arnott"> -// Copyright (c) Andrew Arnott. All rights reserved. +// <copyright file="OpenIdRelyingPartyAjaxControlBase.js" company="Outercurve Foundation> +// Copyright (c) Outercurve Foundation. All rights reserved. // This file may be used and redistributed under the terms of the // Microsoft Public License (Ms-PL) http://opensource.org/licenses/ms-pl.html // </copyright> diff --git a/src/DotNetOpenAuth.OpenId.RelyingParty.UI/OpenId/RelyingParty/OpenIdRelyingPartyControlBase.cs b/src/DotNetOpenAuth.OpenId.RelyingParty.UI/OpenId/RelyingParty/OpenIdRelyingPartyControlBase.cs index c86ee1d..dfac2be 100644 --- a/src/DotNetOpenAuth.OpenId.RelyingParty.UI/OpenId/RelyingParty/OpenIdRelyingPartyControlBase.cs +++ b/src/DotNetOpenAuth.OpenId.RelyingParty.UI/OpenId/RelyingParty/OpenIdRelyingPartyControlBase.cs @@ -1,6 +1,6 @@ //----------------------------------------------------------------------- -// <copyright file="OpenIdRelyingPartyControlBase.cs" company="Andrew Arnott"> -// Copyright (c) Andrew Arnott. All rights reserved. +// <copyright file="OpenIdRelyingPartyControlBase.cs" company="Outercurve Foundation"> +// Copyright (c) Outercurve Foundation. All rights reserved. // </copyright> //----------------------------------------------------------------------- diff --git a/src/DotNetOpenAuth.OpenId.RelyingParty.UI/OpenId/RelyingParty/OpenIdRelyingPartyControlBase.js b/src/DotNetOpenAuth.OpenId.RelyingParty.UI/OpenId/RelyingParty/OpenIdRelyingPartyControlBase.js index 58b283d..5e9dd29 100644 --- a/src/DotNetOpenAuth.OpenId.RelyingParty.UI/OpenId/RelyingParty/OpenIdRelyingPartyControlBase.js +++ b/src/DotNetOpenAuth.OpenId.RelyingParty.UI/OpenId/RelyingParty/OpenIdRelyingPartyControlBase.js @@ -1,6 +1,6 @@ //----------------------------------------------------------------------- -// <copyright file="OpenIdRelyingPartyControlBase.js" company="Andrew Arnott"> -// Copyright (c) Andrew Arnott. All rights reserved. +// <copyright file="OpenIdRelyingPartyControlBase.js" company="Outercurve Foundation> +// Copyright (c) Outercurve Foundation. All rights reserved. // This file may be used and redistributed under the terms of the // Microsoft Public License (Ms-PL) http://opensource.org/licenses/ms-pl.html // </copyright> diff --git a/src/DotNetOpenAuth.OpenId.RelyingParty.UI/OpenId/RelyingParty/OpenIdSelector.cs b/src/DotNetOpenAuth.OpenId.RelyingParty.UI/OpenId/RelyingParty/OpenIdSelector.cs index e666e4e..91ff8c8 100644 --- a/src/DotNetOpenAuth.OpenId.RelyingParty.UI/OpenId/RelyingParty/OpenIdSelector.cs +++ b/src/DotNetOpenAuth.OpenId.RelyingParty.UI/OpenId/RelyingParty/OpenIdSelector.cs @@ -1,6 +1,6 @@ //----------------------------------------------------------------------- -// <copyright file="OpenIdSelector.cs" company="Andrew Arnott"> -// Copyright (c) Andrew Arnott. All rights reserved. +// <copyright file="OpenIdSelector.cs" company="Outercurve Foundation"> +// Copyright (c) Outercurve Foundation. All rights reserved. // </copyright> //----------------------------------------------------------------------- @@ -289,7 +289,7 @@ namespace DotNetOpenAuth.OpenId.RelyingParty { var css = new HtmlLink(); try { - css.Href = this.Page.ClientScript.GetWebResourceUrl(this.GetType(), EmbeddedStylesheetResourceName); + css.Href = this.Page.ClientScript.GetWebResourceUrl(typeof(OpenIdSelector), EmbeddedStylesheetResourceName); css.Attributes["rel"] = "stylesheet"; css.Attributes["type"] = "text/css"; ErrorUtilities.VerifyHost(this.Page.Header != null, OpenIdStrings.HeadTagMustIncludeRunatServer); diff --git a/src/DotNetOpenAuth.OpenId.RelyingParty.UI/OpenId/RelyingParty/OpenIdSelector.js b/src/DotNetOpenAuth.OpenId.RelyingParty.UI/OpenId/RelyingParty/OpenIdSelector.js index 297ea23..f397097 100644 --- a/src/DotNetOpenAuth.OpenId.RelyingParty.UI/OpenId/RelyingParty/OpenIdSelector.js +++ b/src/DotNetOpenAuth.OpenId.RelyingParty.UI/OpenId/RelyingParty/OpenIdSelector.js @@ -1,6 +1,6 @@ //----------------------------------------------------------------------- -// <copyright file="OpenIdSelector.js" company="Andrew Arnott"> -// Copyright (c) Andrew Arnott. All rights reserved. +// <copyright file="OpenIdSelector.js" company="Outercurve Foundation> +// Copyright (c) Outercurve Foundation. All rights reserved. // This file may be used and redistributed under the terms of the // Microsoft Public License (Ms-PL) http://opensource.org/licenses/ms-pl.html // </copyright> diff --git a/src/DotNetOpenAuth.OpenId.RelyingParty.UI/OpenId/RelyingParty/OpenIdTextBox.cs b/src/DotNetOpenAuth.OpenId.RelyingParty.UI/OpenId/RelyingParty/OpenIdTextBox.cs index 1dea39a..a8af6e0 100644 --- a/src/DotNetOpenAuth.OpenId.RelyingParty.UI/OpenId/RelyingParty/OpenIdTextBox.cs +++ b/src/DotNetOpenAuth.OpenId.RelyingParty.UI/OpenId/RelyingParty/OpenIdTextBox.cs @@ -1,6 +1,6 @@ //----------------------------------------------------------------------- -// <copyright file="OpenIdTextBox.cs" company="Andrew Arnott"> -// Copyright (c) Andrew Arnott. All rights reserved. +// <copyright file="OpenIdTextBox.cs" company="Outercurve Foundation"> +// Copyright (c) Outercurve Foundation. All rights reserved. // </copyright> //----------------------------------------------------------------------- diff --git a/src/DotNetOpenAuth.OpenId.RelyingParty.UI/OpenId/RelyingParty/PopupBehavior.cs b/src/DotNetOpenAuth.OpenId.RelyingParty.UI/OpenId/RelyingParty/PopupBehavior.cs index e84f4f5..ca8e8f0 100644 --- a/src/DotNetOpenAuth.OpenId.RelyingParty.UI/OpenId/RelyingParty/PopupBehavior.cs +++ b/src/DotNetOpenAuth.OpenId.RelyingParty.UI/OpenId/RelyingParty/PopupBehavior.cs @@ -1,6 +1,6 @@ //----------------------------------------------------------------------- -// <copyright file="PopupBehavior.cs" company="Andrew Arnott"> -// Copyright (c) Andrew Arnott. All rights reserved. +// <copyright file="PopupBehavior.cs" company="Outercurve Foundation"> +// Copyright (c) Outercurve Foundation. All rights reserved. // </copyright> //----------------------------------------------------------------------- diff --git a/src/DotNetOpenAuth.OpenId.RelyingParty.UI/OpenId/RelyingParty/SelectorButton.cs b/src/DotNetOpenAuth.OpenId.RelyingParty.UI/OpenId/RelyingParty/SelectorButton.cs index 0be3a5f..b4d0aa0 100644 --- a/src/DotNetOpenAuth.OpenId.RelyingParty.UI/OpenId/RelyingParty/SelectorButton.cs +++ b/src/DotNetOpenAuth.OpenId.RelyingParty.UI/OpenId/RelyingParty/SelectorButton.cs @@ -1,6 +1,6 @@ //----------------------------------------------------------------------- -// <copyright file="SelectorButton.cs" company="Andrew Arnott"> -// Copyright (c) Andrew Arnott. All rights reserved. +// <copyright file="SelectorButton.cs" company="Outercurve Foundation"> +// Copyright (c) Outercurve Foundation. All rights reserved. // </copyright> //----------------------------------------------------------------------- diff --git a/src/DotNetOpenAuth.OpenId.RelyingParty.UI/OpenId/RelyingParty/SelectorButtonContract.cs b/src/DotNetOpenAuth.OpenId.RelyingParty.UI/OpenId/RelyingParty/SelectorButtonContract.cs index 709ad2d..b57b73b 100644 --- a/src/DotNetOpenAuth.OpenId.RelyingParty.UI/OpenId/RelyingParty/SelectorButtonContract.cs +++ b/src/DotNetOpenAuth.OpenId.RelyingParty.UI/OpenId/RelyingParty/SelectorButtonContract.cs @@ -1,6 +1,6 @@ //----------------------------------------------------------------------- -// <copyright file="SelectorButtonContract.cs" company="Andrew Arnott"> -// Copyright (c) Andrew Arnott. All rights reserved. +// <copyright file="SelectorButtonContract.cs" company="Outercurve Foundation"> +// Copyright (c) Outercurve Foundation. All rights reserved. // </copyright> //----------------------------------------------------------------------- diff --git a/src/DotNetOpenAuth.OpenId.RelyingParty.UI/OpenId/RelyingParty/SelectorOpenIdButton.cs b/src/DotNetOpenAuth.OpenId.RelyingParty.UI/OpenId/RelyingParty/SelectorOpenIdButton.cs index 26b10e8..0041ad7 100644 --- a/src/DotNetOpenAuth.OpenId.RelyingParty.UI/OpenId/RelyingParty/SelectorOpenIdButton.cs +++ b/src/DotNetOpenAuth.OpenId.RelyingParty.UI/OpenId/RelyingParty/SelectorOpenIdButton.cs @@ -1,6 +1,6 @@ //----------------------------------------------------------------------- -// <copyright file="SelectorOpenIdButton.cs" company="Andrew Arnott"> -// Copyright (c) Andrew Arnott. All rights reserved. +// <copyright file="SelectorOpenIdButton.cs" company="Outercurve Foundation"> +// Copyright (c) Outercurve Foundation. All rights reserved. // </copyright> //----------------------------------------------------------------------- diff --git a/src/DotNetOpenAuth.OpenId.RelyingParty.UI/OpenId/RelyingParty/SelectorProviderButton.cs b/src/DotNetOpenAuth.OpenId.RelyingParty.UI/OpenId/RelyingParty/SelectorProviderButton.cs index efd6c50..7c71a37 100644 --- a/src/DotNetOpenAuth.OpenId.RelyingParty.UI/OpenId/RelyingParty/SelectorProviderButton.cs +++ b/src/DotNetOpenAuth.OpenId.RelyingParty.UI/OpenId/RelyingParty/SelectorProviderButton.cs @@ -1,6 +1,6 @@ //----------------------------------------------------------------------- -// <copyright file="SelectorProviderButton.cs" company="Andrew Arnott"> -// Copyright (c) Andrew Arnott. All rights reserved. +// <copyright file="SelectorProviderButton.cs" company="Outercurve Foundation"> +// Copyright (c) Outercurve Foundation. All rights reserved. // </copyright> //----------------------------------------------------------------------- diff --git a/src/DotNetOpenAuth.OpenId.RelyingParty.UI/Properties/AssemblyInfo.cs b/src/DotNetOpenAuth.OpenId.RelyingParty.UI/Properties/AssemblyInfo.cs index 2b8f823..495c621 100644 --- a/src/DotNetOpenAuth.OpenId.RelyingParty.UI/Properties/AssemblyInfo.cs +++ b/src/DotNetOpenAuth.OpenId.RelyingParty.UI/Properties/AssemblyInfo.cs @@ -1,6 +1,6 @@ //----------------------------------------------------------------------- -// <copyright file="AssemblyInfo.cs" company="Andrew Arnott"> -// Copyright (c) Andrew Arnott. All rights reserved. +// <copyright file="AssemblyInfo.cs" company="Outercurve Foundation"> +// Copyright (c) Outercurve Foundation. All rights reserved. // </copyright> //----------------------------------------------------------------------- @@ -27,7 +27,7 @@ using System.Web.UI; [assembly: AssemblyConfiguration("")] [assembly: AssemblyCompany("")] [assembly: AssemblyProduct("DotNetOpenAuth")] -[assembly: AssemblyCopyright("Copyright © 2008")] +[assembly: AssemblyCopyright("Copyright © 2011 Outercurve Foundation")] [assembly: AssemblyTrademark("")] [assembly: AssemblyCulture("")] [assembly: NeutralResourcesLanguage("en-US")] diff --git a/src/DotNetOpenAuth.OpenId.RelyingParty/OpenId/ChannelElements/ExtensionsBindingElementRelyingParty.cs b/src/DotNetOpenAuth.OpenId.RelyingParty/OpenId/ChannelElements/ExtensionsBindingElementRelyingParty.cs index 099573d..fca62f8 100644 --- a/src/DotNetOpenAuth.OpenId.RelyingParty/OpenId/ChannelElements/ExtensionsBindingElementRelyingParty.cs +++ b/src/DotNetOpenAuth.OpenId.RelyingParty/OpenId/ChannelElements/ExtensionsBindingElementRelyingParty.cs @@ -1,6 +1,6 @@ //----------------------------------------------------------------------- -// <copyright file="ExtensionsBindingElementRelyingParty.cs" company="Andrew Arnott"> -// Copyright (c) Andrew Arnott. All rights reserved. +// <copyright file="ExtensionsBindingElementRelyingParty.cs" company="Outercurve Foundation"> +// Copyright (c) Outercurve Foundation. All rights reserved. // </copyright> //----------------------------------------------------------------------- diff --git a/src/DotNetOpenAuth.OpenId.RelyingParty/OpenId/ChannelElements/OpenIdRelyingPartyChannel.cs b/src/DotNetOpenAuth.OpenId.RelyingParty/OpenId/ChannelElements/OpenIdRelyingPartyChannel.cs index 4739d84..e18a103 100644 --- a/src/DotNetOpenAuth.OpenId.RelyingParty/OpenId/ChannelElements/OpenIdRelyingPartyChannel.cs +++ b/src/DotNetOpenAuth.OpenId.RelyingParty/OpenId/ChannelElements/OpenIdRelyingPartyChannel.cs @@ -1,6 +1,6 @@ //----------------------------------------------------------------------- -// <copyright file="OpenIdRelyingPartyChannel.cs" company="Andrew Arnott"> -// Copyright (c) Andrew Arnott. All rights reserved. +// <copyright file="OpenIdRelyingPartyChannel.cs" company="Outercurve Foundation"> +// Copyright (c) Outercurve Foundation. All rights reserved. // </copyright> //----------------------------------------------------------------------- diff --git a/src/DotNetOpenAuth.OpenId.RelyingParty/OpenId/ChannelElements/OpenIdRelyingPartyMessageFactory.cs b/src/DotNetOpenAuth.OpenId.RelyingParty/OpenId/ChannelElements/OpenIdRelyingPartyMessageFactory.cs index 9ec6c53..ea771e1 100644 --- a/src/DotNetOpenAuth.OpenId.RelyingParty/OpenId/ChannelElements/OpenIdRelyingPartyMessageFactory.cs +++ b/src/DotNetOpenAuth.OpenId.RelyingParty/OpenId/ChannelElements/OpenIdRelyingPartyMessageFactory.cs @@ -1,6 +1,6 @@ //----------------------------------------------------------------------- -// <copyright file="OpenIdRelyingPartyMessageFactory.cs" company="Andrew Arnott"> -// Copyright (c) Andrew Arnott. All rights reserved. +// <copyright file="OpenIdRelyingPartyMessageFactory.cs" company="Outercurve Foundation"> +// Copyright (c) Outercurve Foundation. All rights reserved. // </copyright> //----------------------------------------------------------------------- diff --git a/src/DotNetOpenAuth.OpenId.RelyingParty/OpenId/ChannelElements/RelyingPartySecurityOptions.cs b/src/DotNetOpenAuth.OpenId.RelyingParty/OpenId/ChannelElements/RelyingPartySecurityOptions.cs index d8fc103..b9328dd 100644 --- a/src/DotNetOpenAuth.OpenId.RelyingParty/OpenId/ChannelElements/RelyingPartySecurityOptions.cs +++ b/src/DotNetOpenAuth.OpenId.RelyingParty/OpenId/ChannelElements/RelyingPartySecurityOptions.cs @@ -1,6 +1,6 @@ //----------------------------------------------------------------------- -// <copyright file="RelyingPartySecurityOptions.cs" company="Andrew Arnott"> -// Copyright (c) Andrew Arnott. All rights reserved. +// <copyright file="RelyingPartySecurityOptions.cs" company="Outercurve Foundation"> +// Copyright (c) Outercurve Foundation. All rights reserved. // </copyright> //----------------------------------------------------------------------- diff --git a/src/DotNetOpenAuth.OpenId.RelyingParty/OpenId/ChannelElements/RelyingPartySigningBindingElement.cs b/src/DotNetOpenAuth.OpenId.RelyingParty/OpenId/ChannelElements/RelyingPartySigningBindingElement.cs index 4a3f5ee..81ce4e4 100644 --- a/src/DotNetOpenAuth.OpenId.RelyingParty/OpenId/ChannelElements/RelyingPartySigningBindingElement.cs +++ b/src/DotNetOpenAuth.OpenId.RelyingParty/OpenId/ChannelElements/RelyingPartySigningBindingElement.cs @@ -1,6 +1,6 @@ //----------------------------------------------------------------------- -// <copyright file="RelyingPartySigningBindingElement.cs" company="Andrew Arnott"> -// Copyright (c) Andrew Arnott. All rights reserved. +// <copyright file="RelyingPartySigningBindingElement.cs" company="Outercurve Foundation"> +// Copyright (c) Outercurve Foundation. All rights reserved. // </copyright> //----------------------------------------------------------------------- diff --git a/src/DotNetOpenAuth.OpenId.RelyingParty/OpenId/ChannelElements/ReturnToNonceBindingElement.cs b/src/DotNetOpenAuth.OpenId.RelyingParty/OpenId/ChannelElements/ReturnToNonceBindingElement.cs index 46cd103..2aa735a 100644 --- a/src/DotNetOpenAuth.OpenId.RelyingParty/OpenId/ChannelElements/ReturnToNonceBindingElement.cs +++ b/src/DotNetOpenAuth.OpenId.RelyingParty/OpenId/ChannelElements/ReturnToNonceBindingElement.cs @@ -1,6 +1,6 @@ //----------------------------------------------------------------------- -// <copyright file="ReturnToNonceBindingElement.cs" company="Andrew Arnott"> -// Copyright (c) Andrew Arnott. All rights reserved. +// <copyright file="ReturnToNonceBindingElement.cs" company="Outercurve Foundation"> +// Copyright (c) Outercurve Foundation. All rights reserved. // </copyright> //----------------------------------------------------------------------- @@ -47,12 +47,6 @@ namespace DotNetOpenAuth.OpenId.ChannelElements { /// </remarks> internal class ReturnToNonceBindingElement : IChannelBindingElement { /// <summary> - /// The parameter of the callback parameter we tack onto the return_to URL - /// to store the replay-detection nonce. - /// </summary> - internal const string NonceParameter = OpenIdUtilities.CustomParameterPrefix + "request_nonce"; - - /// <summary> /// The context within which return_to nonces must be unique -- they all go into the same bucket. /// </summary> private const string ReturnToNonceContext = "https://localhost/dnoa/return_to_nonce"; @@ -146,7 +140,7 @@ namespace DotNetOpenAuth.OpenId.ChannelElements { // We only add a nonce to some auth requests. SignedResponseRequest request = message as SignedResponseRequest; if (this.UseRequestNonce(request)) { - request.AddReturnToArguments(NonceParameter, CustomNonce.NewNonce().Serialize()); + request.AddReturnToArguments(Protocol.ReturnToNonceParameter, CustomNonce.NewNonce().Serialize()); request.SignReturnTo = true; // a nonce without a signature is completely pointless return MessageProtections.ReplayProtection; @@ -179,7 +173,7 @@ namespace DotNetOpenAuth.OpenId.ChannelElements { Logger.OpenId.Error("Incoming message is expected to have a nonce, but the return_to parameter is not signed."); } - string nonceValue = response.GetReturnToArgument(NonceParameter); + string nonceValue = response.GetReturnToArgument(Protocol.ReturnToNonceParameter); ErrorUtilities.VerifyProtocol( nonceValue != null && response.ReturnToParametersSignatureValidated, this.securitySettings.RejectUnsolicitedAssertions ? OpenIdStrings.UnsolicitedAssertionsNotAllowed : OpenIdStrings.UnsolicitedAssertionsNotAllowedFrom1xOPs); diff --git a/src/DotNetOpenAuth.OpenId.RelyingParty/OpenId/HostMetaDiscoveryService.cs b/src/DotNetOpenAuth.OpenId.RelyingParty/OpenId/HostMetaDiscoveryService.cs index 6d60030..450f9e0 100644 --- a/src/DotNetOpenAuth.OpenId.RelyingParty/OpenId/HostMetaDiscoveryService.cs +++ b/src/DotNetOpenAuth.OpenId.RelyingParty/OpenId/HostMetaDiscoveryService.cs @@ -1,6 +1,6 @@ //----------------------------------------------------------------------- -// <copyright file="HostMetaDiscoveryService.cs" company="Andrew Arnott"> -// Copyright (c) Andrew Arnott. All rights reserved. +// <copyright file="HostMetaDiscoveryService.cs" company="Outercurve Foundation"> +// Copyright (c) Outercurve Foundation. All rights reserved. // </copyright> //----------------------------------------------------------------------- diff --git a/src/DotNetOpenAuth.OpenId.RelyingParty/OpenId/Interop/AuthenticationResponseShim.cs b/src/DotNetOpenAuth.OpenId.RelyingParty/OpenId/Interop/AuthenticationResponseShim.cs index c0d2b35..e6d6609 100644 --- a/src/DotNetOpenAuth.OpenId.RelyingParty/OpenId/Interop/AuthenticationResponseShim.cs +++ b/src/DotNetOpenAuth.OpenId.RelyingParty/OpenId/Interop/AuthenticationResponseShim.cs @@ -1,6 +1,6 @@ //----------------------------------------------------------------------- -// <copyright file="AuthenticationResponseShim.cs" company="Andrew Arnott"> -// Copyright (c) Andrew Arnott. All rights reserved. +// <copyright file="AuthenticationResponseShim.cs" company="Outercurve Foundation"> +// Copyright (c) Outercurve Foundation. All rights reserved. // </copyright> //----------------------------------------------------------------------- diff --git a/src/DotNetOpenAuth.OpenId.RelyingParty/OpenId/Interop/ClaimsResponseShim.cs b/src/DotNetOpenAuth.OpenId.RelyingParty/OpenId/Interop/ClaimsResponseShim.cs index fa3b874..2569395 100644 --- a/src/DotNetOpenAuth.OpenId.RelyingParty/OpenId/Interop/ClaimsResponseShim.cs +++ b/src/DotNetOpenAuth.OpenId.RelyingParty/OpenId/Interop/ClaimsResponseShim.cs @@ -1,6 +1,6 @@ //----------------------------------------------------------------------- -// <copyright file="ClaimsResponseShim.cs" company="Andrew Arnott"> -// Copyright (c) Andrew Arnott. All rights reserved. +// <copyright file="ClaimsResponseShim.cs" company="Outercurve Foundation"> +// Copyright (c) Outercurve Foundation. All rights reserved. // </copyright> //----------------------------------------------------------------------- diff --git a/src/DotNetOpenAuth.OpenId.RelyingParty/OpenId/Interop/OpenIdRelyingPartyShim.cs b/src/DotNetOpenAuth.OpenId.RelyingParty/OpenId/Interop/OpenIdRelyingPartyShim.cs index 873aabe..97b3780 100644 --- a/src/DotNetOpenAuth.OpenId.RelyingParty/OpenId/Interop/OpenIdRelyingPartyShim.cs +++ b/src/DotNetOpenAuth.OpenId.RelyingParty/OpenId/Interop/OpenIdRelyingPartyShim.cs @@ -1,6 +1,6 @@ //----------------------------------------------------------------------- -// <copyright file="OpenIdRelyingPartyShim.cs" company="Andrew Arnott"> -// Copyright (c) Andrew Arnott. All rights reserved. +// <copyright file="OpenIdRelyingPartyShim.cs" company="Outercurve Foundation"> +// Copyright (c) Outercurve Foundation. All rights reserved. // </copyright> //----------------------------------------------------------------------- diff --git a/src/DotNetOpenAuth.OpenId.RelyingParty/OpenId/Messages/AssociateDiffieHellmanRelyingPartyResponse.cs b/src/DotNetOpenAuth.OpenId.RelyingParty/OpenId/Messages/AssociateDiffieHellmanRelyingPartyResponse.cs index 2112288..9464582 100644 --- a/src/DotNetOpenAuth.OpenId.RelyingParty/OpenId/Messages/AssociateDiffieHellmanRelyingPartyResponse.cs +++ b/src/DotNetOpenAuth.OpenId.RelyingParty/OpenId/Messages/AssociateDiffieHellmanRelyingPartyResponse.cs @@ -1,6 +1,6 @@ //----------------------------------------------------------------------- -// <copyright file="AssociateDiffieHellmanRelyingPartyResponse.cs" company="Andrew Arnott"> -// Copyright (c) Andrew Arnott. All rights reserved. +// <copyright file="AssociateDiffieHellmanRelyingPartyResponse.cs" company="Outercurve Foundation"> +// Copyright (c) Outercurve Foundation. All rights reserved. // </copyright> //----------------------------------------------------------------------- diff --git a/src/DotNetOpenAuth.OpenId.RelyingParty/OpenId/Messages/AssociateRequestRelyingParty.cs b/src/DotNetOpenAuth.OpenId.RelyingParty/OpenId/Messages/AssociateRequestRelyingParty.cs index 0e00963..28deb20 100644 --- a/src/DotNetOpenAuth.OpenId.RelyingParty/OpenId/Messages/AssociateRequestRelyingParty.cs +++ b/src/DotNetOpenAuth.OpenId.RelyingParty/OpenId/Messages/AssociateRequestRelyingParty.cs @@ -1,6 +1,6 @@ //----------------------------------------------------------------------- -// <copyright file="AssociateRequestRelyingParty.cs" company="Andrew Arnott"> -// Copyright (c) Andrew Arnott. All rights reserved. +// <copyright file="AssociateRequestRelyingParty.cs" company="Outercurve Foundation"> +// Copyright (c) Outercurve Foundation. All rights reserved. // </copyright> //----------------------------------------------------------------------- diff --git a/src/DotNetOpenAuth.OpenId.RelyingParty/OpenId/Messages/AssociateSuccessfulResponseRelyingPartyContract.cs b/src/DotNetOpenAuth.OpenId.RelyingParty/OpenId/Messages/AssociateSuccessfulResponseRelyingPartyContract.cs index 8999a2a..9da19d7 100644 --- a/src/DotNetOpenAuth.OpenId.RelyingParty/OpenId/Messages/AssociateSuccessfulResponseRelyingPartyContract.cs +++ b/src/DotNetOpenAuth.OpenId.RelyingParty/OpenId/Messages/AssociateSuccessfulResponseRelyingPartyContract.cs @@ -1,6 +1,6 @@ //----------------------------------------------------------------------- -// <copyright file="AssociateSuccessfulResponseRelyingPartyContract.cs" company="Andrew Arnott"> -// Copyright (c) Andrew Arnott. All rights reserved. +// <copyright file="AssociateSuccessfulResponseRelyingPartyContract.cs" company="Outercurve Foundation"> +// Copyright (c) Outercurve Foundation. All rights reserved. // </copyright> //----------------------------------------------------------------------- diff --git a/src/DotNetOpenAuth.OpenId.RelyingParty/OpenId/Messages/AssociateUnencryptedResponseRelyingParty.cs b/src/DotNetOpenAuth.OpenId.RelyingParty/OpenId/Messages/AssociateUnencryptedResponseRelyingParty.cs index b2a5e11..0491f6d 100644 --- a/src/DotNetOpenAuth.OpenId.RelyingParty/OpenId/Messages/AssociateUnencryptedResponseRelyingParty.cs +++ b/src/DotNetOpenAuth.OpenId.RelyingParty/OpenId/Messages/AssociateUnencryptedResponseRelyingParty.cs @@ -1,6 +1,6 @@ //----------------------------------------------------------------------- -// <copyright file="AssociateUnencryptedResponseRelyingParty.cs" company="Andrew Arnott"> -// Copyright (c) Andrew Arnott. All rights reserved. +// <copyright file="AssociateUnencryptedResponseRelyingParty.cs" company="Outercurve Foundation"> +// Copyright (c) Outercurve Foundation. All rights reserved. // </copyright> //----------------------------------------------------------------------- diff --git a/src/DotNetOpenAuth.OpenId.RelyingParty/OpenId/Messages/IAssociateSuccessfulResponseRelyingParty.cs b/src/DotNetOpenAuth.OpenId.RelyingParty/OpenId/Messages/IAssociateSuccessfulResponseRelyingParty.cs index a3eef44..0c81550 100644 --- a/src/DotNetOpenAuth.OpenId.RelyingParty/OpenId/Messages/IAssociateSuccessfulResponseRelyingParty.cs +++ b/src/DotNetOpenAuth.OpenId.RelyingParty/OpenId/Messages/IAssociateSuccessfulResponseRelyingParty.cs @@ -1,6 +1,6 @@ //----------------------------------------------------------------------- -// <copyright file="IAssociateSuccessfulResponseRelyingParty.cs" company="Andrew Arnott"> -// Copyright (c) Andrew Arnott. All rights reserved. +// <copyright file="IAssociateSuccessfulResponseRelyingParty.cs" company="Outercurve Foundation"> +// Copyright (c) Outercurve Foundation. All rights reserved. // </copyright> //----------------------------------------------------------------------- diff --git a/src/DotNetOpenAuth.OpenId.RelyingParty/OpenId/RelyingParty/AssociationManager.cs b/src/DotNetOpenAuth.OpenId.RelyingParty/OpenId/RelyingParty/AssociationManager.cs index eb501c5..e6feac1 100644 --- a/src/DotNetOpenAuth.OpenId.RelyingParty/OpenId/RelyingParty/AssociationManager.cs +++ b/src/DotNetOpenAuth.OpenId.RelyingParty/OpenId/RelyingParty/AssociationManager.cs @@ -1,6 +1,6 @@ //----------------------------------------------------------------------- -// <copyright file="AssociationManager.cs" company="Andrew Arnott"> -// Copyright (c) Andrew Arnott. All rights reserved. +// <copyright file="AssociationManager.cs" company="Outercurve Foundation"> +// Copyright (c) Outercurve Foundation. All rights reserved. // </copyright> //----------------------------------------------------------------------- diff --git a/src/DotNetOpenAuth.OpenId.RelyingParty/OpenId/RelyingParty/AssociationPreference.cs b/src/DotNetOpenAuth.OpenId.RelyingParty/OpenId/RelyingParty/AssociationPreference.cs index 9f4a21f..de5d277 100644 --- a/src/DotNetOpenAuth.OpenId.RelyingParty/OpenId/RelyingParty/AssociationPreference.cs +++ b/src/DotNetOpenAuth.OpenId.RelyingParty/OpenId/RelyingParty/AssociationPreference.cs @@ -1,6 +1,6 @@ //----------------------------------------------------------------------- -// <copyright file="AssociationPreference.cs" company="Andrew Arnott"> -// Copyright (c) Andrew Arnott. All rights reserved. +// <copyright file="AssociationPreference.cs" company="Outercurve Foundation"> +// Copyright (c) Outercurve Foundation. All rights reserved. // </copyright> //----------------------------------------------------------------------- diff --git a/src/DotNetOpenAuth.OpenId.RelyingParty/OpenId/RelyingParty/Associations.cs b/src/DotNetOpenAuth.OpenId.RelyingParty/OpenId/RelyingParty/Associations.cs index e65750f..f315bf0 100644 --- a/src/DotNetOpenAuth.OpenId.RelyingParty/OpenId/RelyingParty/Associations.cs +++ b/src/DotNetOpenAuth.OpenId.RelyingParty/OpenId/RelyingParty/Associations.cs @@ -1,6 +1,6 @@ //----------------------------------------------------------------------- -// <copyright file="Associations.cs" company="Andrew Arnott"> -// Copyright (c) Andrew Arnott. All rights reserved. +// <copyright file="Associations.cs" company="Outercurve Foundation"> +// Copyright (c) Outercurve Foundation. All rights reserved. // </copyright> //----------------------------------------------------------------------- diff --git a/src/DotNetOpenAuth.OpenId.RelyingParty/OpenId/RelyingParty/AuthenticationRequest.cs b/src/DotNetOpenAuth.OpenId.RelyingParty/OpenId/RelyingParty/AuthenticationRequest.cs index c85c0c5..8af817e 100644 --- a/src/DotNetOpenAuth.OpenId.RelyingParty/OpenId/RelyingParty/AuthenticationRequest.cs +++ b/src/DotNetOpenAuth.OpenId.RelyingParty/OpenId/RelyingParty/AuthenticationRequest.cs @@ -1,6 +1,6 @@ //----------------------------------------------------------------------- -// <copyright file="AuthenticationRequest.cs" company="Andrew Arnott"> -// Copyright (c) Andrew Arnott. All rights reserved. +// <copyright file="AuthenticationRequest.cs" company="Outercurve Foundation"> +// Copyright (c) Outercurve Foundation. All rights reserved. // </copyright> //----------------------------------------------------------------------- diff --git a/src/DotNetOpenAuth.OpenId.RelyingParty/OpenId/RelyingParty/Behaviors/AXFetchAsSregTransform.cs b/src/DotNetOpenAuth.OpenId.RelyingParty/OpenId/RelyingParty/Behaviors/AXFetchAsSregTransform.cs index b2794ec..cb56729 100644 --- a/src/DotNetOpenAuth.OpenId.RelyingParty/OpenId/RelyingParty/Behaviors/AXFetchAsSregTransform.cs +++ b/src/DotNetOpenAuth.OpenId.RelyingParty/OpenId/RelyingParty/Behaviors/AXFetchAsSregTransform.cs @@ -1,6 +1,6 @@ //----------------------------------------------------------------------- -// <copyright file="AXFetchAsSregTransform.cs" company="Andrew Arnott"> -// Copyright (c) Andrew Arnott. All rights reserved. +// <copyright file="AXFetchAsSregTransform.cs" company="Outercurve Foundation"> +// Copyright (c) Outercurve Foundation. All rights reserved. // </copyright> //----------------------------------------------------------------------- diff --git a/src/DotNetOpenAuth.OpenId.RelyingParty/OpenId/RelyingParty/Behaviors/GsaIcamProfile.cs b/src/DotNetOpenAuth.OpenId.RelyingParty/OpenId/RelyingParty/Behaviors/GsaIcamProfile.cs index 5a1ddaa..f05d354 100644 --- a/src/DotNetOpenAuth.OpenId.RelyingParty/OpenId/RelyingParty/Behaviors/GsaIcamProfile.cs +++ b/src/DotNetOpenAuth.OpenId.RelyingParty/OpenId/RelyingParty/Behaviors/GsaIcamProfile.cs @@ -1,6 +1,6 @@ //----------------------------------------------------------------------- -// <copyright file="GsaIcamProfile.cs" company="Andrew Arnott"> -// Copyright (c) Andrew Arnott. All rights reserved. +// <copyright file="GsaIcamProfile.cs" company="Outercurve Foundation"> +// Copyright (c) Outercurve Foundation. All rights reserved. // </copyright> //----------------------------------------------------------------------- diff --git a/src/DotNetOpenAuth.OpenId.RelyingParty/OpenId/RelyingParty/CryptoKeyStoreAsRelyingPartyAssociationStore.cs b/src/DotNetOpenAuth.OpenId.RelyingParty/OpenId/RelyingParty/CryptoKeyStoreAsRelyingPartyAssociationStore.cs index 1614145..7ad1346 100644 --- a/src/DotNetOpenAuth.OpenId.RelyingParty/OpenId/RelyingParty/CryptoKeyStoreAsRelyingPartyAssociationStore.cs +++ b/src/DotNetOpenAuth.OpenId.RelyingParty/OpenId/RelyingParty/CryptoKeyStoreAsRelyingPartyAssociationStore.cs @@ -1,6 +1,6 @@ //----------------------------------------------------------------------- -// <copyright file="CryptoKeyStoreAsRelyingPartyAssociationStore.cs" company="Andrew Arnott"> -// Copyright (c) Andrew Arnott. All rights reserved. +// <copyright file="CryptoKeyStoreAsRelyingPartyAssociationStore.cs" company="Outercurve Foundation"> +// Copyright (c) Outercurve Foundation. All rights reserved. // </copyright> //----------------------------------------------------------------------- diff --git a/src/DotNetOpenAuth.OpenId.RelyingParty/OpenId/RelyingParty/DuplicateRequestedHostsComparer.cs b/src/DotNetOpenAuth.OpenId.RelyingParty/OpenId/RelyingParty/DuplicateRequestedHostsComparer.cs index 94eb5ba..f83d8d1 100644 --- a/src/DotNetOpenAuth.OpenId.RelyingParty/OpenId/RelyingParty/DuplicateRequestedHostsComparer.cs +++ b/src/DotNetOpenAuth.OpenId.RelyingParty/OpenId/RelyingParty/DuplicateRequestedHostsComparer.cs @@ -1,6 +1,6 @@ //----------------------------------------------------------------------- -// <copyright file="DuplicateRequestedHostsComparer.cs" company="Andrew Arnott"> -// Copyright (c) Andrew Arnott. All rights reserved. +// <copyright file="DuplicateRequestedHostsComparer.cs" company="Outercurve Foundation"> +// Copyright (c) Outercurve Foundation. All rights reserved. // </copyright> //----------------------------------------------------------------------- diff --git a/src/DotNetOpenAuth.OpenId.RelyingParty/OpenId/RelyingParty/Extensions/ExtensionsInteropHelper.cs b/src/DotNetOpenAuth.OpenId.RelyingParty/OpenId/RelyingParty/Extensions/ExtensionsInteropHelper.cs index 0f7778f..d57fede 100644 --- a/src/DotNetOpenAuth.OpenId.RelyingParty/OpenId/RelyingParty/Extensions/ExtensionsInteropHelper.cs +++ b/src/DotNetOpenAuth.OpenId.RelyingParty/OpenId/RelyingParty/Extensions/ExtensionsInteropHelper.cs @@ -1,6 +1,6 @@ //----------------------------------------------------------------------- -// <copyright file="ExtensionsInteropHelper.cs" company="Andrew Arnott"> -// Copyright (c) Andrew Arnott. All rights reserved. +// <copyright file="ExtensionsInteropHelper.cs" company="Outercurve Foundation"> +// Copyright (c) Outercurve Foundation. All rights reserved. // </copyright> //----------------------------------------------------------------------- diff --git a/src/DotNetOpenAuth.OpenId.RelyingParty/OpenId/RelyingParty/Extensions/UIUtilities.cs b/src/DotNetOpenAuth.OpenId.RelyingParty/OpenId/RelyingParty/Extensions/UIUtilities.cs index 4606bf7..049430a 100644 --- a/src/DotNetOpenAuth.OpenId.RelyingParty/OpenId/RelyingParty/Extensions/UIUtilities.cs +++ b/src/DotNetOpenAuth.OpenId.RelyingParty/OpenId/RelyingParty/Extensions/UIUtilities.cs @@ -1,6 +1,6 @@ //----------------------------------------------------------------------- -// <copyright file="UIUtilities.cs" company="Andrew Arnott"> -// Copyright (c) Andrew Arnott. All rights reserved. +// <copyright file="UIUtilities.cs" company="Outercurve Foundation"> +// Copyright (c) Outercurve Foundation. All rights reserved. // </copyright> //----------------------------------------------------------------------- diff --git a/src/DotNetOpenAuth.OpenId.RelyingParty/OpenId/RelyingParty/FailedAuthenticationResponse.cs b/src/DotNetOpenAuth.OpenId.RelyingParty/OpenId/RelyingParty/FailedAuthenticationResponse.cs index b9266d3..764062e 100644 --- a/src/DotNetOpenAuth.OpenId.RelyingParty/OpenId/RelyingParty/FailedAuthenticationResponse.cs +++ b/src/DotNetOpenAuth.OpenId.RelyingParty/OpenId/RelyingParty/FailedAuthenticationResponse.cs @@ -1,6 +1,6 @@ //----------------------------------------------------------------------- -// <copyright file="FailedAuthenticationResponse.cs" company="Andrew Arnott"> -// Copyright (c) Andrew Arnott. All rights reserved. +// <copyright file="FailedAuthenticationResponse.cs" company="Outercurve Foundation"> +// Copyright (c) Outercurve Foundation. All rights reserved. // </copyright> //----------------------------------------------------------------------- diff --git a/src/DotNetOpenAuth.OpenId.RelyingParty/OpenId/RelyingParty/IRelyingPartyAssociationStore.cs b/src/DotNetOpenAuth.OpenId.RelyingParty/OpenId/RelyingParty/IRelyingPartyAssociationStore.cs index 52e828c..1cf3e4c 100644 --- a/src/DotNetOpenAuth.OpenId.RelyingParty/OpenId/RelyingParty/IRelyingPartyAssociationStore.cs +++ b/src/DotNetOpenAuth.OpenId.RelyingParty/OpenId/RelyingParty/IRelyingPartyAssociationStore.cs @@ -1,6 +1,6 @@ //----------------------------------------------------------------------- -// <copyright file="IRelyingPartyAssociationStore.cs" company="Andrew Arnott"> -// Copyright (c) Andrew Arnott. All rights reserved. +// <copyright file="IRelyingPartyAssociationStore.cs" company="Outercurve Foundation"> +// Copyright (c) Outercurve Foundation. All rights reserved. // </copyright> //----------------------------------------------------------------------- diff --git a/src/DotNetOpenAuth.OpenId.RelyingParty/OpenId/RelyingParty/ISetupRequiredAuthenticationResponse.cs b/src/DotNetOpenAuth.OpenId.RelyingParty/OpenId/RelyingParty/ISetupRequiredAuthenticationResponse.cs index 2942c9d..2d23cfc 100644 --- a/src/DotNetOpenAuth.OpenId.RelyingParty/OpenId/RelyingParty/ISetupRequiredAuthenticationResponse.cs +++ b/src/DotNetOpenAuth.OpenId.RelyingParty/OpenId/RelyingParty/ISetupRequiredAuthenticationResponse.cs @@ -1,6 +1,6 @@ //----------------------------------------------------------------------- -// <copyright file="ISetupRequiredAuthenticationResponse.cs" company="Andrew Arnott"> -// Copyright (c) Andrew Arnott. All rights reserved. +// <copyright file="ISetupRequiredAuthenticationResponse.cs" company="Outercurve Foundation"> +// Copyright (c) Outercurve Foundation. All rights reserved. // </copyright> //----------------------------------------------------------------------- diff --git a/src/DotNetOpenAuth.OpenId.RelyingParty/OpenId/RelyingParty/NegativeAuthenticationResponse.cs b/src/DotNetOpenAuth.OpenId.RelyingParty/OpenId/RelyingParty/NegativeAuthenticationResponse.cs index 4b21fea..5837449 100644 --- a/src/DotNetOpenAuth.OpenId.RelyingParty/OpenId/RelyingParty/NegativeAuthenticationResponse.cs +++ b/src/DotNetOpenAuth.OpenId.RelyingParty/OpenId/RelyingParty/NegativeAuthenticationResponse.cs @@ -1,6 +1,6 @@ //----------------------------------------------------------------------- -// <copyright file="NegativeAuthenticationResponse.cs" company="Andrew Arnott"> -// Copyright (c) Andrew Arnott. All rights reserved. +// <copyright file="NegativeAuthenticationResponse.cs" company="Outercurve Foundation"> +// Copyright (c) Outercurve Foundation. All rights reserved. // </copyright> //----------------------------------------------------------------------- diff --git a/src/DotNetOpenAuth.OpenId.RelyingParty/OpenId/RelyingParty/OpenIdRelyingParty.cs b/src/DotNetOpenAuth.OpenId.RelyingParty/OpenId/RelyingParty/OpenIdRelyingParty.cs index 509e319..aa53277 100644 --- a/src/DotNetOpenAuth.OpenId.RelyingParty/OpenId/RelyingParty/OpenIdRelyingParty.cs +++ b/src/DotNetOpenAuth.OpenId.RelyingParty/OpenId/RelyingParty/OpenIdRelyingParty.cs @@ -1,6 +1,6 @@ //----------------------------------------------------------------------- -// <copyright file="OpenIdRelyingParty.cs" company="Andrew Arnott"> -// Copyright (c) Andrew Arnott. All rights reserved. +// <copyright file="OpenIdRelyingParty.cs" company="Outercurve Foundation"> +// Copyright (c) Outercurve Foundation. All rights reserved. // </copyright> //----------------------------------------------------------------------- @@ -41,7 +41,7 @@ namespace DotNetOpenAuth.OpenId.RelyingParty { /// </summary> [SuppressMessage("Microsoft.Maintainability", "CA1506:AvoidExcessiveClassCoupling", Justification = "Unavoidable")] [ContractVerification(true)] - public class OpenIdRelyingParty : IDisposable { + public class OpenIdRelyingParty : IDisposable, IOpenIdHost { /// <summary> /// The name of the key to use in the HttpApplication cache to store the /// instance of <see cref="StandardRelyingPartyApplicationStore"/> to use. @@ -54,9 +54,9 @@ namespace DotNetOpenAuth.OpenId.RelyingParty { private readonly ObservableCollection<IRelyingPartyBehavior> behaviors = new ObservableCollection<IRelyingPartyBehavior>(); /// <summary> - /// Backing field for the <see cref="DiscoveryServices"/> property. + /// The discovery services to use for identifiers. /// </summary> - private readonly IList<IIdentifierDiscoveryService> discoveryServices = new List<IIdentifierDiscoveryService>(2); + private readonly IdentifierDiscoveryServices discoveryServices; /// <summary> /// A type initializer that ensures that another type initializer runs in order to guarantee that @@ -130,10 +130,6 @@ namespace DotNetOpenAuth.OpenId.RelyingParty { this.securitySettings = OpenIdElement.Configuration.RelyingParty.SecuritySettings.CreateSecuritySettings(); - foreach (var discoveryService in OpenIdElement.Configuration.RelyingParty.DiscoveryServices.CreateInstances(true)) { - this.discoveryServices.Add(discoveryService); - } - this.behaviors.CollectionChanged += this.OnBehaviorsChanged; foreach (var behavior in OpenIdElement.Configuration.RelyingParty.Behaviors.CreateInstances(false)) { this.behaviors.Add(behavior); @@ -155,6 +151,7 @@ namespace DotNetOpenAuth.OpenId.RelyingParty { this.channel = new OpenIdRelyingPartyChannel(cryptoKeyStore, nonceStore, this.SecuritySettings); this.AssociationManager = new AssociationManager(this.Channel, new CryptoKeyStoreAsRelyingPartyAssociationStore(cryptoKeyStore), this.SecuritySettings); + this.discoveryServices = new IdentifierDiscoveryServices(this); Reporting.RecordFeatureAndDependencyUse(this, cryptoKeyStore, nonceStore); } @@ -230,6 +227,13 @@ namespace DotNetOpenAuth.OpenId.RelyingParty { } /// <summary> + /// Gets the security settings. + /// </summary> + SecuritySettings IOpenIdHost.SecuritySettings { + get { return this.SecuritySettings; } + } + + /// <summary> /// Gets or sets the optional Provider Endpoint filter to use. /// </summary> /// <remarks> @@ -283,7 +287,15 @@ namespace DotNetOpenAuth.OpenId.RelyingParty { /// Gets the list of services that can perform discovery on identifiers given to this relying party. /// </summary> public IList<IIdentifierDiscoveryService> DiscoveryServices { - get { return this.discoveryServices; } + get { return this.discoveryServices.DiscoveryServices; } + } + + /// <summary> + /// Gets the web request handler to use for discovery and the part of + /// authentication where direct messages are sent to an untrusted remote party. + /// </summary> + IDirectWebRequestHandler IOpenIdHost.WebRequestHandler { + get { return this.Channel.WebRequestHandler; } } /// <summary> @@ -752,34 +764,7 @@ namespace DotNetOpenAuth.OpenId.RelyingParty { /// <param name="identifier">The identifier to discover services for.</param> /// <returns>A non-null sequence of services discovered for the identifier.</returns> internal IEnumerable<IdentifierDiscoveryResult> Discover(Identifier identifier) { - Requires.NotNull(identifier, "identifier"); - Contract.Ensures(Contract.Result<IEnumerable<IdentifierDiscoveryResult>>() != null); - - IEnumerable<IdentifierDiscoveryResult> results = Enumerable.Empty<IdentifierDiscoveryResult>(); - foreach (var discoverer in this.DiscoveryServices) { - bool abortDiscoveryChain; - var discoveryResults = discoverer.Discover(identifier, this.WebRequestHandler, out abortDiscoveryChain).CacheGeneratedResults(); - results = results.Concat(discoveryResults); - if (abortDiscoveryChain) { - Logger.OpenId.InfoFormat("Further discovery on '{0}' was stopped by the {1} discovery service.", identifier, discoverer.GetType().Name); - break; - } - } - - // If any OP Identifier service elements were found, we must not proceed - // to use any Claimed Identifier services, per OpenID 2.0 sections 7.3.2.2 and 11.2. - // For a discussion on this topic, see - // http://groups.google.com/group/dotnetopenid/browse_thread/thread/4b5a8c6b2210f387/5e25910e4d2252c8 - // Sometimes the IIdentifierDiscoveryService will automatically filter this for us, but - // just to be sure, we'll do it here as well. - if (!this.SecuritySettings.AllowDualPurposeIdentifiers) { - results = results.CacheGeneratedResults(); // avoid performing discovery repeatedly - var opIdentifiers = results.Where(result => result.ClaimedIdentifier == result.Protocol.ClaimedIdentifierForOPIdentifier); - var claimedIdentifiers = results.Where(result => result.ClaimedIdentifier != result.Protocol.ClaimedIdentifierForOPIdentifier); - results = opIdentifiers.Any() ? opIdentifiers : claimedIdentifiers; - } - - return results; + return this.discoveryServices.Discover(identifier); } /// <summary> diff --git a/src/DotNetOpenAuth.OpenId.RelyingParty/OpenId/RelyingParty/PositiveAnonymousResponse.cs b/src/DotNetOpenAuth.OpenId.RelyingParty/OpenId/RelyingParty/PositiveAnonymousResponse.cs index de82bed..3f4692a 100644 --- a/src/DotNetOpenAuth.OpenId.RelyingParty/OpenId/RelyingParty/PositiveAnonymousResponse.cs +++ b/src/DotNetOpenAuth.OpenId.RelyingParty/OpenId/RelyingParty/PositiveAnonymousResponse.cs @@ -1,6 +1,6 @@ //----------------------------------------------------------------------- -// <copyright file="PositiveAnonymousResponse.cs" company="Andrew Arnott"> -// Copyright (c) Andrew Arnott. All rights reserved. +// <copyright file="PositiveAnonymousResponse.cs" company="Outercurve Foundation"> +// Copyright (c) Outercurve Foundation. All rights reserved. // </copyright> //----------------------------------------------------------------------- diff --git a/src/DotNetOpenAuth.OpenId.RelyingParty/OpenId/RelyingParty/PositiveAuthenticationResponse.cs b/src/DotNetOpenAuth.OpenId.RelyingParty/OpenId/RelyingParty/PositiveAuthenticationResponse.cs index 1123912..2a06c9b 100644 --- a/src/DotNetOpenAuth.OpenId.RelyingParty/OpenId/RelyingParty/PositiveAuthenticationResponse.cs +++ b/src/DotNetOpenAuth.OpenId.RelyingParty/OpenId/RelyingParty/PositiveAuthenticationResponse.cs @@ -1,6 +1,6 @@ //----------------------------------------------------------------------- -// <copyright file="PositiveAuthenticationResponse.cs" company="Andrew Arnott"> -// Copyright (c) Andrew Arnott. All rights reserved. +// <copyright file="PositiveAuthenticationResponse.cs" company="Outercurve Foundation"> +// Copyright (c) Outercurve Foundation. All rights reserved. // </copyright> //----------------------------------------------------------------------- diff --git a/src/DotNetOpenAuth.OpenId.RelyingParty/OpenId/RelyingParty/PositiveAuthenticationResponseSnapshot.cs b/src/DotNetOpenAuth.OpenId.RelyingParty/OpenId/RelyingParty/PositiveAuthenticationResponseSnapshot.cs index 141b4f7..f5cf8ad 100644 --- a/src/DotNetOpenAuth.OpenId.RelyingParty/OpenId/RelyingParty/PositiveAuthenticationResponseSnapshot.cs +++ b/src/DotNetOpenAuth.OpenId.RelyingParty/OpenId/RelyingParty/PositiveAuthenticationResponseSnapshot.cs @@ -1,6 +1,6 @@ //----------------------------------------------------------------------- -// <copyright file="PositiveAuthenticationResponseSnapshot.cs" company="Andrew Arnott"> -// Copyright (c) Andrew Arnott. All rights reserved. +// <copyright file="PositiveAuthenticationResponseSnapshot.cs" company="Outercurve Foundation"> +// Copyright (c) Outercurve Foundation. All rights reserved. // </copyright> //----------------------------------------------------------------------- diff --git a/src/DotNetOpenAuth.OpenId.RelyingParty/OpenId/RelyingParty/SimpleXrdsProviderEndpoint.cs b/src/DotNetOpenAuth.OpenId.RelyingParty/OpenId/RelyingParty/SimpleXrdsProviderEndpoint.cs index 678f69a..fd89d6b 100644 --- a/src/DotNetOpenAuth.OpenId.RelyingParty/OpenId/RelyingParty/SimpleXrdsProviderEndpoint.cs +++ b/src/DotNetOpenAuth.OpenId.RelyingParty/OpenId/RelyingParty/SimpleXrdsProviderEndpoint.cs @@ -1,6 +1,6 @@ //----------------------------------------------------------------------- -// <copyright file="SimpleXrdsProviderEndpoint.cs" company="Andrew Arnott"> -// Copyright (c) Andrew Arnott. All rights reserved. +// <copyright file="SimpleXrdsProviderEndpoint.cs" company="Outercurve Foundation"> +// Copyright (c) Outercurve Foundation. All rights reserved. // </copyright> //----------------------------------------------------------------------- diff --git a/src/DotNetOpenAuth.OpenId.RelyingParty/OpenId/RelyingParty/StandardRelyingPartyApplicationStore.cs b/src/DotNetOpenAuth.OpenId.RelyingParty/OpenId/RelyingParty/StandardRelyingPartyApplicationStore.cs index a14b55d..c3722b2 100644 --- a/src/DotNetOpenAuth.OpenId.RelyingParty/OpenId/RelyingParty/StandardRelyingPartyApplicationStore.cs +++ b/src/DotNetOpenAuth.OpenId.RelyingParty/OpenId/RelyingParty/StandardRelyingPartyApplicationStore.cs @@ -1,6 +1,6 @@ //----------------------------------------------------------------------- -// <copyright file="StandardRelyingPartyApplicationStore.cs" company="Andrew Arnott"> -// Copyright (c) Andrew Arnott. All rights reserved. +// <copyright file="StandardRelyingPartyApplicationStore.cs" company="Outercurve Foundation"> +// Copyright (c) Outercurve Foundation. All rights reserved. // </copyright> //----------------------------------------------------------------------- diff --git a/src/DotNetOpenAuth.OpenId.RelyingParty/OpenId/RelyingParty/WellKnownProviders.cs b/src/DotNetOpenAuth.OpenId.RelyingParty/OpenId/RelyingParty/WellKnownProviders.cs index ad1a11a..a5ea83f 100644 --- a/src/DotNetOpenAuth.OpenId.RelyingParty/OpenId/RelyingParty/WellKnownProviders.cs +++ b/src/DotNetOpenAuth.OpenId.RelyingParty/OpenId/RelyingParty/WellKnownProviders.cs @@ -1,6 +1,6 @@ //----------------------------------------------------------------------- -// <copyright file="WellKnownProviders.cs" company="Andrew Arnott"> -// Copyright (c) Andrew Arnott. All rights reserved. +// <copyright file="WellKnownProviders.cs" company="Outercurve Foundation"> +// Copyright (c) Outercurve Foundation. All rights reserved. // </copyright> //----------------------------------------------------------------------- diff --git a/src/DotNetOpenAuth.OpenId.RelyingParty/Properties/AssemblyInfo.cs b/src/DotNetOpenAuth.OpenId.RelyingParty/Properties/AssemblyInfo.cs index e425143..6741077 100644 --- a/src/DotNetOpenAuth.OpenId.RelyingParty/Properties/AssemblyInfo.cs +++ b/src/DotNetOpenAuth.OpenId.RelyingParty/Properties/AssemblyInfo.cs @@ -1,6 +1,6 @@ //----------------------------------------------------------------------- -// <copyright file="AssemblyInfo.cs" company="Andrew Arnott"> -// Copyright (c) Andrew Arnott. All rights reserved. +// <copyright file="AssemblyInfo.cs" company="Outercurve Foundation"> +// Copyright (c) Outercurve Foundation. All rights reserved. // </copyright> //----------------------------------------------------------------------- @@ -25,7 +25,7 @@ using System.Web.UI; [assembly: AssemblyConfiguration("")] [assembly: AssemblyCompany("")] [assembly: AssemblyProduct("DotNetOpenAuth")] -[assembly: AssemblyCopyright("Copyright © 2008")] +[assembly: AssemblyCopyright("Copyright © 2011 Outercurve Foundation")] [assembly: AssemblyTrademark("")] [assembly: AssemblyCulture("")] [assembly: NeutralResourcesLanguage("en-US")] diff --git a/src/DotNetOpenAuth.OpenId.UI/Properties/AssemblyInfo.cs b/src/DotNetOpenAuth.OpenId.UI/Properties/AssemblyInfo.cs index d1eef8c..8b1ae74 100644 --- a/src/DotNetOpenAuth.OpenId.UI/Properties/AssemblyInfo.cs +++ b/src/DotNetOpenAuth.OpenId.UI/Properties/AssemblyInfo.cs @@ -1,6 +1,6 @@ //----------------------------------------------------------------------- -// <copyright file="AssemblyInfo.cs" company="Andrew Arnott"> -// Copyright (c) Andrew Arnott. All rights reserved. +// <copyright file="AssemblyInfo.cs" company="Outercurve Foundation"> +// Copyright (c) Outercurve Foundation. All rights reserved. // </copyright> //----------------------------------------------------------------------- @@ -27,7 +27,7 @@ using System.Web.UI; [assembly: AssemblyConfiguration("")] [assembly: AssemblyCompany("")] [assembly: AssemblyProduct("DotNetOpenAuth")] -[assembly: AssemblyCopyright("Copyright © 2008")] +[assembly: AssemblyCopyright("Copyright © 2011 Outercurve Foundation")] [assembly: AssemblyTrademark("")] [assembly: AssemblyCulture("")] [assembly: NeutralResourcesLanguage("en-US")] diff --git a/src/DotNetOpenAuth.OpenId.UI/XrdsPublisher.cs b/src/DotNetOpenAuth.OpenId.UI/XrdsPublisher.cs index 03c32c1..5aa3064 100644 --- a/src/DotNetOpenAuth.OpenId.UI/XrdsPublisher.cs +++ b/src/DotNetOpenAuth.OpenId.UI/XrdsPublisher.cs @@ -1,6 +1,6 @@ //----------------------------------------------------------------------- -// <copyright file="XrdsPublisher.cs" company="Andrew Arnott"> -// Copyright (c) Andrew Arnott. All rights reserved. +// <copyright file="XrdsPublisher.cs" company="Outercurve Foundation"> +// Copyright (c) Outercurve Foundation. All rights reserved. // </copyright> //----------------------------------------------------------------------- diff --git a/src/DotNetOpenAuth.OpenId/Configuration/AssociationTypeCollection.cs b/src/DotNetOpenAuth.OpenId/Configuration/AssociationTypeCollection.cs index 881fcdb..419a76a 100644 --- a/src/DotNetOpenAuth.OpenId/Configuration/AssociationTypeCollection.cs +++ b/src/DotNetOpenAuth.OpenId/Configuration/AssociationTypeCollection.cs @@ -1,6 +1,6 @@ //----------------------------------------------------------------------- -// <copyright file="AssociationTypeCollection.cs" company="Andrew Arnott"> -// Copyright (c) Andrew Arnott. All rights reserved. +// <copyright file="AssociationTypeCollection.cs" company="Outercurve Foundation"> +// Copyright (c) Outercurve Foundation. All rights reserved. // </copyright> //----------------------------------------------------------------------- diff --git a/src/DotNetOpenAuth.OpenId/Configuration/AssociationTypeElement.cs b/src/DotNetOpenAuth.OpenId/Configuration/AssociationTypeElement.cs index 0eaea0e..32c1cc9 100644 --- a/src/DotNetOpenAuth.OpenId/Configuration/AssociationTypeElement.cs +++ b/src/DotNetOpenAuth.OpenId/Configuration/AssociationTypeElement.cs @@ -1,6 +1,6 @@ //----------------------------------------------------------------------- -// <copyright file="AssociationTypeElement.cs" company="Andrew Arnott"> -// Copyright (c) Andrew Arnott. All rights reserved. +// <copyright file="AssociationTypeElement.cs" company="Outercurve Foundation"> +// Copyright (c) Outercurve Foundation. All rights reserved. // </copyright> //----------------------------------------------------------------------- diff --git a/src/DotNetOpenAuth.OpenId/Configuration/OpenIdElement.cs b/src/DotNetOpenAuth.OpenId/Configuration/OpenIdElement.cs index e7b856e..c43a3ad 100644 --- a/src/DotNetOpenAuth.OpenId/Configuration/OpenIdElement.cs +++ b/src/DotNetOpenAuth.OpenId/Configuration/OpenIdElement.cs @@ -1,6 +1,6 @@ //----------------------------------------------------------------------- -// <copyright file="OpenIdElement.cs" company="Andrew Arnott"> -// Copyright (c) Andrew Arnott. All rights reserved. +// <copyright file="OpenIdElement.cs" company="Outercurve Foundation"> +// Copyright (c) Outercurve Foundation. All rights reserved. // </copyright> //----------------------------------------------------------------------- diff --git a/src/DotNetOpenAuth.OpenId/Configuration/OpenIdProviderElement.cs b/src/DotNetOpenAuth.OpenId/Configuration/OpenIdProviderElement.cs index 6f5a043..df93d3b 100644 --- a/src/DotNetOpenAuth.OpenId/Configuration/OpenIdProviderElement.cs +++ b/src/DotNetOpenAuth.OpenId/Configuration/OpenIdProviderElement.cs @@ -1,6 +1,6 @@ //----------------------------------------------------------------------- -// <copyright file="OpenIdProviderElement.cs" company="Andrew Arnott"> -// Copyright (c) Andrew Arnott. All rights reserved. +// <copyright file="OpenIdProviderElement.cs" company="Outercurve Foundation"> +// Copyright (c) Outercurve Foundation. All rights reserved. // </copyright> //----------------------------------------------------------------------- diff --git a/src/DotNetOpenAuth.OpenId/Configuration/OpenIdProviderSecuritySettingsElement.cs b/src/DotNetOpenAuth.OpenId/Configuration/OpenIdProviderSecuritySettingsElement.cs index 0d8e8b4..f003900 100644 --- a/src/DotNetOpenAuth.OpenId/Configuration/OpenIdProviderSecuritySettingsElement.cs +++ b/src/DotNetOpenAuth.OpenId/Configuration/OpenIdProviderSecuritySettingsElement.cs @@ -1,6 +1,6 @@ //----------------------------------------------------------------------- -// <copyright file="OpenIdProviderSecuritySettingsElement.cs" company="Andrew Arnott"> -// Copyright (c) Andrew Arnott. All rights reserved. +// <copyright file="OpenIdProviderSecuritySettingsElement.cs" company="Outercurve Foundation"> +// Copyright (c) Outercurve Foundation. All rights reserved. // </copyright> //----------------------------------------------------------------------- diff --git a/src/DotNetOpenAuth.OpenId/Configuration/OpenIdRelyingPartyElement.cs b/src/DotNetOpenAuth.OpenId/Configuration/OpenIdRelyingPartyElement.cs index c80141a..749659e 100644 --- a/src/DotNetOpenAuth.OpenId/Configuration/OpenIdRelyingPartyElement.cs +++ b/src/DotNetOpenAuth.OpenId/Configuration/OpenIdRelyingPartyElement.cs @@ -1,6 +1,6 @@ //----------------------------------------------------------------------- -// <copyright file="OpenIdRelyingPartyElement.cs" company="Andrew Arnott"> -// Copyright (c) Andrew Arnott. All rights reserved. +// <copyright file="OpenIdRelyingPartyElement.cs" company="Outercurve Foundation"> +// Copyright (c) Outercurve Foundation. All rights reserved. // </copyright> //----------------------------------------------------------------------- diff --git a/src/DotNetOpenAuth.OpenId/Configuration/OpenIdRelyingPartySecuritySettingsElement.cs b/src/DotNetOpenAuth.OpenId/Configuration/OpenIdRelyingPartySecuritySettingsElement.cs index 225b1e7..f0d8942 100644 --- a/src/DotNetOpenAuth.OpenId/Configuration/OpenIdRelyingPartySecuritySettingsElement.cs +++ b/src/DotNetOpenAuth.OpenId/Configuration/OpenIdRelyingPartySecuritySettingsElement.cs @@ -1,6 +1,6 @@ //----------------------------------------------------------------------- -// <copyright file="OpenIdRelyingPartySecuritySettingsElement.cs" company="Andrew Arnott"> -// Copyright (c) Andrew Arnott. All rights reserved. +// <copyright file="OpenIdRelyingPartySecuritySettingsElement.cs" company="Outercurve Foundation"> +// Copyright (c) Outercurve Foundation. All rights reserved. // </copyright> //----------------------------------------------------------------------- diff --git a/src/DotNetOpenAuth.OpenId/Configuration/XriResolverElement.cs b/src/DotNetOpenAuth.OpenId/Configuration/XriResolverElement.cs index fdb5b29..e5dcefb 100644 --- a/src/DotNetOpenAuth.OpenId/Configuration/XriResolverElement.cs +++ b/src/DotNetOpenAuth.OpenId/Configuration/XriResolverElement.cs @@ -1,6 +1,6 @@ //----------------------------------------------------------------------- -// <copyright file="XriResolverElement.cs" company="Andrew Arnott"> -// Copyright (c) Andrew Arnott. All rights reserved. +// <copyright file="XriResolverElement.cs" company="Outercurve Foundation"> +// Copyright (c) Outercurve Foundation. All rights reserved. // </copyright> //----------------------------------------------------------------------- diff --git a/src/DotNetOpenAuth.OpenId/DotNetOpenAuth.OpenId.csproj b/src/DotNetOpenAuth.OpenId/DotNetOpenAuth.OpenId.csproj index b45247b..d80b104 100644 --- a/src/DotNetOpenAuth.OpenId/DotNetOpenAuth.OpenId.csproj +++ b/src/DotNetOpenAuth.OpenId/DotNetOpenAuth.OpenId.csproj @@ -91,6 +91,8 @@ <Compile Include="OpenId\Extensions\OpenIdExtensionsInteropHelper.cs" /> <Compile Include="OpenId\IdentifierDiscoveryResult.cs" /> <Compile Include="OpenId\IIdentifierDiscoveryService.cs" /> + <Compile Include="OpenId\IdentifierDiscoveryServices.cs" /> + <Compile Include="OpenId\IOpenIdHost.cs" /> <Compile Include="OpenId\IProviderEndpoint.cs" /> <Compile Include="OpenId\Provider\IAuthenticationRequest.cs" /> <Compile Include="OpenId\Provider\IHostProcessedRequest.cs" /> diff --git a/src/DotNetOpenAuth.OpenId/OpenId/Association.cs b/src/DotNetOpenAuth.OpenId/OpenId/Association.cs index ff30a36..700b24e 100644 --- a/src/DotNetOpenAuth.OpenId/OpenId/Association.cs +++ b/src/DotNetOpenAuth.OpenId/OpenId/Association.cs @@ -1,6 +1,6 @@ //----------------------------------------------------------------------- -// <copyright file="Association.cs" company="Andrew Arnott"> -// Copyright (c) Andrew Arnott. All rights reserved. +// <copyright file="Association.cs" company="Outercurve Foundation"> +// Copyright (c) Outercurve Foundation. All rights reserved. // </copyright> //----------------------------------------------------------------------- diff --git a/src/DotNetOpenAuth.OpenId/OpenId/AssociationContract.cs b/src/DotNetOpenAuth.OpenId/OpenId/AssociationContract.cs index e36028e..e04a332 100644 --- a/src/DotNetOpenAuth.OpenId/OpenId/AssociationContract.cs +++ b/src/DotNetOpenAuth.OpenId/OpenId/AssociationContract.cs @@ -1,6 +1,6 @@ //----------------------------------------------------------------------- -// <copyright file="AssociationContract.cs" company="Andrew Arnott"> -// Copyright (c) Andrew Arnott. All rights reserved. +// <copyright file="AssociationContract.cs" company="Outercurve Foundation"> +// Copyright (c) Outercurve Foundation. All rights reserved. // </copyright> //----------------------------------------------------------------------- diff --git a/src/DotNetOpenAuth.OpenId/OpenId/AuthenticationRequestMode.cs b/src/DotNetOpenAuth.OpenId/OpenId/AuthenticationRequestMode.cs index dfe7b06..eb2a4bd 100644 --- a/src/DotNetOpenAuth.OpenId/OpenId/AuthenticationRequestMode.cs +++ b/src/DotNetOpenAuth.OpenId/OpenId/AuthenticationRequestMode.cs @@ -1,6 +1,6 @@ //----------------------------------------------------------------------- -// <copyright file="AuthenticationRequestMode.cs" company="Andrew Arnott"> -// Copyright (c) Andrew Arnott. All rights reserved. +// <copyright file="AuthenticationRequestMode.cs" company="Outercurve Foundation"> +// Copyright (c) Outercurve Foundation. All rights reserved. // </copyright> //----------------------------------------------------------------------- diff --git a/src/DotNetOpenAuth.OpenId/OpenId/Behaviors/AXFetchAsSregTransformBase.cs b/src/DotNetOpenAuth.OpenId/OpenId/Behaviors/AXFetchAsSregTransformBase.cs index 41e6b8e..b5a29b0 100644 --- a/src/DotNetOpenAuth.OpenId/OpenId/Behaviors/AXFetchAsSregTransformBase.cs +++ b/src/DotNetOpenAuth.OpenId/OpenId/Behaviors/AXFetchAsSregTransformBase.cs @@ -1,6 +1,6 @@ //----------------------------------------------------------------------- -// <copyright file="AXFetchAsSregTransformBase.cs" company="Andrew Arnott"> -// Copyright (c) Andrew Arnott. All rights reserved. +// <copyright file="AXFetchAsSregTransformBase.cs" company="Outercurve Foundation"> +// Copyright (c) Outercurve Foundation. All rights reserved. // </copyright> //----------------------------------------------------------------------- diff --git a/src/DotNetOpenAuth.OpenId/OpenId/Behaviors/GsaIcamProfileBase.cs b/src/DotNetOpenAuth.OpenId/OpenId/Behaviors/GsaIcamProfileBase.cs index 25a4e59..c7352c8 100644 --- a/src/DotNetOpenAuth.OpenId/OpenId/Behaviors/GsaIcamProfileBase.cs +++ b/src/DotNetOpenAuth.OpenId/OpenId/Behaviors/GsaIcamProfileBase.cs @@ -1,6 +1,6 @@ //----------------------------------------------------------------------- -// <copyright file="GsaIcamProfileBase.cs" company="Andrew Arnott"> -// Copyright (c) Andrew Arnott. All rights reserved. +// <copyright file="GsaIcamProfileBase.cs" company="Outercurve Foundation"> +// Copyright (c) Outercurve Foundation. All rights reserved. // </copyright> //----------------------------------------------------------------------- diff --git a/src/DotNetOpenAuth.OpenId/OpenId/ChannelElements/BackwardCompatibilityBindingElement.cs b/src/DotNetOpenAuth.OpenId/OpenId/ChannelElements/BackwardCompatibilityBindingElement.cs index b730b1f..ff8a766 100644 --- a/src/DotNetOpenAuth.OpenId/OpenId/ChannelElements/BackwardCompatibilityBindingElement.cs +++ b/src/DotNetOpenAuth.OpenId/OpenId/ChannelElements/BackwardCompatibilityBindingElement.cs @@ -1,6 +1,6 @@ //----------------------------------------------------------------------- -// <copyright file="BackwardCompatibilityBindingElement.cs" company="Andrew Arnott"> -// Copyright (c) Andrew Arnott. All rights reserved. +// <copyright file="BackwardCompatibilityBindingElement.cs" company="Outercurve Foundation"> +// Copyright (c) Outercurve Foundation. All rights reserved. // </copyright> //----------------------------------------------------------------------- diff --git a/src/DotNetOpenAuth.OpenId/OpenId/ChannelElements/ExtensionsBindingElement.cs b/src/DotNetOpenAuth.OpenId/OpenId/ChannelElements/ExtensionsBindingElement.cs index 705f737..46d08a3 100644 --- a/src/DotNetOpenAuth.OpenId/OpenId/ChannelElements/ExtensionsBindingElement.cs +++ b/src/DotNetOpenAuth.OpenId/OpenId/ChannelElements/ExtensionsBindingElement.cs @@ -1,6 +1,6 @@ //----------------------------------------------------------------------- -// <copyright file="ExtensionsBindingElement.cs" company="Andrew Arnott"> -// Copyright (c) Andrew Arnott. All rights reserved. +// <copyright file="ExtensionsBindingElement.cs" company="Outercurve Foundation"> +// Copyright (c) Outercurve Foundation. All rights reserved. // </copyright> //----------------------------------------------------------------------- diff --git a/src/DotNetOpenAuth.OpenId/OpenId/ChannelElements/IOpenIdExtensionFactory.cs b/src/DotNetOpenAuth.OpenId/OpenId/ChannelElements/IOpenIdExtensionFactory.cs index 0c8d95e..6c47ab5 100644 --- a/src/DotNetOpenAuth.OpenId/OpenId/ChannelElements/IOpenIdExtensionFactory.cs +++ b/src/DotNetOpenAuth.OpenId/OpenId/ChannelElements/IOpenIdExtensionFactory.cs @@ -1,6 +1,6 @@ //----------------------------------------------------------------------- -// <copyright file="IOpenIdExtensionFactory.cs" company="Andrew Arnott"> -// Copyright (c) Andrew Arnott. All rights reserved. +// <copyright file="IOpenIdExtensionFactory.cs" company="Outercurve Foundation"> +// Copyright (c) Outercurve Foundation. All rights reserved. // </copyright> //----------------------------------------------------------------------- diff --git a/src/DotNetOpenAuth.OpenId/OpenId/ChannelElements/ITamperResistantOpenIdMessage.cs b/src/DotNetOpenAuth.OpenId/OpenId/ChannelElements/ITamperResistantOpenIdMessage.cs index 533e818..379e5e7 100644 --- a/src/DotNetOpenAuth.OpenId/OpenId/ChannelElements/ITamperResistantOpenIdMessage.cs +++ b/src/DotNetOpenAuth.OpenId/OpenId/ChannelElements/ITamperResistantOpenIdMessage.cs @@ -1,6 +1,6 @@ //----------------------------------------------------------------------- -// <copyright file="ITamperResistantOpenIdMessage.cs" company="Andrew Arnott"> -// Copyright (c) Andrew Arnott. All rights reserved. +// <copyright file="ITamperResistantOpenIdMessage.cs" company="Outercurve Foundation"> +// Copyright (c) Outercurve Foundation. All rights reserved. // </copyright> //----------------------------------------------------------------------- diff --git a/src/DotNetOpenAuth.OpenId/OpenId/ChannelElements/KeyValueFormEncoding.cs b/src/DotNetOpenAuth.OpenId/OpenId/ChannelElements/KeyValueFormEncoding.cs index 1993cb4..cdd1085 100644 --- a/src/DotNetOpenAuth.OpenId/OpenId/ChannelElements/KeyValueFormEncoding.cs +++ b/src/DotNetOpenAuth.OpenId/OpenId/ChannelElements/KeyValueFormEncoding.cs @@ -1,6 +1,6 @@ //----------------------------------------------------------------------- -// <copyright file="KeyValueFormEncoding.cs" company="Andrew Arnott"> -// Copyright (c) Andrew Arnott. All rights reserved. +// <copyright file="KeyValueFormEncoding.cs" company="Outercurve Foundation"> +// Copyright (c) Outercurve Foundation. All rights reserved. // </copyright> //----------------------------------------------------------------------- diff --git a/src/DotNetOpenAuth.OpenId/OpenId/ChannelElements/OpenIdChannel.cs b/src/DotNetOpenAuth.OpenId/OpenId/ChannelElements/OpenIdChannel.cs index a2a5c88..357c02d 100644 --- a/src/DotNetOpenAuth.OpenId/OpenId/ChannelElements/OpenIdChannel.cs +++ b/src/DotNetOpenAuth.OpenId/OpenId/ChannelElements/OpenIdChannel.cs @@ -1,6 +1,6 @@ //----------------------------------------------------------------------- -// <copyright file="OpenIdChannel.cs" company="Andrew Arnott"> -// Copyright (c) Andrew Arnott. All rights reserved. +// <copyright file="OpenIdChannel.cs" company="Outercurve Foundation"> +// Copyright (c) Outercurve Foundation. All rights reserved. // </copyright> //----------------------------------------------------------------------- @@ -181,6 +181,7 @@ namespace DotNetOpenAuth.OpenId.ChannelElements { byte[] keyValueEncoding = KeyValueFormEncoding.GetBytes(fields); OutgoingWebResponse preparedResponse = new OutgoingWebResponse(); + this.ApplyMessageTemplate(response, preparedResponse); preparedResponse.Headers.Add(HttpResponseHeader.ContentType, KeyValueFormContentType); preparedResponse.OriginalMessage = response; preparedResponse.ResponseStream = new MemoryStream(keyValueEncoding); diff --git a/src/DotNetOpenAuth.OpenId/OpenId/ChannelElements/OriginalStringUriEncoder.cs b/src/DotNetOpenAuth.OpenId/OpenId/ChannelElements/OriginalStringUriEncoder.cs index 75b01e1..9496e66 100644 --- a/src/DotNetOpenAuth.OpenId/OpenId/ChannelElements/OriginalStringUriEncoder.cs +++ b/src/DotNetOpenAuth.OpenId/OpenId/ChannelElements/OriginalStringUriEncoder.cs @@ -1,6 +1,6 @@ //----------------------------------------------------------------------- -// <copyright file="OriginalStringUriEncoder.cs" company="Andrew Arnott"> -// Copyright (c) Andrew Arnott. All rights reserved. +// <copyright file="OriginalStringUriEncoder.cs" company="Outercurve Foundation"> +// Copyright (c) Outercurve Foundation. All rights reserved. // </copyright> //----------------------------------------------------------------------- diff --git a/src/DotNetOpenAuth.OpenId/OpenId/ChannelElements/ReturnToSignatureBindingElement.cs b/src/DotNetOpenAuth.OpenId/OpenId/ChannelElements/ReturnToSignatureBindingElement.cs index 25a29bb..ec16fae 100644 --- a/src/DotNetOpenAuth.OpenId/OpenId/ChannelElements/ReturnToSignatureBindingElement.cs +++ b/src/DotNetOpenAuth.OpenId/OpenId/ChannelElements/ReturnToSignatureBindingElement.cs @@ -1,6 +1,6 @@ //----------------------------------------------------------------------- -// <copyright file="ReturnToSignatureBindingElement.cs" company="Andrew Arnott"> -// Copyright (c) Andrew Arnott. All rights reserved. +// <copyright file="ReturnToSignatureBindingElement.cs" company="Outercurve Foundation"> +// Copyright (c) Outercurve Foundation. All rights reserved. // </copyright> //----------------------------------------------------------------------- diff --git a/src/DotNetOpenAuth.OpenId/OpenId/ChannelElements/SigningBindingElement.cs b/src/DotNetOpenAuth.OpenId/OpenId/ChannelElements/SigningBindingElement.cs index d14ca8a..ebe20d2 100644 --- a/src/DotNetOpenAuth.OpenId/OpenId/ChannelElements/SigningBindingElement.cs +++ b/src/DotNetOpenAuth.OpenId/OpenId/ChannelElements/SigningBindingElement.cs @@ -1,6 +1,6 @@ //----------------------------------------------------------------------- -// <copyright file="SigningBindingElement.cs" company="Andrew Arnott"> -// Copyright (c) Andrew Arnott. All rights reserved. +// <copyright file="SigningBindingElement.cs" company="Outercurve Foundation"> +// Copyright (c) Outercurve Foundation. All rights reserved. // </copyright> //----------------------------------------------------------------------- diff --git a/src/DotNetOpenAuth.OpenId/OpenId/ChannelElements/SigningBindingElementContract.cs b/src/DotNetOpenAuth.OpenId/OpenId/ChannelElements/SigningBindingElementContract.cs index bf8b18d..bacbb29 100644 --- a/src/DotNetOpenAuth.OpenId/OpenId/ChannelElements/SigningBindingElementContract.cs +++ b/src/DotNetOpenAuth.OpenId/OpenId/ChannelElements/SigningBindingElementContract.cs @@ -1,6 +1,6 @@ //----------------------------------------------------------------------- -// <copyright file="SigningBindingElementContract.cs" company="Andrew Arnott"> -// Copyright (c) Andrew Arnott. All rights reserved. +// <copyright file="SigningBindingElementContract.cs" company="Outercurve Foundation"> +// Copyright (c) Outercurve Foundation. All rights reserved. // </copyright> //----------------------------------------------------------------------- diff --git a/src/DotNetOpenAuth.OpenId/OpenId/ChannelElements/SkipSecurityBindingElement.cs b/src/DotNetOpenAuth.OpenId/OpenId/ChannelElements/SkipSecurityBindingElement.cs index ad65a83..d162cf6 100644 --- a/src/DotNetOpenAuth.OpenId/OpenId/ChannelElements/SkipSecurityBindingElement.cs +++ b/src/DotNetOpenAuth.OpenId/OpenId/ChannelElements/SkipSecurityBindingElement.cs @@ -1,6 +1,6 @@ //----------------------------------------------------------------------- -// <copyright file="SkipSecurityBindingElement.cs" company="Andrew Arnott"> -// Copyright (c) Andrew Arnott. All rights reserved. +// <copyright file="SkipSecurityBindingElement.cs" company="Outercurve Foundation"> +// Copyright (c) Outercurve Foundation. All rights reserved. // </copyright> //----------------------------------------------------------------------- diff --git a/src/DotNetOpenAuth.OpenId/OpenId/DiffieHellmanUtilities.cs b/src/DotNetOpenAuth.OpenId/OpenId/DiffieHellmanUtilities.cs index e7e1bf8..5c18275 100644 --- a/src/DotNetOpenAuth.OpenId/OpenId/DiffieHellmanUtilities.cs +++ b/src/DotNetOpenAuth.OpenId/OpenId/DiffieHellmanUtilities.cs @@ -1,6 +1,6 @@ //----------------------------------------------------------------------- -// <copyright file="DiffieHellmanUtilities.cs" company="Andrew Arnott"> -// Copyright (c) Andrew Arnott. All rights reserved. +// <copyright file="DiffieHellmanUtilities.cs" company="Outercurve Foundation"> +// Copyright (c) Outercurve Foundation. All rights reserved. // </copyright> //----------------------------------------------------------------------- diff --git a/src/DotNetOpenAuth.OpenId/OpenId/Extensions/AliasManager.cs b/src/DotNetOpenAuth.OpenId/OpenId/Extensions/AliasManager.cs index f6878ec..ff3d3f3 100644 --- a/src/DotNetOpenAuth.OpenId/OpenId/Extensions/AliasManager.cs +++ b/src/DotNetOpenAuth.OpenId/OpenId/Extensions/AliasManager.cs @@ -1,6 +1,6 @@ //----------------------------------------------------------------------- -// <copyright file="AliasManager.cs" company="Andrew Arnott"> -// Copyright (c) Andrew Arnott. All rights reserved. +// <copyright file="AliasManager.cs" company="Outercurve Foundation"> +// Copyright (c) Outercurve Foundation. All rights reserved. // </copyright> //----------------------------------------------------------------------- diff --git a/src/DotNetOpenAuth.OpenId/OpenId/Extensions/AttributeExchange/AXAttributeFormats.cs b/src/DotNetOpenAuth.OpenId/OpenId/Extensions/AttributeExchange/AXAttributeFormats.cs index decd296..2fafa60 100644 --- a/src/DotNetOpenAuth.OpenId/OpenId/Extensions/AttributeExchange/AXAttributeFormats.cs +++ b/src/DotNetOpenAuth.OpenId/OpenId/Extensions/AttributeExchange/AXAttributeFormats.cs @@ -1,6 +1,6 @@ //----------------------------------------------------------------------- -// <copyright file="AXAttributeFormats.cs" company="Andrew Arnott"> -// Copyright (c) Andrew Arnott. All rights reserved. +// <copyright file="AXAttributeFormats.cs" company="Outercurve Foundation"> +// Copyright (c) Outercurve Foundation. All rights reserved. // </copyright> //----------------------------------------------------------------------- diff --git a/src/DotNetOpenAuth.OpenId/OpenId/Extensions/AttributeExchange/AXUtilities.cs b/src/DotNetOpenAuth.OpenId/OpenId/Extensions/AttributeExchange/AXUtilities.cs index 96cc437..20b8a79 100644 --- a/src/DotNetOpenAuth.OpenId/OpenId/Extensions/AttributeExchange/AXUtilities.cs +++ b/src/DotNetOpenAuth.OpenId/OpenId/Extensions/AttributeExchange/AXUtilities.cs @@ -1,6 +1,6 @@ //----------------------------------------------------------------------- -// <copyright file="AXUtilities.cs" company="Andrew Arnott"> -// Copyright (c) Andrew Arnott. All rights reserved. +// <copyright file="AXUtilities.cs" company="Outercurve Foundation"> +// Copyright (c) Outercurve Foundation. All rights reserved. // </copyright> //----------------------------------------------------------------------- diff --git a/src/DotNetOpenAuth.OpenId/OpenId/Extensions/AttributeExchange/AttributeRequest.cs b/src/DotNetOpenAuth.OpenId/OpenId/Extensions/AttributeExchange/AttributeRequest.cs index cbcbff6..6590cd1 100644 --- a/src/DotNetOpenAuth.OpenId/OpenId/Extensions/AttributeExchange/AttributeRequest.cs +++ b/src/DotNetOpenAuth.OpenId/OpenId/Extensions/AttributeExchange/AttributeRequest.cs @@ -1,6 +1,6 @@ //----------------------------------------------------------------------- -// <copyright file="AttributeRequest.cs" company="Andrew Arnott"> -// Copyright (c) Andrew Arnott. All rights reserved. +// <copyright file="AttributeRequest.cs" company="Outercurve Foundation"> +// Copyright (c) Outercurve Foundation. All rights reserved. // </copyright> //----------------------------------------------------------------------- diff --git a/src/DotNetOpenAuth.OpenId/OpenId/Extensions/AttributeExchange/AttributeValues.cs b/src/DotNetOpenAuth.OpenId/OpenId/Extensions/AttributeExchange/AttributeValues.cs index 37ebe38..44aad04 100644 --- a/src/DotNetOpenAuth.OpenId/OpenId/Extensions/AttributeExchange/AttributeValues.cs +++ b/src/DotNetOpenAuth.OpenId/OpenId/Extensions/AttributeExchange/AttributeValues.cs @@ -1,6 +1,6 @@ //----------------------------------------------------------------------- -// <copyright file="AttributeValues.cs" company="Andrew Arnott"> -// Copyright (c) Andrew Arnott. All rights reserved. +// <copyright file="AttributeValues.cs" company="Outercurve Foundation"> +// Copyright (c) Outercurve Foundation. All rights reserved. // </copyright> //----------------------------------------------------------------------- diff --git a/src/DotNetOpenAuth.OpenId/OpenId/Extensions/AttributeExchange/Constants.cs b/src/DotNetOpenAuth.OpenId/OpenId/Extensions/AttributeExchange/Constants.cs index 167d0d2..0f13306 100644 --- a/src/DotNetOpenAuth.OpenId/OpenId/Extensions/AttributeExchange/Constants.cs +++ b/src/DotNetOpenAuth.OpenId/OpenId/Extensions/AttributeExchange/Constants.cs @@ -1,6 +1,6 @@ //----------------------------------------------------------------------- -// <copyright file="Constants.cs" company="Andrew Arnott"> -// Copyright (c) Andrew Arnott. All rights reserved. +// <copyright file="Constants.cs" company="Outercurve Foundation"> +// Copyright (c) Outercurve Foundation. All rights reserved. // </copyright> //----------------------------------------------------------------------- diff --git a/src/DotNetOpenAuth.OpenId/OpenId/Extensions/AttributeExchange/FetchRequest.cs b/src/DotNetOpenAuth.OpenId/OpenId/Extensions/AttributeExchange/FetchRequest.cs index 124a18c..ff47ee6 100644 --- a/src/DotNetOpenAuth.OpenId/OpenId/Extensions/AttributeExchange/FetchRequest.cs +++ b/src/DotNetOpenAuth.OpenId/OpenId/Extensions/AttributeExchange/FetchRequest.cs @@ -1,6 +1,6 @@ //----------------------------------------------------------------------- -// <copyright file="FetchRequest.cs" company="Andrew Arnott"> -// Copyright (c) Andrew Arnott. All rights reserved. +// <copyright file="FetchRequest.cs" company="Outercurve Foundation"> +// Copyright (c) Outercurve Foundation. All rights reserved. // </copyright> //----------------------------------------------------------------------- diff --git a/src/DotNetOpenAuth.OpenId/OpenId/Extensions/AttributeExchange/FetchResponse.cs b/src/DotNetOpenAuth.OpenId/OpenId/Extensions/AttributeExchange/FetchResponse.cs index 14b1caa..d5633c3 100644 --- a/src/DotNetOpenAuth.OpenId/OpenId/Extensions/AttributeExchange/FetchResponse.cs +++ b/src/DotNetOpenAuth.OpenId/OpenId/Extensions/AttributeExchange/FetchResponse.cs @@ -1,6 +1,6 @@ //----------------------------------------------------------------------- -// <copyright file="FetchResponse.cs" company="Andrew Arnott"> -// Copyright (c) Andrew Arnott. All rights reserved. +// <copyright file="FetchResponse.cs" company="Outercurve Foundation"> +// Copyright (c) Outercurve Foundation. All rights reserved. // </copyright> //----------------------------------------------------------------------- diff --git a/src/DotNetOpenAuth.OpenId/OpenId/Extensions/AttributeExchange/StoreRequest.cs b/src/DotNetOpenAuth.OpenId/OpenId/Extensions/AttributeExchange/StoreRequest.cs index 641b17a..57ce43a 100644 --- a/src/DotNetOpenAuth.OpenId/OpenId/Extensions/AttributeExchange/StoreRequest.cs +++ b/src/DotNetOpenAuth.OpenId/OpenId/Extensions/AttributeExchange/StoreRequest.cs @@ -1,6 +1,6 @@ //----------------------------------------------------------------------- -// <copyright file="StoreRequest.cs" company="Andrew Arnott"> -// Copyright (c) Andrew Arnott. All rights reserved. +// <copyright file="StoreRequest.cs" company="Outercurve Foundation"> +// Copyright (c) Outercurve Foundation. All rights reserved. // </copyright> //----------------------------------------------------------------------- diff --git a/src/DotNetOpenAuth.OpenId/OpenId/Extensions/AttributeExchange/StoreResponse.cs b/src/DotNetOpenAuth.OpenId/OpenId/Extensions/AttributeExchange/StoreResponse.cs index ba7f091..aff6bd6 100644 --- a/src/DotNetOpenAuth.OpenId/OpenId/Extensions/AttributeExchange/StoreResponse.cs +++ b/src/DotNetOpenAuth.OpenId/OpenId/Extensions/AttributeExchange/StoreResponse.cs @@ -1,6 +1,6 @@ //----------------------------------------------------------------------- -// <copyright file="StoreResponse.cs" company="Andrew Arnott"> -// Copyright (c) Andrew Arnott. All rights reserved. +// <copyright file="StoreResponse.cs" company="Outercurve Foundation"> +// Copyright (c) Outercurve Foundation. All rights reserved. // </copyright> //----------------------------------------------------------------------- diff --git a/src/DotNetOpenAuth.OpenId/OpenId/Extensions/AttributeExchange/WellKnownAttributes.cs b/src/DotNetOpenAuth.OpenId/OpenId/Extensions/AttributeExchange/WellKnownAttributes.cs index 5aa89c6..c48b804 100644 --- a/src/DotNetOpenAuth.OpenId/OpenId/Extensions/AttributeExchange/WellKnownAttributes.cs +++ b/src/DotNetOpenAuth.OpenId/OpenId/Extensions/AttributeExchange/WellKnownAttributes.cs @@ -1,6 +1,6 @@ //----------------------------------------------------------------------- -// <copyright file="WellKnownAttributes.cs" company="Andrew Arnott"> -// Copyright (c) Andrew Arnott. All rights reserved. +// <copyright file="WellKnownAttributes.cs" company="Outercurve Foundation"> +// Copyright (c) Outercurve Foundation. All rights reserved. // </copyright> //----------------------------------------------------------------------- diff --git a/src/DotNetOpenAuth.OpenId/OpenId/Extensions/ExtensionArgumentsManager.cs b/src/DotNetOpenAuth.OpenId/OpenId/Extensions/ExtensionArgumentsManager.cs index 328d81f..5cd4904 100644 --- a/src/DotNetOpenAuth.OpenId/OpenId/Extensions/ExtensionArgumentsManager.cs +++ b/src/DotNetOpenAuth.OpenId/OpenId/Extensions/ExtensionArgumentsManager.cs @@ -1,6 +1,6 @@ //----------------------------------------------------------------------- -// <copyright file="ExtensionArgumentsManager.cs" company="Andrew Arnott"> -// Copyright (c) Andrew Arnott. All rights reserved. +// <copyright file="ExtensionArgumentsManager.cs" company="Outercurve Foundation"> +// Copyright (c) Outercurve Foundation. All rights reserved. // </copyright> //----------------------------------------------------------------------- diff --git a/src/DotNetOpenAuth.OpenId/OpenId/Extensions/ExtensionBase.cs b/src/DotNetOpenAuth.OpenId/OpenId/Extensions/ExtensionBase.cs index 108ac52..09d690a 100644 --- a/src/DotNetOpenAuth.OpenId/OpenId/Extensions/ExtensionBase.cs +++ b/src/DotNetOpenAuth.OpenId/OpenId/Extensions/ExtensionBase.cs @@ -1,6 +1,6 @@ //----------------------------------------------------------------------- -// <copyright file="ExtensionBase.cs" company="Andrew Arnott"> -// Copyright (c) Andrew Arnott. All rights reserved. +// <copyright file="ExtensionBase.cs" company="Outercurve Foundation"> +// Copyright (c) Outercurve Foundation. All rights reserved. // </copyright> //----------------------------------------------------------------------- diff --git a/src/DotNetOpenAuth.OpenId/OpenId/Extensions/IClientScriptExtensionResponse.cs b/src/DotNetOpenAuth.OpenId/OpenId/Extensions/IClientScriptExtensionResponse.cs index b44f797..d60e78e 100644 --- a/src/DotNetOpenAuth.OpenId/OpenId/Extensions/IClientScriptExtensionResponse.cs +++ b/src/DotNetOpenAuth.OpenId/OpenId/Extensions/IClientScriptExtensionResponse.cs @@ -1,6 +1,6 @@ //----------------------------------------------------------------------- -// <copyright file="IClientScriptExtensionResponse.cs" company="Andrew Arnott"> -// Copyright (c) Andrew Arnott. All rights reserved. +// <copyright file="IClientScriptExtensionResponse.cs" company="Outercurve Foundation"> +// Copyright (c) Outercurve Foundation. All rights reserved. // </copyright> //----------------------------------------------------------------------- diff --git a/src/DotNetOpenAuth.OpenId/OpenId/Extensions/OAuth/AuthorizationApprovedResponse.cs b/src/DotNetOpenAuth.OpenId/OpenId/Extensions/OAuth/AuthorizationApprovedResponse.cs index 5e7bc49..2e0f468 100644 --- a/src/DotNetOpenAuth.OpenId/OpenId/Extensions/OAuth/AuthorizationApprovedResponse.cs +++ b/src/DotNetOpenAuth.OpenId/OpenId/Extensions/OAuth/AuthorizationApprovedResponse.cs @@ -1,6 +1,6 @@ //----------------------------------------------------------------------- -// <copyright file="AuthorizationApprovedResponse.cs" company="Andrew Arnott"> -// Copyright (c) Andrew Arnott. All rights reserved. +// <copyright file="AuthorizationApprovedResponse.cs" company="Outercurve Foundation"> +// Copyright (c) Outercurve Foundation. All rights reserved. // </copyright> //----------------------------------------------------------------------- diff --git a/src/DotNetOpenAuth.OpenId/OpenId/Extensions/OAuth/AuthorizationDeclinedResponse.cs b/src/DotNetOpenAuth.OpenId/OpenId/Extensions/OAuth/AuthorizationDeclinedResponse.cs index 7c3a5ad..3925a1d 100644 --- a/src/DotNetOpenAuth.OpenId/OpenId/Extensions/OAuth/AuthorizationDeclinedResponse.cs +++ b/src/DotNetOpenAuth.OpenId/OpenId/Extensions/OAuth/AuthorizationDeclinedResponse.cs @@ -1,6 +1,6 @@ //----------------------------------------------------------------------- -// <copyright file="AuthorizationDeclinedResponse.cs" company="Andrew Arnott"> -// Copyright (c) Andrew Arnott. All rights reserved. +// <copyright file="AuthorizationDeclinedResponse.cs" company="Outercurve Foundation"> +// Copyright (c) Outercurve Foundation. All rights reserved. // </copyright> //----------------------------------------------------------------------- diff --git a/src/DotNetOpenAuth.OpenId/OpenId/Extensions/OAuth/AuthorizationRequest.cs b/src/DotNetOpenAuth.OpenId/OpenId/Extensions/OAuth/AuthorizationRequest.cs index 99f0880..9e0116a 100644 --- a/src/DotNetOpenAuth.OpenId/OpenId/Extensions/OAuth/AuthorizationRequest.cs +++ b/src/DotNetOpenAuth.OpenId/OpenId/Extensions/OAuth/AuthorizationRequest.cs @@ -1,6 +1,6 @@ //----------------------------------------------------------------------- -// <copyright file="AuthorizationRequest.cs" company="Andrew Arnott"> -// Copyright (c) Andrew Arnott. All rights reserved. +// <copyright file="AuthorizationRequest.cs" company="Outercurve Foundation"> +// Copyright (c) Outercurve Foundation. All rights reserved. // </copyright> //----------------------------------------------------------------------- diff --git a/src/DotNetOpenAuth.OpenId/OpenId/Extensions/OAuth/Constants.cs b/src/DotNetOpenAuth.OpenId/OpenId/Extensions/OAuth/Constants.cs index 32efee9..e439aff 100644 --- a/src/DotNetOpenAuth.OpenId/OpenId/Extensions/OAuth/Constants.cs +++ b/src/DotNetOpenAuth.OpenId/OpenId/Extensions/OAuth/Constants.cs @@ -1,6 +1,6 @@ //----------------------------------------------------------------------- -// <copyright file="Constants.cs" company="Andrew Arnott"> -// Copyright (c) Andrew Arnott. All rights reserved. +// <copyright file="Constants.cs" company="Outercurve Foundation"> +// Copyright (c) Outercurve Foundation. All rights reserved. // </copyright> //----------------------------------------------------------------------- diff --git a/src/DotNetOpenAuth.OpenId/OpenId/Extensions/OpenIdExtensionFactoryAggregator.cs b/src/DotNetOpenAuth.OpenId/OpenId/Extensions/OpenIdExtensionFactoryAggregator.cs index 95dd2c9..2b851dd 100644 --- a/src/DotNetOpenAuth.OpenId/OpenId/Extensions/OpenIdExtensionFactoryAggregator.cs +++ b/src/DotNetOpenAuth.OpenId/OpenId/Extensions/OpenIdExtensionFactoryAggregator.cs @@ -1,6 +1,6 @@ //----------------------------------------------------------------------- -// <copyright file="OpenIdExtensionFactoryAggregator.cs" company="Andrew Arnott"> -// Copyright (c) Andrew Arnott. All rights reserved. +// <copyright file="OpenIdExtensionFactoryAggregator.cs" company="Outercurve Foundation"> +// Copyright (c) Outercurve Foundation. All rights reserved. // </copyright> //----------------------------------------------------------------------- diff --git a/src/DotNetOpenAuth.OpenId/OpenId/Extensions/OpenIdExtensionsInteropHelper.cs b/src/DotNetOpenAuth.OpenId/OpenId/Extensions/OpenIdExtensionsInteropHelper.cs index fb6202e..f9d3062 100644 --- a/src/DotNetOpenAuth.OpenId/OpenId/Extensions/OpenIdExtensionsInteropHelper.cs +++ b/src/DotNetOpenAuth.OpenId/OpenId/Extensions/OpenIdExtensionsInteropHelper.cs @@ -1,6 +1,6 @@ //----------------------------------------------------------------------- -// <copyright file="OpenIdExtensionsInteropHelper.cs" company="Andrew Arnott"> -// Copyright (c) Andrew Arnott. All rights reserved. +// <copyright file="OpenIdExtensionsInteropHelper.cs" company="Outercurve Foundation"> +// Copyright (c) Outercurve Foundation. All rights reserved. // </copyright> //----------------------------------------------------------------------- diff --git a/src/DotNetOpenAuth.OpenId/OpenId/Extensions/ProviderAuthenticationPolicy/AuthenticationPolicies.cs b/src/DotNetOpenAuth.OpenId/OpenId/Extensions/ProviderAuthenticationPolicy/AuthenticationPolicies.cs index 99c7a2e..cb44d63 100644 --- a/src/DotNetOpenAuth.OpenId/OpenId/Extensions/ProviderAuthenticationPolicy/AuthenticationPolicies.cs +++ b/src/DotNetOpenAuth.OpenId/OpenId/Extensions/ProviderAuthenticationPolicy/AuthenticationPolicies.cs @@ -1,6 +1,6 @@ //----------------------------------------------------------------------- -// <copyright file="AuthenticationPolicies.cs" company="Andrew Arnott"> -// Copyright (c) Andrew Arnott. All rights reserved. +// <copyright file="AuthenticationPolicies.cs" company="Outercurve Foundation"> +// Copyright (c) Outercurve Foundation. All rights reserved. // </copyright> //----------------------------------------------------------------------- diff --git a/src/DotNetOpenAuth.OpenId/OpenId/Extensions/ProviderAuthenticationPolicy/Constants.cs b/src/DotNetOpenAuth.OpenId/OpenId/Extensions/ProviderAuthenticationPolicy/Constants.cs index 93e76d5..33dd990 100644 --- a/src/DotNetOpenAuth.OpenId/OpenId/Extensions/ProviderAuthenticationPolicy/Constants.cs +++ b/src/DotNetOpenAuth.OpenId/OpenId/Extensions/ProviderAuthenticationPolicy/Constants.cs @@ -1,6 +1,6 @@ //----------------------------------------------------------------------- -// <copyright file="Constants.cs" company="Andrew Arnott"> -// Copyright (c) Andrew Arnott. All rights reserved. +// <copyright file="Constants.cs" company="Outercurve Foundation"> +// Copyright (c) Outercurve Foundation. All rights reserved. // </copyright> //----------------------------------------------------------------------- diff --git a/src/DotNetOpenAuth.OpenId/OpenId/Extensions/ProviderAuthenticationPolicy/DateTimeEncoder.cs b/src/DotNetOpenAuth.OpenId/OpenId/Extensions/ProviderAuthenticationPolicy/DateTimeEncoder.cs index 9dc0574..621042a 100644 --- a/src/DotNetOpenAuth.OpenId/OpenId/Extensions/ProviderAuthenticationPolicy/DateTimeEncoder.cs +++ b/src/DotNetOpenAuth.OpenId/OpenId/Extensions/ProviderAuthenticationPolicy/DateTimeEncoder.cs @@ -1,6 +1,6 @@ //----------------------------------------------------------------------- -// <copyright file="DateTimeEncoder.cs" company="Andrew Arnott"> -// Copyright (c) Andrew Arnott. All rights reserved. +// <copyright file="DateTimeEncoder.cs" company="Outercurve Foundation"> +// Copyright (c) Outercurve Foundation. All rights reserved. // </copyright> //----------------------------------------------------------------------- diff --git a/src/DotNetOpenAuth.OpenId/OpenId/Extensions/ProviderAuthenticationPolicy/NistAssuranceLevel.cs b/src/DotNetOpenAuth.OpenId/OpenId/Extensions/ProviderAuthenticationPolicy/NistAssuranceLevel.cs index 3031aad..95977af 100644 --- a/src/DotNetOpenAuth.OpenId/OpenId/Extensions/ProviderAuthenticationPolicy/NistAssuranceLevel.cs +++ b/src/DotNetOpenAuth.OpenId/OpenId/Extensions/ProviderAuthenticationPolicy/NistAssuranceLevel.cs @@ -1,6 +1,6 @@ //----------------------------------------------------------------------- -// <copyright file="NistAssuranceLevel.cs" company="Andrew Arnott"> -// Copyright (c) Andrew Arnott. All rights reserved. +// <copyright file="NistAssuranceLevel.cs" company="Outercurve Foundation"> +// Copyright (c) Outercurve Foundation. All rights reserved. // </copyright> //----------------------------------------------------------------------- diff --git a/src/DotNetOpenAuth.OpenId/OpenId/Extensions/ProviderAuthenticationPolicy/PapeUtilities.cs b/src/DotNetOpenAuth.OpenId/OpenId/Extensions/ProviderAuthenticationPolicy/PapeUtilities.cs index d8ffb63..f017031 100644 --- a/src/DotNetOpenAuth.OpenId/OpenId/Extensions/ProviderAuthenticationPolicy/PapeUtilities.cs +++ b/src/DotNetOpenAuth.OpenId/OpenId/Extensions/ProviderAuthenticationPolicy/PapeUtilities.cs @@ -1,6 +1,6 @@ //----------------------------------------------------------------------- -// <copyright file="PapeUtilities.cs" company="Andrew Arnott"> -// Copyright (c) Andrew Arnott. All rights reserved. +// <copyright file="PapeUtilities.cs" company="Outercurve Foundation"> +// Copyright (c) Outercurve Foundation. All rights reserved. // </copyright> //----------------------------------------------------------------------- diff --git a/src/DotNetOpenAuth.OpenId/OpenId/Extensions/ProviderAuthenticationPolicy/PolicyRequest.cs b/src/DotNetOpenAuth.OpenId/OpenId/Extensions/ProviderAuthenticationPolicy/PolicyRequest.cs index 84589dc..0749205 100644 --- a/src/DotNetOpenAuth.OpenId/OpenId/Extensions/ProviderAuthenticationPolicy/PolicyRequest.cs +++ b/src/DotNetOpenAuth.OpenId/OpenId/Extensions/ProviderAuthenticationPolicy/PolicyRequest.cs @@ -1,6 +1,6 @@ //----------------------------------------------------------------------- -// <copyright file="PolicyRequest.cs" company="Andrew Arnott"> -// Copyright (c) Andrew Arnott. All rights reserved. +// <copyright file="PolicyRequest.cs" company="Outercurve Foundation"> +// Copyright (c) Outercurve Foundation. All rights reserved. // </copyright> //----------------------------------------------------------------------- diff --git a/src/DotNetOpenAuth.OpenId/OpenId/Extensions/ProviderAuthenticationPolicy/PolicyResponse.cs b/src/DotNetOpenAuth.OpenId/OpenId/Extensions/ProviderAuthenticationPolicy/PolicyResponse.cs index 1fddc22..373134d 100644 --- a/src/DotNetOpenAuth.OpenId/OpenId/Extensions/ProviderAuthenticationPolicy/PolicyResponse.cs +++ b/src/DotNetOpenAuth.OpenId/OpenId/Extensions/ProviderAuthenticationPolicy/PolicyResponse.cs @@ -1,6 +1,6 @@ //----------------------------------------------------------------------- -// <copyright file="PolicyResponse.cs" company="Andrew Arnott"> -// Copyright (c) Andrew Arnott. All rights reserved. +// <copyright file="PolicyResponse.cs" company="Outercurve Foundation"> +// Copyright (c) Outercurve Foundation. All rights reserved. // </copyright> //----------------------------------------------------------------------- diff --git a/src/DotNetOpenAuth.OpenId/OpenId/Extensions/SimpleRegistration/ClaimsRequest.cs b/src/DotNetOpenAuth.OpenId/OpenId/Extensions/SimpleRegistration/ClaimsRequest.cs index 18f63d4..9d418ee 100644 --- a/src/DotNetOpenAuth.OpenId/OpenId/Extensions/SimpleRegistration/ClaimsRequest.cs +++ b/src/DotNetOpenAuth.OpenId/OpenId/Extensions/SimpleRegistration/ClaimsRequest.cs @@ -1,6 +1,6 @@ //----------------------------------------------------------------------- -// <copyright file="ClaimsRequest.cs" company="Andrew Arnott"> -// Copyright (c) Andrew Arnott. All rights reserved. +// <copyright file="ClaimsRequest.cs" company="Outercurve Foundation"> +// Copyright (c) Outercurve Foundation. All rights reserved. // </copyright> //----------------------------------------------------------------------- diff --git a/src/DotNetOpenAuth.OpenId/OpenId/Extensions/SimpleRegistration/ClaimsResponse.cs b/src/DotNetOpenAuth.OpenId/OpenId/Extensions/SimpleRegistration/ClaimsResponse.cs index b50833b..999fe8d 100644 --- a/src/DotNetOpenAuth.OpenId/OpenId/Extensions/SimpleRegistration/ClaimsResponse.cs +++ b/src/DotNetOpenAuth.OpenId/OpenId/Extensions/SimpleRegistration/ClaimsResponse.cs @@ -1,6 +1,6 @@ //----------------------------------------------------------------------- -// <copyright file="ClaimsResponse.cs" company="Andrew Arnott"> -// Copyright (c) Andrew Arnott. All rights reserved. +// <copyright file="ClaimsResponse.cs" company="Outercurve Foundation"> +// Copyright (c) Outercurve Foundation. All rights reserved. // </copyright> //----------------------------------------------------------------------- diff --git a/src/DotNetOpenAuth.OpenId/OpenId/Extensions/SimpleRegistration/Constants.cs b/src/DotNetOpenAuth.OpenId/OpenId/Extensions/SimpleRegistration/Constants.cs index 9e00137..8325b0c 100644 --- a/src/DotNetOpenAuth.OpenId/OpenId/Extensions/SimpleRegistration/Constants.cs +++ b/src/DotNetOpenAuth.OpenId/OpenId/Extensions/SimpleRegistration/Constants.cs @@ -1,7 +1,7 @@ // <auto-generated/> // disable StyleCop on this file //----------------------------------------------------------------------- -// <copyright file="Constants.cs" company="Andrew Arnott"> -// Copyright (c) Andrew Arnott. All rights reserved. +// <copyright file="Constants.cs" company="Outercurve Foundation"> +// Copyright (c) Outercurve Foundation. All rights reserved. // </copyright> //----------------------------------------------------------------------- diff --git a/src/DotNetOpenAuth.OpenId/OpenId/Extensions/SimpleRegistration/DemandLevel.cs b/src/DotNetOpenAuth.OpenId/OpenId/Extensions/SimpleRegistration/DemandLevel.cs index 7129270..b814e84 100644 --- a/src/DotNetOpenAuth.OpenId/OpenId/Extensions/SimpleRegistration/DemandLevel.cs +++ b/src/DotNetOpenAuth.OpenId/OpenId/Extensions/SimpleRegistration/DemandLevel.cs @@ -1,6 +1,6 @@ //----------------------------------------------------------------------- -// <copyright file="DemandLevel.cs" company="Andrew Arnott"> -// Copyright (c) Andrew Arnott. All rights reserved. +// <copyright file="DemandLevel.cs" company="Outercurve Foundation"> +// Copyright (c) Outercurve Foundation. All rights reserved. // </copyright> //----------------------------------------------------------------------- diff --git a/src/DotNetOpenAuth.OpenId/OpenId/Extensions/SimpleRegistration/Gender.cs b/src/DotNetOpenAuth.OpenId/OpenId/Extensions/SimpleRegistration/Gender.cs index 979c481..05cbfbb 100644 --- a/src/DotNetOpenAuth.OpenId/OpenId/Extensions/SimpleRegistration/Gender.cs +++ b/src/DotNetOpenAuth.OpenId/OpenId/Extensions/SimpleRegistration/Gender.cs @@ -1,6 +1,6 @@ //----------------------------------------------------------------------- -// <copyright file="Gender.cs" company="Andrew Arnott"> -// Copyright (c) Andrew Arnott. All rights reserved. +// <copyright file="Gender.cs" company="Outercurve Foundation"> +// Copyright (c) Outercurve Foundation. All rights reserved. // </copyright> //----------------------------------------------------------------------- diff --git a/src/DotNetOpenAuth.OpenId/OpenId/Extensions/StandardOpenIdExtensionFactory.cs b/src/DotNetOpenAuth.OpenId/OpenId/Extensions/StandardOpenIdExtensionFactory.cs index 1dcda27..1e43c4a 100644 --- a/src/DotNetOpenAuth.OpenId/OpenId/Extensions/StandardOpenIdExtensionFactory.cs +++ b/src/DotNetOpenAuth.OpenId/OpenId/Extensions/StandardOpenIdExtensionFactory.cs @@ -1,6 +1,6 @@ //----------------------------------------------------------------------- -// <copyright file="StandardOpenIdExtensionFactory.cs" company="Andrew Arnott"> -// Copyright (c) Andrew Arnott. All rights reserved. +// <copyright file="StandardOpenIdExtensionFactory.cs" company="Outercurve Foundation"> +// Copyright (c) Outercurve Foundation. All rights reserved. // </copyright> //----------------------------------------------------------------------- diff --git a/src/DotNetOpenAuth.OpenId/OpenId/Extensions/UI/UIConstants.cs b/src/DotNetOpenAuth.OpenId/OpenId/Extensions/UI/UIConstants.cs index 1cc920a..9b15e4a 100644 --- a/src/DotNetOpenAuth.OpenId/OpenId/Extensions/UI/UIConstants.cs +++ b/src/DotNetOpenAuth.OpenId/OpenId/Extensions/UI/UIConstants.cs @@ -1,6 +1,6 @@ //----------------------------------------------------------------------- -// <copyright file="UIConstants.cs" company="Andrew Arnott"> -// Copyright (c) Andrew Arnott. All rights reserved. +// <copyright file="UIConstants.cs" company="Outercurve Foundation"> +// Copyright (c) Outercurve Foundation. All rights reserved. // </copyright> //----------------------------------------------------------------------- diff --git a/src/DotNetOpenAuth.OpenId/OpenId/Extensions/UI/UIModes.cs b/src/DotNetOpenAuth.OpenId/OpenId/Extensions/UI/UIModes.cs index 8e3e20f..10f1ed3 100644 --- a/src/DotNetOpenAuth.OpenId/OpenId/Extensions/UI/UIModes.cs +++ b/src/DotNetOpenAuth.OpenId/OpenId/Extensions/UI/UIModes.cs @@ -1,6 +1,6 @@ //----------------------------------------------------------------------- -// <copyright file="UIModes.cs" company="Andrew Arnott"> -// Copyright (c) Andrew Arnott. All rights reserved. +// <copyright file="UIModes.cs" company="Outercurve Foundation"> +// Copyright (c) Outercurve Foundation. All rights reserved. // </copyright> //----------------------------------------------------------------------- diff --git a/src/DotNetOpenAuth.OpenId/OpenId/Extensions/UI/UIRequest.cs b/src/DotNetOpenAuth.OpenId/OpenId/Extensions/UI/UIRequest.cs index 9d506ca..0902a00 100644 --- a/src/DotNetOpenAuth.OpenId/OpenId/Extensions/UI/UIRequest.cs +++ b/src/DotNetOpenAuth.OpenId/OpenId/Extensions/UI/UIRequest.cs @@ -1,6 +1,6 @@ //----------------------------------------------------------------------- -// <copyright file="UIRequest.cs" company="Andrew Arnott"> -// Copyright (c) Andrew Arnott. All rights reserved. +// <copyright file="UIRequest.cs" company="Outercurve Foundation"> +// Copyright (c) Outercurve Foundation. All rights reserved. // </copyright> //----------------------------------------------------------------------- diff --git a/src/DotNetOpenAuth.OpenId/OpenId/Extensions/UI/UIUtilities.cs b/src/DotNetOpenAuth.OpenId/OpenId/Extensions/UI/UIUtilities.cs index 478666b..19e333d 100644 --- a/src/DotNetOpenAuth.OpenId/OpenId/Extensions/UI/UIUtilities.cs +++ b/src/DotNetOpenAuth.OpenId/OpenId/Extensions/UI/UIUtilities.cs @@ -1,6 +1,6 @@ //----------------------------------------------------------------------- -// <copyright file="UIUtilities.cs" company="Andrew Arnott"> -// Copyright (c) Andrew Arnott. All rights reserved. +// <copyright file="UIUtilities.cs" company="Outercurve Foundation"> +// Copyright (c) Outercurve Foundation. All rights reserved. // </copyright> //----------------------------------------------------------------------- diff --git a/src/DotNetOpenAuth.OpenId/OpenId/HmacShaAssociation.cs b/src/DotNetOpenAuth.OpenId/OpenId/HmacShaAssociation.cs index 278cb2c..7c3ea3d 100644 --- a/src/DotNetOpenAuth.OpenId/OpenId/HmacShaAssociation.cs +++ b/src/DotNetOpenAuth.OpenId/OpenId/HmacShaAssociation.cs @@ -1,6 +1,6 @@ //----------------------------------------------------------------------- -// <copyright file="HmacShaAssociation.cs" company="Andrew Arnott"> -// Copyright (c) Andrew Arnott. All rights reserved. +// <copyright file="HmacShaAssociation.cs" company="Outercurve Foundation"> +// Copyright (c) Outercurve Foundation. All rights reserved. // </copyright> //----------------------------------------------------------------------- diff --git a/src/DotNetOpenAuth.OpenId/OpenId/IIdentifierDiscoveryService.cs b/src/DotNetOpenAuth.OpenId/OpenId/IIdentifierDiscoveryService.cs index f5cefe2..63c3895 100644 --- a/src/DotNetOpenAuth.OpenId/OpenId/IIdentifierDiscoveryService.cs +++ b/src/DotNetOpenAuth.OpenId/OpenId/IIdentifierDiscoveryService.cs @@ -1,6 +1,6 @@ //----------------------------------------------------------------------- -// <copyright file="IIdentifierDiscoveryService.cs" company="Andrew Arnott"> -// Copyright (c) Andrew Arnott. All rights reserved. +// <copyright file="IIdentifierDiscoveryService.cs" company="Outercurve Foundation"> +// Copyright (c) Outercurve Foundation. All rights reserved. // </copyright> //----------------------------------------------------------------------- diff --git a/src/DotNetOpenAuth.OpenId/OpenId/IOpenIdApplicationStore.cs b/src/DotNetOpenAuth.OpenId/OpenId/IOpenIdApplicationStore.cs index 6c04a81..b60f2b8 100644 --- a/src/DotNetOpenAuth.OpenId/OpenId/IOpenIdApplicationStore.cs +++ b/src/DotNetOpenAuth.OpenId/OpenId/IOpenIdApplicationStore.cs @@ -1,6 +1,6 @@ //----------------------------------------------------------------------- -// <copyright file="IOpenIdApplicationStore.cs" company="Andrew Arnott"> -// Copyright (c) Andrew Arnott. All rights reserved. +// <copyright file="IOpenIdApplicationStore.cs" company="Outercurve Foundation"> +// Copyright (c) Outercurve Foundation. All rights reserved. // </copyright> //----------------------------------------------------------------------- diff --git a/src/DotNetOpenAuth.OpenId/OpenId/IOpenIdHost.cs b/src/DotNetOpenAuth.OpenId/OpenId/IOpenIdHost.cs new file mode 100644 index 0000000..419cc84 --- /dev/null +++ b/src/DotNetOpenAuth.OpenId/OpenId/IOpenIdHost.cs @@ -0,0 +1,28 @@ +//----------------------------------------------------------------------- +// <copyright file="IOpenIdHost.cs" company="Outercurve Foundation"> +// Copyright (c) Outercurve Foundation. All rights reserved. +// </copyright> +//----------------------------------------------------------------------- + +namespace DotNetOpenAuth.OpenId { + using System; + using System.Collections.Generic; + using System.Linq; + using System.Text; + using DotNetOpenAuth.Messaging; + + /// <summary> + /// An interface implemented by both providers and relying parties. + /// </summary> + internal interface IOpenIdHost { + /// <summary> + /// Gets the security settings. + /// </summary> + SecuritySettings SecuritySettings { get; } + + /// <summary> + /// Gets the web request handler. + /// </summary> + IDirectWebRequestHandler WebRequestHandler { get; } + } +} diff --git a/src/DotNetOpenAuth.OpenId/OpenId/IProviderEndpoint.cs b/src/DotNetOpenAuth.OpenId/OpenId/IProviderEndpoint.cs index e2a8929..b2b231a 100644 --- a/src/DotNetOpenAuth.OpenId/OpenId/IProviderEndpoint.cs +++ b/src/DotNetOpenAuth.OpenId/OpenId/IProviderEndpoint.cs @@ -1,6 +1,6 @@ //----------------------------------------------------------------------- -// <copyright file="IProviderEndpoint.cs" company="Andrew Arnott"> -// Copyright (c) Andrew Arnott. All rights reserved. +// <copyright file="IProviderEndpoint.cs" company="Outercurve Foundation"> +// Copyright (c) Outercurve Foundation. All rights reserved. // </copyright> //----------------------------------------------------------------------- diff --git a/src/DotNetOpenAuth.OpenId/OpenId/Identifier.cs b/src/DotNetOpenAuth.OpenId/OpenId/Identifier.cs index aeb0e6b..03595d3 100644 --- a/src/DotNetOpenAuth.OpenId/OpenId/Identifier.cs +++ b/src/DotNetOpenAuth.OpenId/OpenId/Identifier.cs @@ -1,6 +1,6 @@ //----------------------------------------------------------------------- -// <copyright file="Identifier.cs" company="Andrew Arnott"> -// Copyright (c) Andrew Arnott. All rights reserved. +// <copyright file="Identifier.cs" company="Outercurve Foundation"> +// Copyright (c) Outercurve Foundation. All rights reserved. // </copyright> //----------------------------------------------------------------------- diff --git a/src/DotNetOpenAuth.OpenId/OpenId/IdentifierContract.cs b/src/DotNetOpenAuth.OpenId/OpenId/IdentifierContract.cs index 7355491..0156d12 100644 --- a/src/DotNetOpenAuth.OpenId/OpenId/IdentifierContract.cs +++ b/src/DotNetOpenAuth.OpenId/OpenId/IdentifierContract.cs @@ -1,6 +1,6 @@ //----------------------------------------------------------------------- -// <copyright file="IdentifierContract.cs" company="Andrew Arnott"> -// Copyright (c) Andrew Arnott. All rights reserved. +// <copyright file="IdentifierContract.cs" company="Outercurve Foundation"> +// Copyright (c) Outercurve Foundation. All rights reserved. // </copyright> //----------------------------------------------------------------------- diff --git a/src/DotNetOpenAuth.OpenId/OpenId/IdentifierDiscoveryResult.cs b/src/DotNetOpenAuth.OpenId/OpenId/IdentifierDiscoveryResult.cs index 07abf1e..137ab28 100644 --- a/src/DotNetOpenAuth.OpenId/OpenId/IdentifierDiscoveryResult.cs +++ b/src/DotNetOpenAuth.OpenId/OpenId/IdentifierDiscoveryResult.cs @@ -1,6 +1,6 @@ //----------------------------------------------------------------------- -// <copyright file="IdentifierDiscoveryResult.cs" company="Andrew Arnott"> -// Copyright (c) Andrew Arnott. All rights reserved. +// <copyright file="IdentifierDiscoveryResult.cs" company="Outercurve Foundation"> +// Copyright (c) Outercurve Foundation. All rights reserved. // </copyright> //----------------------------------------------------------------------- diff --git a/src/DotNetOpenAuth.OpenId/OpenId/IdentifierDiscoveryServices.cs b/src/DotNetOpenAuth.OpenId/OpenId/IdentifierDiscoveryServices.cs new file mode 100644 index 0000000..6a3cfaa --- /dev/null +++ b/src/DotNetOpenAuth.OpenId/OpenId/IdentifierDiscoveryServices.cs @@ -0,0 +1,82 @@ +//----------------------------------------------------------------------- +// <copyright file="IdentifierDiscoveryServices.cs" company="Outercurve Foundation"> +// Copyright (c) Outercurve Foundation. All rights reserved. +// </copyright> +//----------------------------------------------------------------------- + +namespace DotNetOpenAuth.OpenId { + using System.Collections.Generic; + using System.Diagnostics.Contracts; + using System.Linq; + using DotNetOpenAuth.Configuration; + using DotNetOpenAuth.Messaging; + + /// <summary> + /// A service that can perform discovery on OpenID identifiers. + /// </summary> + internal class IdentifierDiscoveryServices { + /// <summary> + /// The RP or OP that is hosting these services. + /// </summary> + private readonly IOpenIdHost host; + + /// <summary> + /// Backing field for the <see cref="DiscoveryServices"/> property. + /// </summary> + private readonly IList<IIdentifierDiscoveryService> discoveryServices = new List<IIdentifierDiscoveryService>(2); + + /// <summary> + /// Initializes a new instance of the <see cref="IdentifierDiscoveryServices"/> class. + /// </summary> + /// <param name="host">The RP or OP that creates this instance.</param> + internal IdentifierDiscoveryServices(IOpenIdHost host) { + Requires.NotNull(host, "host"); + + this.host = host; + this.discoveryServices.AddRange(OpenIdElement.Configuration.RelyingParty.DiscoveryServices.CreateInstances(true)); + } + + /// <summary> + /// Gets the list of services that can perform discovery on identifiers given. + /// </summary> + public IList<IIdentifierDiscoveryService> DiscoveryServices { + get { return this.discoveryServices; } + } + + /// <summary> + /// Performs discovery on the specified identifier. + /// </summary> + /// <param name="identifier">The identifier to discover services for.</param> + /// <returns>A non-null sequence of services discovered for the identifier.</returns> + public IEnumerable<IdentifierDiscoveryResult> Discover(Identifier identifier) { + Requires.NotNull(identifier, "identifier"); + Contract.Ensures(Contract.Result<IEnumerable<IdentifierDiscoveryResult>>() != null); + + IEnumerable<IdentifierDiscoveryResult> results = Enumerable.Empty<IdentifierDiscoveryResult>(); + foreach (var discoverer in this.DiscoveryServices) { + bool abortDiscoveryChain; + var discoveryResults = discoverer.Discover(identifier, this.host.WebRequestHandler, out abortDiscoveryChain).CacheGeneratedResults(); + results = results.Concat(discoveryResults); + if (abortDiscoveryChain) { + Logger.OpenId.InfoFormat("Further discovery on '{0}' was stopped by the {1} discovery service.", identifier, discoverer.GetType().Name); + break; + } + } + + // If any OP Identifier service elements were found, we must not proceed + // to use any Claimed Identifier services, per OpenID 2.0 sections 7.3.2.2 and 11.2. + // For a discussion on this topic, see + // http://groups.google.com/group/dotnetopenid/browse_thread/thread/4b5a8c6b2210f387/5e25910e4d2252c8 + // Sometimes the IIdentifierDiscoveryService will automatically filter this for us, but + // just to be sure, we'll do it here as well. + if (!this.host.SecuritySettings.AllowDualPurposeIdentifiers) { + results = results.CacheGeneratedResults(); // avoid performing discovery repeatedly + var opIdentifiers = results.Where(result => result.ClaimedIdentifier == result.Protocol.ClaimedIdentifierForOPIdentifier); + var claimedIdentifiers = results.Where(result => result.ClaimedIdentifier != result.Protocol.ClaimedIdentifierForOPIdentifier); + results = opIdentifiers.Any() ? opIdentifiers : claimedIdentifiers; + } + + return results; + } + } +} diff --git a/src/DotNetOpenAuth.OpenId/OpenId/Messages/AssociateDiffieHellmanRequest.cs b/src/DotNetOpenAuth.OpenId/OpenId/Messages/AssociateDiffieHellmanRequest.cs index b4f809f..ebe9f34 100644 --- a/src/DotNetOpenAuth.OpenId/OpenId/Messages/AssociateDiffieHellmanRequest.cs +++ b/src/DotNetOpenAuth.OpenId/OpenId/Messages/AssociateDiffieHellmanRequest.cs @@ -1,6 +1,6 @@ //----------------------------------------------------------------------- -// <copyright file="AssociateDiffieHellmanRequest.cs" company="Andrew Arnott"> -// Copyright (c) Andrew Arnott. All rights reserved. +// <copyright file="AssociateDiffieHellmanRequest.cs" company="Outercurve Foundation"> +// Copyright (c) Outercurve Foundation. All rights reserved. // </copyright> //----------------------------------------------------------------------- diff --git a/src/DotNetOpenAuth.OpenId/OpenId/Messages/AssociateDiffieHellmanResponse.cs b/src/DotNetOpenAuth.OpenId/OpenId/Messages/AssociateDiffieHellmanResponse.cs index d1836ec..3860565 100644 --- a/src/DotNetOpenAuth.OpenId/OpenId/Messages/AssociateDiffieHellmanResponse.cs +++ b/src/DotNetOpenAuth.OpenId/OpenId/Messages/AssociateDiffieHellmanResponse.cs @@ -1,6 +1,6 @@ //----------------------------------------------------------------------- -// <copyright file="AssociateDiffieHellmanResponse.cs" company="Andrew Arnott"> -// Copyright (c) Andrew Arnott. All rights reserved. +// <copyright file="AssociateDiffieHellmanResponse.cs" company="Outercurve Foundation"> +// Copyright (c) Outercurve Foundation. All rights reserved. // </copyright> //----------------------------------------------------------------------- diff --git a/src/DotNetOpenAuth.OpenId/OpenId/Messages/AssociateRequest.cs b/src/DotNetOpenAuth.OpenId/OpenId/Messages/AssociateRequest.cs index db0c39e..1e716e2 100644 --- a/src/DotNetOpenAuth.OpenId/OpenId/Messages/AssociateRequest.cs +++ b/src/DotNetOpenAuth.OpenId/OpenId/Messages/AssociateRequest.cs @@ -1,6 +1,6 @@ //----------------------------------------------------------------------- -// <copyright file="AssociateRequest.cs" company="Andrew Arnott"> -// Copyright (c) Andrew Arnott. All rights reserved. +// <copyright file="AssociateRequest.cs" company="Outercurve Foundation"> +// Copyright (c) Outercurve Foundation. All rights reserved. // </copyright> //----------------------------------------------------------------------- diff --git a/src/DotNetOpenAuth.OpenId/OpenId/Messages/AssociateSuccessfulResponse.cs b/src/DotNetOpenAuth.OpenId/OpenId/Messages/AssociateSuccessfulResponse.cs index c3d8938..6605530 100644 --- a/src/DotNetOpenAuth.OpenId/OpenId/Messages/AssociateSuccessfulResponse.cs +++ b/src/DotNetOpenAuth.OpenId/OpenId/Messages/AssociateSuccessfulResponse.cs @@ -1,6 +1,6 @@ //----------------------------------------------------------------------- -// <copyright file="AssociateSuccessfulResponse.cs" company="Andrew Arnott"> -// Copyright (c) Andrew Arnott. All rights reserved. +// <copyright file="AssociateSuccessfulResponse.cs" company="Outercurve Foundation"> +// Copyright (c) Outercurve Foundation. All rights reserved. // </copyright> //----------------------------------------------------------------------- diff --git a/src/DotNetOpenAuth.OpenId/OpenId/Messages/AssociateUnencryptedRequest.cs b/src/DotNetOpenAuth.OpenId/OpenId/Messages/AssociateUnencryptedRequest.cs index eda8cf3..b6fe5d9 100644 --- a/src/DotNetOpenAuth.OpenId/OpenId/Messages/AssociateUnencryptedRequest.cs +++ b/src/DotNetOpenAuth.OpenId/OpenId/Messages/AssociateUnencryptedRequest.cs @@ -1,6 +1,6 @@ //----------------------------------------------------------------------- -// <copyright file="AssociateUnencryptedRequest.cs" company="Andrew Arnott"> -// Copyright (c) Andrew Arnott. All rights reserved. +// <copyright file="AssociateUnencryptedRequest.cs" company="Outercurve Foundation"> +// Copyright (c) Outercurve Foundation. All rights reserved. // </copyright> //----------------------------------------------------------------------- diff --git a/src/DotNetOpenAuth.OpenId/OpenId/Messages/AssociateUnencryptedResponse.cs b/src/DotNetOpenAuth.OpenId/OpenId/Messages/AssociateUnencryptedResponse.cs index b7a0139..1fc9464 100644 --- a/src/DotNetOpenAuth.OpenId/OpenId/Messages/AssociateUnencryptedResponse.cs +++ b/src/DotNetOpenAuth.OpenId/OpenId/Messages/AssociateUnencryptedResponse.cs @@ -1,6 +1,6 @@ //----------------------------------------------------------------------- -// <copyright file="AssociateUnencryptedResponse.cs" company="Andrew Arnott"> -// Copyright (c) Andrew Arnott. All rights reserved. +// <copyright file="AssociateUnencryptedResponse.cs" company="Outercurve Foundation"> +// Copyright (c) Outercurve Foundation. All rights reserved. // </copyright> //----------------------------------------------------------------------- diff --git a/src/DotNetOpenAuth.OpenId/OpenId/Messages/AssociateUnsuccessfulResponse.cs b/src/DotNetOpenAuth.OpenId/OpenId/Messages/AssociateUnsuccessfulResponse.cs index 71ecc05..88d7781 100644 --- a/src/DotNetOpenAuth.OpenId/OpenId/Messages/AssociateUnsuccessfulResponse.cs +++ b/src/DotNetOpenAuth.OpenId/OpenId/Messages/AssociateUnsuccessfulResponse.cs @@ -1,6 +1,6 @@ //----------------------------------------------------------------------- -// <copyright file="AssociateUnsuccessfulResponse.cs" company="Andrew Arnott"> -// Copyright (c) Andrew Arnott. All rights reserved. +// <copyright file="AssociateUnsuccessfulResponse.cs" company="Outercurve Foundation"> +// Copyright (c) Outercurve Foundation. All rights reserved. // </copyright> //----------------------------------------------------------------------- diff --git a/src/DotNetOpenAuth.OpenId/OpenId/Messages/CheckAuthenticationRequest.cs b/src/DotNetOpenAuth.OpenId/OpenId/Messages/CheckAuthenticationRequest.cs index 273c444..0c46411 100644 --- a/src/DotNetOpenAuth.OpenId/OpenId/Messages/CheckAuthenticationRequest.cs +++ b/src/DotNetOpenAuth.OpenId/OpenId/Messages/CheckAuthenticationRequest.cs @@ -1,6 +1,6 @@ //----------------------------------------------------------------------- -// <copyright file="CheckAuthenticationRequest.cs" company="Andrew Arnott"> -// Copyright (c) Andrew Arnott. All rights reserved. +// <copyright file="CheckAuthenticationRequest.cs" company="Outercurve Foundation"> +// Copyright (c) Outercurve Foundation. All rights reserved. // </copyright> //----------------------------------------------------------------------- diff --git a/src/DotNetOpenAuth.OpenId/OpenId/Messages/CheckAuthenticationResponse.cs b/src/DotNetOpenAuth.OpenId/OpenId/Messages/CheckAuthenticationResponse.cs index f52ccf8..9c31ea5 100644 --- a/src/DotNetOpenAuth.OpenId/OpenId/Messages/CheckAuthenticationResponse.cs +++ b/src/DotNetOpenAuth.OpenId/OpenId/Messages/CheckAuthenticationResponse.cs @@ -1,6 +1,6 @@ //----------------------------------------------------------------------- -// <copyright file="CheckAuthenticationResponse.cs" company="Andrew Arnott"> -// Copyright (c) Andrew Arnott. All rights reserved. +// <copyright file="CheckAuthenticationResponse.cs" company="Outercurve Foundation"> +// Copyright (c) Outercurve Foundation. All rights reserved. // </copyright> //----------------------------------------------------------------------- diff --git a/src/DotNetOpenAuth.OpenId/OpenId/Messages/CheckIdRequest.cs b/src/DotNetOpenAuth.OpenId/OpenId/Messages/CheckIdRequest.cs index 0667dcb..1d6d43e 100644 --- a/src/DotNetOpenAuth.OpenId/OpenId/Messages/CheckIdRequest.cs +++ b/src/DotNetOpenAuth.OpenId/OpenId/Messages/CheckIdRequest.cs @@ -1,6 +1,6 @@ //----------------------------------------------------------------------- -// <copyright file="CheckIdRequest.cs" company="Andrew Arnott"> -// Copyright (c) Andrew Arnott. All rights reserved. +// <copyright file="CheckIdRequest.cs" company="Outercurve Foundation"> +// Copyright (c) Outercurve Foundation. All rights reserved. // </copyright> //----------------------------------------------------------------------- diff --git a/src/DotNetOpenAuth.OpenId/OpenId/Messages/DirectErrorResponse.cs b/src/DotNetOpenAuth.OpenId/OpenId/Messages/DirectErrorResponse.cs index 607a139..ec3691a 100644 --- a/src/DotNetOpenAuth.OpenId/OpenId/Messages/DirectErrorResponse.cs +++ b/src/DotNetOpenAuth.OpenId/OpenId/Messages/DirectErrorResponse.cs @@ -1,6 +1,6 @@ //----------------------------------------------------------------------- -// <copyright file="DirectErrorResponse.cs" company="Andrew Arnott"> -// Copyright (c) Andrew Arnott. All rights reserved. +// <copyright file="DirectErrorResponse.cs" company="Outercurve Foundation"> +// Copyright (c) Outercurve Foundation. All rights reserved. // </copyright> //----------------------------------------------------------------------- diff --git a/src/DotNetOpenAuth.OpenId/OpenId/Messages/DirectResponseBase.cs b/src/DotNetOpenAuth.OpenId/OpenId/Messages/DirectResponseBase.cs index da6a1f6..787c920 100644 --- a/src/DotNetOpenAuth.OpenId/OpenId/Messages/DirectResponseBase.cs +++ b/src/DotNetOpenAuth.OpenId/OpenId/Messages/DirectResponseBase.cs @@ -1,6 +1,6 @@ //----------------------------------------------------------------------- -// <copyright file="DirectResponseBase.cs" company="Andrew Arnott"> -// Copyright (c) Andrew Arnott. All rights reserved. +// <copyright file="DirectResponseBase.cs" company="Outercurve Foundation"> +// Copyright (c) Outercurve Foundation. All rights reserved. // </copyright> //----------------------------------------------------------------------- diff --git a/src/DotNetOpenAuth.OpenId/OpenId/Messages/IErrorMessage.cs b/src/DotNetOpenAuth.OpenId/OpenId/Messages/IErrorMessage.cs index 549b327..a730957 100644 --- a/src/DotNetOpenAuth.OpenId/OpenId/Messages/IErrorMessage.cs +++ b/src/DotNetOpenAuth.OpenId/OpenId/Messages/IErrorMessage.cs @@ -1,6 +1,6 @@ //----------------------------------------------------------------------- -// <copyright file="IErrorMessage.cs" company="Andrew Arnott"> -// Copyright (c) Andrew Arnott. All rights reserved. +// <copyright file="IErrorMessage.cs" company="Outercurve Foundation"> +// Copyright (c) Outercurve Foundation. All rights reserved. // </copyright> //----------------------------------------------------------------------- diff --git a/src/DotNetOpenAuth.OpenId/OpenId/Messages/IOpenIdMessageExtension.cs b/src/DotNetOpenAuth.OpenId/OpenId/Messages/IOpenIdMessageExtension.cs index 08e02ba..b1321f1 100644 --- a/src/DotNetOpenAuth.OpenId/OpenId/Messages/IOpenIdMessageExtension.cs +++ b/src/DotNetOpenAuth.OpenId/OpenId/Messages/IOpenIdMessageExtension.cs @@ -1,6 +1,6 @@ //----------------------------------------------------------------------- -// <copyright file="IOpenIdMessageExtension.cs" company="Andrew Arnott"> -// Copyright (c) Andrew Arnott. All rights reserved. +// <copyright file="IOpenIdMessageExtension.cs" company="Outercurve Foundation"> +// Copyright (c) Outercurve Foundation. All rights reserved. // </copyright> //----------------------------------------------------------------------- diff --git a/src/DotNetOpenAuth.OpenId/OpenId/Messages/IndirectErrorResponse.cs b/src/DotNetOpenAuth.OpenId/OpenId/Messages/IndirectErrorResponse.cs index eb006db..b614485 100644 --- a/src/DotNetOpenAuth.OpenId/OpenId/Messages/IndirectErrorResponse.cs +++ b/src/DotNetOpenAuth.OpenId/OpenId/Messages/IndirectErrorResponse.cs @@ -1,6 +1,6 @@ //----------------------------------------------------------------------- -// <copyright file="IndirectErrorResponse.cs" company="Andrew Arnott"> -// Copyright (c) Andrew Arnott. All rights reserved. +// <copyright file="IndirectErrorResponse.cs" company="Outercurve Foundation"> +// Copyright (c) Outercurve Foundation. All rights reserved. // </copyright> //----------------------------------------------------------------------- diff --git a/src/DotNetOpenAuth.OpenId/OpenId/Messages/IndirectResponseBase.cs b/src/DotNetOpenAuth.OpenId/OpenId/Messages/IndirectResponseBase.cs index f23d912..ae0217d 100644 --- a/src/DotNetOpenAuth.OpenId/OpenId/Messages/IndirectResponseBase.cs +++ b/src/DotNetOpenAuth.OpenId/OpenId/Messages/IndirectResponseBase.cs @@ -1,6 +1,6 @@ //----------------------------------------------------------------------- -// <copyright file="IndirectResponseBase.cs" company="Andrew Arnott"> -// Copyright (c) Andrew Arnott. All rights reserved. +// <copyright file="IndirectResponseBase.cs" company="Outercurve Foundation"> +// Copyright (c) Outercurve Foundation. All rights reserved. // </copyright> //----------------------------------------------------------------------- diff --git a/src/DotNetOpenAuth.OpenId/OpenId/Messages/IndirectSignedResponse.cs b/src/DotNetOpenAuth.OpenId/OpenId/Messages/IndirectSignedResponse.cs index 9a60757..46c5d35 100644 --- a/src/DotNetOpenAuth.OpenId/OpenId/Messages/IndirectSignedResponse.cs +++ b/src/DotNetOpenAuth.OpenId/OpenId/Messages/IndirectSignedResponse.cs @@ -1,6 +1,6 @@ //----------------------------------------------------------------------- -// <copyright file="IndirectSignedResponse.cs" company="Andrew Arnott"> -// Copyright (c) Andrew Arnott. All rights reserved. +// <copyright file="IndirectSignedResponse.cs" company="Outercurve Foundation"> +// Copyright (c) Outercurve Foundation. All rights reserved. // </copyright> //----------------------------------------------------------------------- diff --git a/src/DotNetOpenAuth.OpenId/OpenId/Messages/NegativeAssertionResponse.cs b/src/DotNetOpenAuth.OpenId/OpenId/Messages/NegativeAssertionResponse.cs index a6303ab..c6cd967 100644 --- a/src/DotNetOpenAuth.OpenId/OpenId/Messages/NegativeAssertionResponse.cs +++ b/src/DotNetOpenAuth.OpenId/OpenId/Messages/NegativeAssertionResponse.cs @@ -1,6 +1,6 @@ //----------------------------------------------------------------------- -// <copyright file="NegativeAssertionResponse.cs" company="Andrew Arnott"> -// Copyright (c) Andrew Arnott. All rights reserved. +// <copyright file="NegativeAssertionResponse.cs" company="Outercurve Foundation"> +// Copyright (c) Outercurve Foundation. All rights reserved. // </copyright> //----------------------------------------------------------------------- diff --git a/src/DotNetOpenAuth.OpenId/OpenId/Messages/PositiveAssertionResponse.cs b/src/DotNetOpenAuth.OpenId/OpenId/Messages/PositiveAssertionResponse.cs index 006ea93..16ee9ea 100644 --- a/src/DotNetOpenAuth.OpenId/OpenId/Messages/PositiveAssertionResponse.cs +++ b/src/DotNetOpenAuth.OpenId/OpenId/Messages/PositiveAssertionResponse.cs @@ -1,6 +1,6 @@ //----------------------------------------------------------------------- -// <copyright file="PositiveAssertionResponse.cs" company="Andrew Arnott"> -// Copyright (c) Andrew Arnott. All rights reserved. +// <copyright file="PositiveAssertionResponse.cs" company="Outercurve Foundation"> +// Copyright (c) Outercurve Foundation. All rights reserved. // </copyright> //----------------------------------------------------------------------- diff --git a/src/DotNetOpenAuth.OpenId/OpenId/Messages/RequestBase.cs b/src/DotNetOpenAuth.OpenId/OpenId/Messages/RequestBase.cs index a24c7db..678dcee 100644 --- a/src/DotNetOpenAuth.OpenId/OpenId/Messages/RequestBase.cs +++ b/src/DotNetOpenAuth.OpenId/OpenId/Messages/RequestBase.cs @@ -1,6 +1,6 @@ //----------------------------------------------------------------------- -// <copyright file="RequestBase.cs" company="Andrew Arnott"> -// Copyright (c) Andrew Arnott. All rights reserved. +// <copyright file="RequestBase.cs" company="Outercurve Foundation"> +// Copyright (c) Outercurve Foundation. All rights reserved. // </copyright> //----------------------------------------------------------------------- diff --git a/src/DotNetOpenAuth.OpenId/OpenId/Messages/SignedResponseRequest.cs b/src/DotNetOpenAuth.OpenId/OpenId/Messages/SignedResponseRequest.cs index 3719f96..c300e04 100644 --- a/src/DotNetOpenAuth.OpenId/OpenId/Messages/SignedResponseRequest.cs +++ b/src/DotNetOpenAuth.OpenId/OpenId/Messages/SignedResponseRequest.cs @@ -1,6 +1,6 @@ //----------------------------------------------------------------------- -// <copyright file="SignedResponseRequest.cs" company="Andrew Arnott"> -// Copyright (c) Andrew Arnott. All rights reserved. +// <copyright file="SignedResponseRequest.cs" company="Outercurve Foundation"> +// Copyright (c) Outercurve Foundation. All rights reserved. // </copyright> //----------------------------------------------------------------------- diff --git a/src/DotNetOpenAuth.OpenId/OpenId/NoDiscoveryIdentifier.cs b/src/DotNetOpenAuth.OpenId/OpenId/NoDiscoveryIdentifier.cs index d1704fc..c439f1f 100644 --- a/src/DotNetOpenAuth.OpenId/OpenId/NoDiscoveryIdentifier.cs +++ b/src/DotNetOpenAuth.OpenId/OpenId/NoDiscoveryIdentifier.cs @@ -1,6 +1,6 @@ //----------------------------------------------------------------------- -// <copyright file="NoDiscoveryIdentifier.cs" company="Andrew Arnott"> -// Copyright (c) Andrew Arnott. All rights reserved. +// <copyright file="NoDiscoveryIdentifier.cs" company="Outercurve Foundation"> +// Copyright (c) Outercurve Foundation. All rights reserved. // </copyright> //----------------------------------------------------------------------- diff --git a/src/DotNetOpenAuth.OpenId/OpenId/OpenIdUtilities.cs b/src/DotNetOpenAuth.OpenId/OpenId/OpenIdUtilities.cs index b7f857e..1b848f9 100644 --- a/src/DotNetOpenAuth.OpenId/OpenId/OpenIdUtilities.cs +++ b/src/DotNetOpenAuth.OpenId/OpenId/OpenIdUtilities.cs @@ -1,6 +1,6 @@ //----------------------------------------------------------------------- -// <copyright file="OpenIdUtilities.cs" company="Andrew Arnott"> -// Copyright (c) Andrew Arnott. All rights reserved. +// <copyright file="OpenIdUtilities.cs" company="Outercurve Foundation"> +// Copyright (c) Outercurve Foundation. All rights reserved. // </copyright> //----------------------------------------------------------------------- diff --git a/src/DotNetOpenAuth.OpenId/OpenId/OpenIdXrdsHelper.cs b/src/DotNetOpenAuth.OpenId/OpenId/OpenIdXrdsHelper.cs index 9f996a5..284f8db 100644 --- a/src/DotNetOpenAuth.OpenId/OpenId/OpenIdXrdsHelper.cs +++ b/src/DotNetOpenAuth.OpenId/OpenId/OpenIdXrdsHelper.cs @@ -1,6 +1,6 @@ //----------------------------------------------------------------------- -// <copyright file="OpenIdXrdsHelper.cs" company="Andrew Arnott"> -// Copyright (c) Andrew Arnott. All rights reserved. +// <copyright file="OpenIdXrdsHelper.cs" company="Outercurve Foundation"> +// Copyright (c) Outercurve Foundation. All rights reserved. // </copyright> //----------------------------------------------------------------------- diff --git a/src/DotNetOpenAuth.OpenId/OpenId/Protocol.cs b/src/DotNetOpenAuth.OpenId/OpenId/Protocol.cs index a651f3c..22f5b9c 100644 --- a/src/DotNetOpenAuth.OpenId/OpenId/Protocol.cs +++ b/src/DotNetOpenAuth.OpenId/OpenId/Protocol.cs @@ -1,7 +1,7 @@ // <auto-generated/> // disable StyleCop on this file //----------------------------------------------------------------------- -// <copyright file="Protocol.cs" company="Andrew Arnott"> -// Copyright (c) Andrew Arnott. All rights reserved. +// <copyright file="Protocol.cs" company="Outercurve Foundation"> +// Copyright (c) Outercurve Foundation. All rights reserved. // </copyright> //----------------------------------------------------------------------- @@ -44,6 +44,12 @@ namespace DotNetOpenAuth.OpenId { internal const string OpenId2Namespace = "http://specs.openid.net/auth/2.0"; /// <summary> + /// The parameter of the callback parameter we tack onto the return_to URL + /// to store the replay-detection nonce. + /// </summary> + internal const string ReturnToNonceParameter = OpenIdUtilities.CustomParameterPrefix + "request_nonce"; + + /// <summary> /// Scans a list for matches with some element of the OpenID protocol, /// searching from newest to oldest protocol for the first and best match. /// </summary> diff --git a/src/DotNetOpenAuth.OpenId/OpenId/Provider/IAuthenticationRequest.cs b/src/DotNetOpenAuth.OpenId/OpenId/Provider/IAuthenticationRequest.cs index 1045282..5e8efa5 100644 --- a/src/DotNetOpenAuth.OpenId/OpenId/Provider/IAuthenticationRequest.cs +++ b/src/DotNetOpenAuth.OpenId/OpenId/Provider/IAuthenticationRequest.cs @@ -1,6 +1,6 @@ //----------------------------------------------------------------------- -// <copyright file="IAuthenticationRequest.cs" company="Andrew Arnott"> -// Copyright (c) Andrew Arnott. All rights reserved. +// <copyright file="IAuthenticationRequest.cs" company="Outercurve Foundation"> +// Copyright (c) Outercurve Foundation. All rights reserved. // </copyright> //----------------------------------------------------------------------- diff --git a/src/DotNetOpenAuth.OpenId/OpenId/Provider/IHostProcessedRequest.cs b/src/DotNetOpenAuth.OpenId/OpenId/Provider/IHostProcessedRequest.cs index 809c0f3..236f4a8 100644 --- a/src/DotNetOpenAuth.OpenId/OpenId/Provider/IHostProcessedRequest.cs +++ b/src/DotNetOpenAuth.OpenId/OpenId/Provider/IHostProcessedRequest.cs @@ -1,6 +1,6 @@ //----------------------------------------------------------------------- -// <copyright file="IHostProcessedRequest.cs" company="Andrew Arnott"> -// Copyright (c) Andrew Arnott. All rights reserved. +// <copyright file="IHostProcessedRequest.cs" company="Outercurve Foundation"> +// Copyright (c) Outercurve Foundation. All rights reserved. // </copyright> //----------------------------------------------------------------------- diff --git a/src/DotNetOpenAuth.OpenId/OpenId/Provider/IProviderBehavior.cs b/src/DotNetOpenAuth.OpenId/OpenId/Provider/IProviderBehavior.cs index 9750625..840fe3a 100644 --- a/src/DotNetOpenAuth.OpenId/OpenId/Provider/IProviderBehavior.cs +++ b/src/DotNetOpenAuth.OpenId/OpenId/Provider/IProviderBehavior.cs @@ -1,6 +1,6 @@ //----------------------------------------------------------------------- -// <copyright file="IProviderBehavior.cs" company="Andrew Arnott"> -// Copyright (c) Andrew Arnott. All rights reserved. +// <copyright file="IProviderBehavior.cs" company="Outercurve Foundation"> +// Copyright (c) Outercurve Foundation. All rights reserved. // </copyright> //----------------------------------------------------------------------- diff --git a/src/DotNetOpenAuth.OpenId/OpenId/Provider/IRequest.cs b/src/DotNetOpenAuth.OpenId/OpenId/Provider/IRequest.cs index 1870bfe..0e29792 100644 --- a/src/DotNetOpenAuth.OpenId/OpenId/Provider/IRequest.cs +++ b/src/DotNetOpenAuth.OpenId/OpenId/Provider/IRequest.cs @@ -1,6 +1,6 @@ //----------------------------------------------------------------------- -// <copyright file="IRequest.cs" company="Andrew Arnott"> -// Copyright (c) Andrew Arnott. All rights reserved. +// <copyright file="IRequest.cs" company="Outercurve Foundation"> +// Copyright (c) Outercurve Foundation. All rights reserved. // </copyright> //----------------------------------------------------------------------- diff --git a/src/DotNetOpenAuth.OpenId/OpenId/Provider/ProviderSecuritySettings.cs b/src/DotNetOpenAuth.OpenId/OpenId/Provider/ProviderSecuritySettings.cs index 130e6dd..dd53b92 100644 --- a/src/DotNetOpenAuth.OpenId/OpenId/Provider/ProviderSecuritySettings.cs +++ b/src/DotNetOpenAuth.OpenId/OpenId/Provider/ProviderSecuritySettings.cs @@ -1,6 +1,6 @@ //----------------------------------------------------------------------- -// <copyright file="ProviderSecuritySettings.cs" company="Andrew Arnott"> -// Copyright (c) Andrew Arnott. All rights reserved. +// <copyright file="ProviderSecuritySettings.cs" company="Outercurve Foundation"> +// Copyright (c) Outercurve Foundation. All rights reserved. // </copyright> //----------------------------------------------------------------------- diff --git a/src/DotNetOpenAuth.OpenId/OpenId/Provider/RelyingPartyDiscoveryResult.cs b/src/DotNetOpenAuth.OpenId/OpenId/Provider/RelyingPartyDiscoveryResult.cs index 4eca6d6..2a8e6c1 100644 --- a/src/DotNetOpenAuth.OpenId/OpenId/Provider/RelyingPartyDiscoveryResult.cs +++ b/src/DotNetOpenAuth.OpenId/OpenId/Provider/RelyingPartyDiscoveryResult.cs @@ -1,6 +1,6 @@ //----------------------------------------------------------------------- -// <copyright file="RelyingPartyDiscoveryResult.cs" company="Andrew Arnott"> -// Copyright (c) Andrew Arnott. All rights reserved. +// <copyright file="RelyingPartyDiscoveryResult.cs" company="Outercurve Foundation"> +// Copyright (c) Outercurve Foundation. All rights reserved. // </copyright> //----------------------------------------------------------------------- diff --git a/src/DotNetOpenAuth.OpenId/OpenId/ProviderEndpointDescription.cs b/src/DotNetOpenAuth.OpenId/OpenId/ProviderEndpointDescription.cs index 092ec22..7cac8c6 100644 --- a/src/DotNetOpenAuth.OpenId/OpenId/ProviderEndpointDescription.cs +++ b/src/DotNetOpenAuth.OpenId/OpenId/ProviderEndpointDescription.cs @@ -1,6 +1,6 @@ //----------------------------------------------------------------------- -// <copyright file="ProviderEndpointDescription.cs" company="Andrew Arnott"> -// Copyright (c) Andrew Arnott. All rights reserved. +// <copyright file="ProviderEndpointDescription.cs" company="Outercurve Foundation"> +// Copyright (c) Outercurve Foundation. All rights reserved. // </copyright> //----------------------------------------------------------------------- diff --git a/src/DotNetOpenAuth.OpenId/OpenId/Realm.cs b/src/DotNetOpenAuth.OpenId/OpenId/Realm.cs index 685b922..5c2ff8b 100644 --- a/src/DotNetOpenAuth.OpenId/OpenId/Realm.cs +++ b/src/DotNetOpenAuth.OpenId/OpenId/Realm.cs @@ -1,6 +1,6 @@ //----------------------------------------------------------------------- -// <copyright file="Realm.cs" company="Andrew Arnott"> -// Copyright (c) Andrew Arnott. All rights reserved. +// <copyright file="Realm.cs" company="Outercurve Foundation"> +// Copyright (c) Outercurve Foundation. All rights reserved. // </copyright> //----------------------------------------------------------------------- diff --git a/src/DotNetOpenAuth.OpenId/OpenId/RelyingParty/AuthenticationStatus.cs b/src/DotNetOpenAuth.OpenId/OpenId/RelyingParty/AuthenticationStatus.cs index 89eca78..56f6d01 100644 --- a/src/DotNetOpenAuth.OpenId/OpenId/RelyingParty/AuthenticationStatus.cs +++ b/src/DotNetOpenAuth.OpenId/OpenId/RelyingParty/AuthenticationStatus.cs @@ -1,6 +1,6 @@ //----------------------------------------------------------------------- -// <copyright file="AuthenticationStatus.cs" company="Andrew Arnott"> -// Copyright (c) Andrew Arnott. All rights reserved. +// <copyright file="AuthenticationStatus.cs" company="Outercurve Foundation"> +// Copyright (c) Outercurve Foundation. All rights reserved. // </copyright> //----------------------------------------------------------------------- diff --git a/src/DotNetOpenAuth.OpenId/OpenId/RelyingParty/IAuthenticationRequest.cs b/src/DotNetOpenAuth.OpenId/OpenId/RelyingParty/IAuthenticationRequest.cs index fa58b7d..92e3233 100644 --- a/src/DotNetOpenAuth.OpenId/OpenId/RelyingParty/IAuthenticationRequest.cs +++ b/src/DotNetOpenAuth.OpenId/OpenId/RelyingParty/IAuthenticationRequest.cs @@ -1,6 +1,6 @@ //----------------------------------------------------------------------- -// <copyright file="IAuthenticationRequest.cs" company="Andrew Arnott"> -// Copyright (c) Andrew Arnott. All rights reserved. +// <copyright file="IAuthenticationRequest.cs" company="Outercurve Foundation"> +// Copyright (c) Outercurve Foundation. All rights reserved. // </copyright> //----------------------------------------------------------------------- diff --git a/src/DotNetOpenAuth.OpenId/OpenId/RelyingParty/IAuthenticationResponse.cs b/src/DotNetOpenAuth.OpenId/OpenId/RelyingParty/IAuthenticationResponse.cs index 7b55f65..10e99e4 100644 --- a/src/DotNetOpenAuth.OpenId/OpenId/RelyingParty/IAuthenticationResponse.cs +++ b/src/DotNetOpenAuth.OpenId/OpenId/RelyingParty/IAuthenticationResponse.cs @@ -1,6 +1,6 @@ //----------------------------------------------------------------------- -// <copyright file="IAuthenticationResponse.cs" company="Andrew Arnott"> -// Copyright (c) Andrew Arnott. All rights reserved. +// <copyright file="IAuthenticationResponse.cs" company="Outercurve Foundation"> +// Copyright (c) Outercurve Foundation. All rights reserved. // </copyright> //----------------------------------------------------------------------- diff --git a/src/DotNetOpenAuth.OpenId/OpenId/RelyingParty/IRelyingPartyBehavior.cs b/src/DotNetOpenAuth.OpenId/OpenId/RelyingParty/IRelyingPartyBehavior.cs index 28cad6d..0113f62 100644 --- a/src/DotNetOpenAuth.OpenId/OpenId/RelyingParty/IRelyingPartyBehavior.cs +++ b/src/DotNetOpenAuth.OpenId/OpenId/RelyingParty/IRelyingPartyBehavior.cs @@ -1,6 +1,6 @@ //----------------------------------------------------------------------- -// <copyright file="IRelyingPartyBehavior.cs" company="Andrew Arnott"> -// Copyright (c) Andrew Arnott. All rights reserved. +// <copyright file="IRelyingPartyBehavior.cs" company="Outercurve Foundation"> +// Copyright (c) Outercurve Foundation. All rights reserved. // </copyright> //----------------------------------------------------------------------- diff --git a/src/DotNetOpenAuth.OpenId/OpenId/RelyingParty/RelyingPartySecuritySettings.cs b/src/DotNetOpenAuth.OpenId/OpenId/RelyingParty/RelyingPartySecuritySettings.cs index fc6d4c7..77ccbca 100644 --- a/src/DotNetOpenAuth.OpenId/OpenId/RelyingParty/RelyingPartySecuritySettings.cs +++ b/src/DotNetOpenAuth.OpenId/OpenId/RelyingParty/RelyingPartySecuritySettings.cs @@ -1,6 +1,6 @@ //----------------------------------------------------------------------- -// <copyright file="RelyingPartySecuritySettings.cs" company="Andrew Arnott"> -// Copyright (c) Andrew Arnott. All rights reserved. +// <copyright file="RelyingPartySecuritySettings.cs" company="Outercurve Foundation"> +// Copyright (c) Outercurve Foundation. All rights reserved. // </copyright> //----------------------------------------------------------------------- @@ -121,21 +121,6 @@ namespace DotNetOpenAuth.OpenId.RelyingParty { public bool RequireAssociation { get; set; } /// <summary> - /// Gets or sets a value indicating whether identifiers that are both OP Identifiers and Claimed Identifiers - /// should ever be recognized as claimed identifiers. - /// </summary> - /// <value> - /// The default value is <c>false</c>, per the OpenID 2.0 spec. - /// </value> - /// <remarks> - /// OpenID 2.0 sections 7.3.2.2 and 11.2 specify that OP Identifiers never be recognized as Claimed Identifiers. - /// However, for some scenarios it may be desirable for an RP to override this behavior and allow this. - /// The security ramifications of setting this property to <c>true</c> have not been fully explored and - /// therefore this setting should only be changed with caution. - /// </remarks> - public bool AllowDualPurposeIdentifiers { get; set; } - - /// <summary> /// Gets or sets a value indicating whether certain Claimed Identifiers that exploit /// features that .NET does not have the ability to send exact HTTP requests for will /// still be allowed by using an approximate HTTP request. diff --git a/src/DotNetOpenAuth.OpenId/OpenId/RelyingPartyDescription.cs b/src/DotNetOpenAuth.OpenId/OpenId/RelyingPartyDescription.cs index ab0fd13..a671090 100644 --- a/src/DotNetOpenAuth.OpenId/OpenId/RelyingPartyDescription.cs +++ b/src/DotNetOpenAuth.OpenId/OpenId/RelyingPartyDescription.cs @@ -1,6 +1,6 @@ //----------------------------------------------------------------------- -// <copyright file="RelyingPartyDescription.cs" company="Andrew Arnott"> -// Copyright (c) Andrew Arnott. All rights reserved. +// <copyright file="RelyingPartyDescription.cs" company="Outercurve Foundation"> +// Copyright (c) Outercurve Foundation. All rights reserved. // </copyright> //----------------------------------------------------------------------- diff --git a/src/DotNetOpenAuth.OpenId/OpenId/SecuritySettings.cs b/src/DotNetOpenAuth.OpenId/OpenId/SecuritySettings.cs index a083cc6..2035c9f 100644 --- a/src/DotNetOpenAuth.OpenId/OpenId/SecuritySettings.cs +++ b/src/DotNetOpenAuth.OpenId/OpenId/SecuritySettings.cs @@ -1,6 +1,6 @@ //----------------------------------------------------------------------- -// <copyright file="SecuritySettings.cs" company="Andrew Arnott"> -// Copyright (c) Andrew Arnott. All rights reserved. +// <copyright file="SecuritySettings.cs" company="Outercurve Foundation"> +// Copyright (c) Outercurve Foundation. All rights reserved. // </copyright> //----------------------------------------------------------------------- @@ -68,6 +68,21 @@ namespace DotNetOpenAuth.OpenId { public int MaximumHashBitLength { get; set; } /// <summary> + /// Gets or sets a value indicating whether identifiers that are both OP Identifiers and Claimed Identifiers + /// should ever be recognized as claimed identifiers. + /// </summary> + /// <value> + /// The default value is <c>false</c>, per the OpenID 2.0 spec. + /// </value> + /// <remarks> + /// OpenID 2.0 sections 7.3.2.2 and 11.2 specify that OP Identifiers never be recognized as Claimed Identifiers. + /// However, for some scenarios it may be desirable for an RP to override this behavior and allow this. + /// The security ramifications of setting this property to <c>true</c> have not been fully explored and + /// therefore this setting should only be changed with caution. + /// </remarks> + public bool AllowDualPurposeIdentifiers { get; set; } + + /// <summary> /// Determines whether a named association fits the security requirements. /// </summary> /// <param name="protocol">The protocol carrying the association.</param> diff --git a/src/DotNetOpenAuth.OpenId/OpenId/UriDiscoveryService.cs b/src/DotNetOpenAuth.OpenId/OpenId/UriDiscoveryService.cs index 7d17fd9..c262ac9 100644 --- a/src/DotNetOpenAuth.OpenId/OpenId/UriDiscoveryService.cs +++ b/src/DotNetOpenAuth.OpenId/OpenId/UriDiscoveryService.cs @@ -1,6 +1,6 @@ //----------------------------------------------------------------------- -// <copyright file="UriDiscoveryService.cs" company="Andrew Arnott"> -// Copyright (c) Andrew Arnott. All rights reserved. +// <copyright file="UriDiscoveryService.cs" company="Outercurve Foundation"> +// Copyright (c) Outercurve Foundation. All rights reserved. // </copyright> //----------------------------------------------------------------------- diff --git a/src/DotNetOpenAuth.OpenId/OpenId/UriIdentifier.cs b/src/DotNetOpenAuth.OpenId/OpenId/UriIdentifier.cs index aa72869..307ba90 100644 --- a/src/DotNetOpenAuth.OpenId/OpenId/UriIdentifier.cs +++ b/src/DotNetOpenAuth.OpenId/OpenId/UriIdentifier.cs @@ -1,6 +1,6 @@ //----------------------------------------------------------------------- -// <copyright file="UriIdentifier.cs" company="Andrew Arnott"> -// Copyright (c) Andrew Arnott. All rights reserved. +// <copyright file="UriIdentifier.cs" company="Outercurve Foundation"> +// Copyright (c) Outercurve Foundation. All rights reserved. // </copyright> //----------------------------------------------------------------------- diff --git a/src/DotNetOpenAuth.OpenId/OpenId/XriDiscoveryProxyService.cs b/src/DotNetOpenAuth.OpenId/OpenId/XriDiscoveryProxyService.cs index 52bb92e..8265c75 100644 --- a/src/DotNetOpenAuth.OpenId/OpenId/XriDiscoveryProxyService.cs +++ b/src/DotNetOpenAuth.OpenId/OpenId/XriDiscoveryProxyService.cs @@ -1,6 +1,6 @@ //----------------------------------------------------------------------- -// <copyright file="XriDiscoveryProxyService.cs" company="Andrew Arnott"> -// Copyright (c) Andrew Arnott. All rights reserved. +// <copyright file="XriDiscoveryProxyService.cs" company="Outercurve Foundation"> +// Copyright (c) Outercurve Foundation. All rights reserved. // </copyright> //----------------------------------------------------------------------- diff --git a/src/DotNetOpenAuth.OpenId/OpenId/XriIdentifier.cs b/src/DotNetOpenAuth.OpenId/OpenId/XriIdentifier.cs index 28460f1..f6a633f 100644 --- a/src/DotNetOpenAuth.OpenId/OpenId/XriIdentifier.cs +++ b/src/DotNetOpenAuth.OpenId/OpenId/XriIdentifier.cs @@ -1,6 +1,6 @@ //----------------------------------------------------------------------- -// <copyright file="XriIdentifier.cs" company="Andrew Arnott"> -// Copyright (c) Andrew Arnott. All rights reserved. +// <copyright file="XriIdentifier.cs" company="Outercurve Foundation"> +// Copyright (c) Outercurve Foundation. All rights reserved. // </copyright> //----------------------------------------------------------------------- diff --git a/src/DotNetOpenAuth.OpenId/OpenIdXrdsHelper.cs b/src/DotNetOpenAuth.OpenId/OpenIdXrdsHelper.cs index 617c467..818704e 100644 --- a/src/DotNetOpenAuth.OpenId/OpenIdXrdsHelper.cs +++ b/src/DotNetOpenAuth.OpenId/OpenIdXrdsHelper.cs @@ -1,6 +1,6 @@ //----------------------------------------------------------------------- -// <copyright file="OpenIdXrdsHelper.cs" company="Andrew Arnott"> -// Copyright (c) Andrew Arnott. All rights reserved. +// <copyright file="OpenIdXrdsHelper.cs" company="Outercurve Foundation"> +// Copyright (c) Outercurve Foundation. All rights reserved. // </copyright> //----------------------------------------------------------------------- diff --git a/src/DotNetOpenAuth.OpenId/Properties/AssemblyInfo.cs b/src/DotNetOpenAuth.OpenId/Properties/AssemblyInfo.cs index c5226ed..00fb93f 100644 --- a/src/DotNetOpenAuth.OpenId/Properties/AssemblyInfo.cs +++ b/src/DotNetOpenAuth.OpenId/Properties/AssemblyInfo.cs @@ -1,6 +1,6 @@ //----------------------------------------------------------------------- -// <copyright file="AssemblyInfo.cs" company="Andrew Arnott"> -// Copyright (c) Andrew Arnott. All rights reserved. +// <copyright file="AssemblyInfo.cs" company="Outercurve Foundation"> +// Copyright (c) Outercurve Foundation. All rights reserved. // </copyright> //----------------------------------------------------------------------- @@ -25,7 +25,7 @@ using System.Web.UI; [assembly: AssemblyConfiguration("")] [assembly: AssemblyCompany("")] [assembly: AssemblyProduct("DotNetOpenAuth")] -[assembly: AssemblyCopyright("Copyright © 2008")] +[assembly: AssemblyCopyright("Copyright © 2011 Outercurve Foundation")] [assembly: AssemblyTrademark("")] [assembly: AssemblyCulture("")] [assembly: NeutralResourcesLanguage("en-US")] diff --git a/src/DotNetOpenAuth.OpenId/Xrds/ServiceElement.cs b/src/DotNetOpenAuth.OpenId/Xrds/ServiceElement.cs index 0acf2b5..0886e78 100644 --- a/src/DotNetOpenAuth.OpenId/Xrds/ServiceElement.cs +++ b/src/DotNetOpenAuth.OpenId/Xrds/ServiceElement.cs @@ -1,6 +1,6 @@ //----------------------------------------------------------------------- -// <copyright file="ServiceElement.cs" company="Andrew Arnott, Scott Hanselman"> -// Copyright (c) Andrew Arnott, Scott Hanselman. All rights reserved. +// <copyright file="ServiceElement.cs" company="Outercurve Foundation, Scott Hanselman"> +// Copyright (c) Outercurve Foundation, Scott Hanselman. All rights reserved. // </copyright> //----------------------------------------------------------------------- diff --git a/src/DotNetOpenAuth.OpenId/Xrds/TypeElement.cs b/src/DotNetOpenAuth.OpenId/Xrds/TypeElement.cs index e1ad188..717dfee 100644 --- a/src/DotNetOpenAuth.OpenId/Xrds/TypeElement.cs +++ b/src/DotNetOpenAuth.OpenId/Xrds/TypeElement.cs @@ -1,6 +1,6 @@ //----------------------------------------------------------------------- -// <copyright file="TypeElement.cs" company="Andrew Arnott, Scott Hanselman"> -// Copyright (c) Andrew Arnott, Scott Hanselman. All rights reserved. +// <copyright file="TypeElement.cs" company="Outercurve Foundation, Scott Hanselman"> +// Copyright (c) Outercurve Foundation, Scott Hanselman. All rights reserved. // </copyright> //----------------------------------------------------------------------- diff --git a/src/DotNetOpenAuth.OpenId/Xrds/UriElement.cs b/src/DotNetOpenAuth.OpenId/Xrds/UriElement.cs index a67d259..bb69211 100644 --- a/src/DotNetOpenAuth.OpenId/Xrds/UriElement.cs +++ b/src/DotNetOpenAuth.OpenId/Xrds/UriElement.cs @@ -1,6 +1,6 @@ //----------------------------------------------------------------------- -// <copyright file="UriElement.cs" company="Andrew Arnott, Scott Hanselman"> -// Copyright (c) Andrew Arnott, Scott Hanselman. All rights reserved. +// <copyright file="UriElement.cs" company="Outercurve Foundation, Scott Hanselman"> +// Copyright (c) Outercurve Foundation, Scott Hanselman. All rights reserved. // </copyright> //----------------------------------------------------------------------- diff --git a/src/DotNetOpenAuth.OpenId/Xrds/XrdElement.cs b/src/DotNetOpenAuth.OpenId/Xrds/XrdElement.cs index 2cdc720..4645ad1 100644 --- a/src/DotNetOpenAuth.OpenId/Xrds/XrdElement.cs +++ b/src/DotNetOpenAuth.OpenId/Xrds/XrdElement.cs @@ -1,6 +1,6 @@ //----------------------------------------------------------------------- -// <copyright file="XrdElement.cs" company="Andrew Arnott, Scott Hanselman"> -// Copyright (c) Andrew Arnott, Scott Hanselman. All rights reserved. +// <copyright file="XrdElement.cs" company="Outercurve Foundation, Scott Hanselman"> +// Copyright (c) Outercurve Foundation, Scott Hanselman. All rights reserved. // </copyright> //----------------------------------------------------------------------- diff --git a/src/DotNetOpenAuth.OpenId/Xrds/XrdsDocument.cs b/src/DotNetOpenAuth.OpenId/Xrds/XrdsDocument.cs index 040c994..0e1ecc1 100644 --- a/src/DotNetOpenAuth.OpenId/Xrds/XrdsDocument.cs +++ b/src/DotNetOpenAuth.OpenId/Xrds/XrdsDocument.cs @@ -1,6 +1,6 @@ //----------------------------------------------------------------------- -// <copyright file="XrdsDocument.cs" company="Andrew Arnott"> -// Copyright (c) Andrew Arnott. All rights reserved. +// <copyright file="XrdsDocument.cs" company="Outercurve Foundation"> +// Copyright (c) Outercurve Foundation. All rights reserved. // </copyright> //----------------------------------------------------------------------- diff --git a/src/DotNetOpenAuth.OpenId/Xrds/XrdsNode.cs b/src/DotNetOpenAuth.OpenId/Xrds/XrdsNode.cs index 7a27a9c..3e163f7 100644 --- a/src/DotNetOpenAuth.OpenId/Xrds/XrdsNode.cs +++ b/src/DotNetOpenAuth.OpenId/Xrds/XrdsNode.cs @@ -1,6 +1,6 @@ //----------------------------------------------------------------------- -// <copyright file="XrdsNode.cs" company="Andrew Arnott, Scott Hanselman"> -// Copyright (c) Andrew Arnott, Scott Hanselman. All rights reserved. +// <copyright file="XrdsNode.cs" company="Outercurve Foundation, Scott Hanselman"> +// Copyright (c) Outercurve Foundation, Scott Hanselman. All rights reserved. // </copyright> //----------------------------------------------------------------------- diff --git a/src/DotNetOpenAuth.OpenId/Yadis/ContentTypes.cs b/src/DotNetOpenAuth.OpenId/Yadis/ContentTypes.cs index 30745ee..26bc4a4 100644 --- a/src/DotNetOpenAuth.OpenId/Yadis/ContentTypes.cs +++ b/src/DotNetOpenAuth.OpenId/Yadis/ContentTypes.cs @@ -1,6 +1,6 @@ //----------------------------------------------------------------------- -// <copyright file="ContentTypes.cs" company="Andrew Arnott"> -// Copyright (c) Andrew Arnott. All rights reserved. +// <copyright file="ContentTypes.cs" company="Outercurve Foundation"> +// Copyright (c) Outercurve Foundation. All rights reserved. // </copyright> //----------------------------------------------------------------------- diff --git a/src/DotNetOpenAuth.OpenId/Yadis/HtmlParser.cs b/src/DotNetOpenAuth.OpenId/Yadis/HtmlParser.cs index 9002acb..481d6a7 100644 --- a/src/DotNetOpenAuth.OpenId/Yadis/HtmlParser.cs +++ b/src/DotNetOpenAuth.OpenId/Yadis/HtmlParser.cs @@ -1,6 +1,6 @@ //----------------------------------------------------------------------- -// <copyright file="HtmlParser.cs" company="Andrew Arnott, Scott Hanselman, Jason Alexander"> -// Copyright (c) Andrew Arnott, Scott Hanselman, Jason Alexander. All rights reserved. +// <copyright file="HtmlParser.cs" company="Outercurve Foundation, Scott Hanselman, Jason Alexander"> +// Copyright (c) Outercurve Foundation, Scott Hanselman, Jason Alexander. All rights reserved. // </copyright> //----------------------------------------------------------------------- diff --git a/src/DotNetOpenAuth.OpenId/Yadis/Yadis.cs b/src/DotNetOpenAuth.OpenId/Yadis/Yadis.cs index 955f2f4..f71ad46 100644 --- a/src/DotNetOpenAuth.OpenId/Yadis/Yadis.cs +++ b/src/DotNetOpenAuth.OpenId/Yadis/Yadis.cs @@ -1,6 +1,6 @@ //----------------------------------------------------------------------- -// <copyright file="Yadis.cs" company="Andrew Arnott, Scott Hanselman"> -// Copyright (c) Andrew Arnott, Scott Hanselman. All rights reserved. +// <copyright file="Yadis.cs" company="Outercurve Foundation, Scott Hanselman"> +// Copyright (c) Outercurve Foundation, Scott Hanselman. All rights reserved. // </copyright> //----------------------------------------------------------------------- diff --git a/src/DotNetOpenAuth.OpenIdInfoCard.UI/OpenId/RelyingParty/OpenIdInfoCardSelector.cs b/src/DotNetOpenAuth.OpenIdInfoCard.UI/OpenId/RelyingParty/OpenIdInfoCardSelector.cs index 8eb399b..a68fd95 100644 --- a/src/DotNetOpenAuth.OpenIdInfoCard.UI/OpenId/RelyingParty/OpenIdInfoCardSelector.cs +++ b/src/DotNetOpenAuth.OpenIdInfoCard.UI/OpenId/RelyingParty/OpenIdInfoCardSelector.cs @@ -1,12 +1,9 @@ //----------------------------------------------------------------------- -// <copyright file="OpenIdInfoCardSelector.cs" company="Andrew Arnott"> -// Copyright (c) Andrew Arnott. All rights reserved. +// <copyright file="OpenIdInfoCardSelector.cs" company="Outercurve Foundation"> +// Copyright (c) Outercurve Foundation. All rights reserved. // </copyright> //----------------------------------------------------------------------- -[assembly: System.Web.UI.WebResource(DotNetOpenAuth.OpenId.RelyingParty.OpenIdSelector.EmbeddedScriptResourceName, "text/javascript")] -[assembly: System.Web.UI.WebResource(DotNetOpenAuth.OpenId.RelyingParty.OpenIdSelector.EmbeddedStylesheetResourceName, "text/css")] - namespace DotNetOpenAuth.OpenId.RelyingParty { using System; using System.Collections.Generic; @@ -29,7 +26,7 @@ namespace DotNetOpenAuth.OpenId.RelyingParty { /// <summary> /// An ASP.NET control that provides a user-friendly way of logging into a web site using OpenID. /// </summary> - [ToolboxData("<{0}:OpenIdSelector runat=\"server\"></{0}:OpenIdSelector>")] + [ToolboxData("<{0}:OpenIdInfoCardSelector runat=\"server\"></{0}:OpenIdInfoCardSelector>")] public class OpenIdInfoCardSelector : OpenIdSelector { /// <summary> /// The InfoCard selector button. diff --git a/src/DotNetOpenAuth.OpenIdInfoCard.UI/OpenId/RelyingParty/SelectorInfoCardButton.cs b/src/DotNetOpenAuth.OpenIdInfoCard.UI/OpenId/RelyingParty/SelectorInfoCardButton.cs index 863c90a..2a96d2b 100644 --- a/src/DotNetOpenAuth.OpenIdInfoCard.UI/OpenId/RelyingParty/SelectorInfoCardButton.cs +++ b/src/DotNetOpenAuth.OpenIdInfoCard.UI/OpenId/RelyingParty/SelectorInfoCardButton.cs @@ -1,6 +1,6 @@ //----------------------------------------------------------------------- -// <copyright file="SelectorInfoCardButton.cs" company="Andrew Arnott"> -// Copyright (c) Andrew Arnott. All rights reserved. +// <copyright file="SelectorInfoCardButton.cs" company="Outercurve Foundation"> +// Copyright (c) Outercurve Foundation. All rights reserved. // </copyright> //----------------------------------------------------------------------- diff --git a/src/DotNetOpenAuth.OpenIdInfoCard.UI/Properties/AssemblyInfo.cs b/src/DotNetOpenAuth.OpenIdInfoCard.UI/Properties/AssemblyInfo.cs index 8700856..194cdca 100644 --- a/src/DotNetOpenAuth.OpenIdInfoCard.UI/Properties/AssemblyInfo.cs +++ b/src/DotNetOpenAuth.OpenIdInfoCard.UI/Properties/AssemblyInfo.cs @@ -1,6 +1,6 @@ //----------------------------------------------------------------------- -// <copyright file="AssemblyInfo.cs" company="Andrew Arnott"> -// Copyright (c) Andrew Arnott. All rights reserved. +// <copyright file="AssemblyInfo.cs" company="Outercurve Foundation"> +// Copyright (c) Outercurve Foundation. All rights reserved. // </copyright> //----------------------------------------------------------------------- @@ -25,7 +25,7 @@ using System.Web.UI; [assembly: AssemblyConfiguration("")] [assembly: AssemblyCompany("")] [assembly: AssemblyProduct("DotNetOpenAuth")] -[assembly: AssemblyCopyright("Copyright © 2008")] +[assembly: AssemblyCopyright("Copyright © 2011 Outercurve Foundation")] [assembly: AssemblyTrademark("")] [assembly: AssemblyCulture("")] [assembly: NeutralResourcesLanguage("en-US")] diff --git a/src/DotNetOpenAuth.OpenIdOAuth/DotNetOpenAuth.OpenIdOAuth.csproj b/src/DotNetOpenAuth.OpenIdOAuth/DotNetOpenAuth.OpenIdOAuth.csproj new file mode 100644 index 0000000..74719d4 --- /dev/null +++ b/src/DotNetOpenAuth.OpenIdOAuth/DotNetOpenAuth.OpenIdOAuth.csproj @@ -0,0 +1,58 @@ +<?xml version="1.0" encoding="utf-8"?> +<Project ToolsVersion="4.0" DefaultTargets="Build" xmlns="http://schemas.microsoft.com/developer/msbuild/2003"> + <Import Project="$([MSBuild]::GetDirectoryNameOfFileAbove($(MSBuildProjectDirectory), EnlistmentInfo.props))\EnlistmentInfo.props" Condition=" '$([MSBuild]::GetDirectoryNameOfFileAbove($(MSBuildProjectDirectory), EnlistmentInfo.props))' != '' " /> + <PropertyGroup> + <Configuration Condition=" '$(Configuration)' == '' ">Debug</Configuration> + <Platform Condition=" '$(Platform)' == '' ">AnyCPU</Platform> + </PropertyGroup> + <Import Project="$(ProjectRoot)tools\DotNetOpenAuth.props" /> + <PropertyGroup> + <SchemaVersion>2.0</SchemaVersion> + <ProjectGuid>{4BFAA336-5DF3-4F27-82D3-06D13240E8AB}</ProjectGuid> + <OutputType>Library</OutputType> + <AppDesignerFolder>Properties</AppDesignerFolder> + <RootNamespace>DotNetOpenAuth</RootNamespace> + <AssemblyName>DotNetOpenAuth.OpenIdOAuth</AssemblyName> + </PropertyGroup> + <Import Project="$(ProjectRoot)tools\DotNetOpenAuth.Product.props" /> + <PropertyGroup Condition=" '$(Configuration)|$(Platform)' == 'Debug|AnyCPU' "> + </PropertyGroup> + <PropertyGroup Condition=" '$(Configuration)|$(Platform)' == 'Release|AnyCPU' "> + </PropertyGroup> + <ItemGroup> + <Compile Include="OAuth\ChannelElements\ICombinedOpenIdProviderTokenManager.cs" /> + <Compile Include="OAuth\ChannelElements\IOpenIdOAuthTokenManager.cs" /> + <Compile Include="OAuth\ServiceProviderOpenIdProvider.cs" /> + <Compile Include="OAuth\WebConsumerOpenIdRelyingParty.cs" /> + <Compile Include="Properties\AssemblyInfo.cs" /> + </ItemGroup> + <ItemGroup> + <ProjectReference Include="..\DotNetOpenAuth.Core\DotNetOpenAuth.Core.csproj"> + <Project>{60426312-6AE5-4835-8667-37EDEA670222}</Project> + <Name>DotNetOpenAuth.Core</Name> + </ProjectReference> + <ProjectReference Include="..\DotNetOpenAuth.OAuth.Common\DotNetOpenAuth.OAuth.Common.csproj"> + <Project>{115217C5-22CD-415C-A292-0DD0238CDD89}</Project> + <Name>DotNetOpenAuth.OAuth.Common</Name> + </ProjectReference> + <ProjectReference Include="..\DotNetOpenAuth.OAuth.Consumer\DotNetOpenAuth.OAuth.Consumer.csproj"> + <Project>{B202E40D-4663-4A2B-ACDA-865F88FF7CAA}</Project> + <Name>DotNetOpenAuth.OAuth.Consumer</Name> + </ProjectReference> + <ProjectReference Include="..\DotNetOpenAuth.OAuth.ServiceProvider\DotNetOpenAuth.OAuth.ServiceProvider.csproj"> + <Project>{FED1923A-6D70-49B5-A37A-FB744FEC1C86}</Project> + <Name>DotNetOpenAuth.OAuth.ServiceProvider</Name> + </ProjectReference> + <ProjectReference Include="..\DotNetOpenAuth.OAuth\DotNetOpenAuth.OAuth.csproj"> + <Project>{A288FCC8-6FCF-46DA-A45E-5F9281556361}</Project> + <Name>DotNetOpenAuth.OAuth</Name> + </ProjectReference> + <ProjectReference Include="..\DotNetOpenAuth.OpenId\DotNetOpenAuth.OpenId.csproj"> + <Project>{3896A32A-E876-4C23-B9B8-78E17D134CD3}</Project> + <Name>DotNetOpenAuth.OpenId</Name> + </ProjectReference> + </ItemGroup> + <Import Project="$(MSBuildToolsPath)\Microsoft.CSharp.targets" /> + <Import Project="$(ProjectRoot)tools\DotNetOpenAuth.targets" /> + <Import Project="$([MSBuild]::GetDirectoryNameOfFileAbove($(MSBuildProjectDirectory), EnlistmentInfo.targets))\EnlistmentInfo.targets" Condition=" '$([MSBuild]::GetDirectoryNameOfFileAbove($(MSBuildProjectDirectory), EnlistmentInfo.targets))' != '' " /> +</Project>
\ No newline at end of file diff --git a/src/DotNetOpenAuth.OAuth/OAuth/ChannelElements/ICombinedOpenIdProviderTokenManager.cs b/src/DotNetOpenAuth.OpenIdOAuth/OAuth/ChannelElements/ICombinedOpenIdProviderTokenManager.cs index dd28e71..d6a7e93 100644 --- a/src/DotNetOpenAuth.OAuth/OAuth/ChannelElements/ICombinedOpenIdProviderTokenManager.cs +++ b/src/DotNetOpenAuth.OpenIdOAuth/OAuth/ChannelElements/ICombinedOpenIdProviderTokenManager.cs @@ -1,6 +1,6 @@ //----------------------------------------------------------------------- -// <copyright file="ICombinedOpenIdProviderTokenManager.cs" company="Andrew Arnott"> -// Copyright (c) Andrew Arnott. All rights reserved. +// <copyright file="ICombinedOpenIdProviderTokenManager.cs" company="Outercurve Foundation"> +// Copyright (c) Outercurve Foundation. All rights reserved. // </copyright> //----------------------------------------------------------------------- diff --git a/src/DotNetOpenAuth.OAuth/OAuth/ChannelElements/IOpenIdOAuthTokenManager.cs b/src/DotNetOpenAuth.OpenIdOAuth/OAuth/ChannelElements/IOpenIdOAuthTokenManager.cs index b3ee320..3f3c1d9 100644 --- a/src/DotNetOpenAuth.OAuth/OAuth/ChannelElements/IOpenIdOAuthTokenManager.cs +++ b/src/DotNetOpenAuth.OpenIdOAuth/OAuth/ChannelElements/IOpenIdOAuthTokenManager.cs @@ -1,6 +1,6 @@ //----------------------------------------------------------------------- -// <copyright file="IOpenIdOAuthTokenManager.cs" company="Andrew Arnott"> -// Copyright (c) Andrew Arnott. All rights reserved. +// <copyright file="IOpenIdOAuthTokenManager.cs" company="Outercurve Foundation"> +// Copyright (c) Outercurve Foundation. All rights reserved. // </copyright> //----------------------------------------------------------------------- diff --git a/src/DotNetOpenAuth.OpenIdOAuth/OAuth/ServiceProviderOpenIdProvider.cs b/src/DotNetOpenAuth.OpenIdOAuth/OAuth/ServiceProviderOpenIdProvider.cs new file mode 100644 index 0000000..b590a90 --- /dev/null +++ b/src/DotNetOpenAuth.OpenIdOAuth/OAuth/ServiceProviderOpenIdProvider.cs @@ -0,0 +1,161 @@ +//----------------------------------------------------------------------- +// <copyright file="ServiceProviderOpenIdProvider.cs" company="Outercurve Foundation"> +// Copyright (c) Outercurve Foundation. All rights reserved. +// </copyright> +//----------------------------------------------------------------------- + +namespace DotNetOpenAuth.OAuth { + using System; + using System.Collections.Generic; + using System.ComponentModel; + using System.Diagnostics.CodeAnalysis; + using System.Diagnostics.Contracts; + using System.Globalization; + using System.Security.Principal; + using System.ServiceModel.Channels; + using System.Web; + using DotNetOpenAuth.Configuration; + using DotNetOpenAuth.Messaging; + using DotNetOpenAuth.Messaging.Bindings; + using DotNetOpenAuth.OAuth.ChannelElements; + using DotNetOpenAuth.OAuth.Messages; + using DotNetOpenAuth.OpenId; + using DotNetOpenAuth.OpenId.Extensions.OAuth; + using DotNetOpenAuth.OpenId.Messages; + using DotNetOpenAuth.OpenId.Provider; + + /// <summary> + /// A web application that allows access via OAuth and can respond to OpenID+OAuth requests. + /// </summary> + /// <remarks> + /// <para>The Service Provider’s documentation should include:</para> + /// <list> + /// <item>The URLs (Request URLs) the Consumer will use when making OAuth requests, and the HTTP methods (i.e. GET, POST, etc.) used in the Request Token URL and Access Token URL.</item> + /// <item>Signature methods supported by the Service Provider.</item> + /// <item>Any additional request parameters that the Service Provider requires in order to obtain a Token. Service Provider specific parameters MUST NOT begin with oauth_.</item> + /// </list> + /// </remarks> + public class ServiceProviderOpenIdProvider : ServiceProvider { + /// <summary> + /// Initializes a new instance of the <see cref="ServiceProviderOpenIdProvider"/> class. + /// </summary> + /// <param name="serviceDescription">The endpoints and behavior on the Service Provider.</param> + /// <param name="tokenManager">The host's method of storing and recalling tokens and secrets.</param> + public ServiceProviderOpenIdProvider(ServiceProviderDescription serviceDescription, IServiceProviderTokenManager tokenManager) + : base(serviceDescription, tokenManager) { + } + + /// <summary> + /// Initializes a new instance of the <see cref="ServiceProviderOpenIdProvider"/> class. + /// </summary> + /// <param name="serviceDescription">The service description.</param> + /// <param name="tokenManager">The token manager.</param> + /// <param name="messageTypeProvider">The message type provider.</param> + public ServiceProviderOpenIdProvider(ServiceProviderDescription serviceDescription, IServiceProviderTokenManager tokenManager, OAuthServiceProviderMessageFactory messageTypeProvider) + : base(serviceDescription, tokenManager, messageTypeProvider) { + } + + /// <summary> + /// Initializes a new instance of the <see cref="ServiceProviderOpenIdProvider"/> class. + /// </summary> + /// <param name="serviceDescription">The service description.</param> + /// <param name="tokenManager">The token manager.</param> + /// <param name="nonceStore">The nonce store.</param> + public ServiceProviderOpenIdProvider(ServiceProviderDescription serviceDescription, IServiceProviderTokenManager tokenManager, INonceStore nonceStore) + : base(serviceDescription, tokenManager, nonceStore) { + } + + /// <summary> + /// Initializes a new instance of the <see cref="ServiceProviderOpenIdProvider"/> class. + /// </summary> + /// <param name="serviceDescription">The service description.</param> + /// <param name="tokenManager">The token manager.</param> + /// <param name="nonceStore">The nonce store.</param> + /// <param name="messageTypeProvider">The message type provider.</param> + public ServiceProviderOpenIdProvider(ServiceProviderDescription serviceDescription, IServiceProviderTokenManager tokenManager, INonceStore nonceStore, OAuthServiceProviderMessageFactory messageTypeProvider) + : base(serviceDescription, tokenManager, nonceStore, messageTypeProvider) { + } + + /// <summary> + /// Gets the OAuth authorization request included with an OpenID authentication + /// request, if there is one. + /// </summary> + /// <param name="openIdRequest">The OpenID authentication request.</param> + /// <returns> + /// The scope of access the relying party is requesting, or null if no OAuth request + /// is present. + /// </returns> + /// <remarks> + /// <para>Call this method rather than simply extracting the OAuth extension + /// out from the authentication request directly to ensure that the additional + /// security measures that are required are taken.</para> + /// </remarks> + public AuthorizationRequest ReadAuthorizationRequest(IHostProcessedRequest openIdRequest) { + Requires.NotNull(openIdRequest, "openIdRequest"); + Requires.ValidState(this.TokenManager is ICombinedOpenIdProviderTokenManager); + var openidTokenManager = this.TokenManager as ICombinedOpenIdProviderTokenManager; + ErrorUtilities.VerifyOperation(openidTokenManager != null, OAuthStrings.OpenIdOAuthExtensionRequiresSpecialTokenManagerInterface, typeof(IOpenIdOAuthTokenManager).FullName); + + var authzRequest = openIdRequest.GetExtension<AuthorizationRequest>(); + if (authzRequest == null) { + return null; + } + + // OpenID+OAuth spec section 9: + // The Combined Provider SHOULD verify that the consumer key passed in the + // request is authorized to be used for the realm passed in the request. + string expectedConsumerKey = openidTokenManager.GetConsumerKey(openIdRequest.Realm); + ErrorUtilities.VerifyProtocol( + string.Equals(expectedConsumerKey, authzRequest.Consumer, StringComparison.Ordinal), + OAuthStrings.OpenIdOAuthRealmConsumerKeyDoNotMatch); + + return authzRequest; + } + + /// <summary> + /// Attaches the authorization response to an OpenID authentication response. + /// </summary> + /// <param name="openIdAuthenticationRequest">The OpenID authentication request.</param> + /// <param name="consumerKey">The consumer key. Must be <c>null</c> if and only if <paramref name="scope"/> is null.</param> + /// <param name="scope">The approved access scope. Use <c>null</c> to indicate no access was granted. The empty string will be interpreted as some default level of access is granted.</param> + [SuppressMessage("Microsoft.Design", "CA1011:ConsiderPassingBaseTypesAsParameters", Justification = "We want to take IAuthenticationRequest because that's the only supported use case.")] + [Obsolete("Call the overload that doesn't take a consumerKey instead.")] + public void AttachAuthorizationResponse(IHostProcessedRequest openIdAuthenticationRequest, string consumerKey, string scope) { + Requires.NotNull(openIdAuthenticationRequest, "openIdAuthenticationRequest"); + Requires.True((consumerKey == null) == (scope == null), null); + Requires.ValidState(this.TokenManager is ICombinedOpenIdProviderTokenManager); + var openidTokenManager = (ICombinedOpenIdProviderTokenManager)this.TokenManager; + ErrorUtilities.VerifyArgument(consumerKey == null || consumerKey == openidTokenManager.GetConsumerKey(openIdAuthenticationRequest.Realm), OAuthStrings.OpenIdOAuthRealmConsumerKeyDoNotMatch); + + this.AttachAuthorizationResponse(openIdAuthenticationRequest, scope); + } + + /// <summary> + /// Attaches the authorization response to an OpenID authentication response. + /// </summary> + /// <param name="openIdAuthenticationRequest">The OpenID authentication request.</param> + /// <param name="scope">The approved access scope. Use <c>null</c> to indicate no access was granted. The empty string will be interpreted as some default level of access is granted.</param> + [SuppressMessage("Microsoft.Design", "CA1011:ConsiderPassingBaseTypesAsParameters", Justification = "We want to take IAuthenticationRequest because that's the only supported use case.")] + public void AttachAuthorizationResponse(IHostProcessedRequest openIdAuthenticationRequest, string scope) { + Requires.NotNull(openIdAuthenticationRequest, "openIdAuthenticationRequest"); + Requires.ValidState(this.TokenManager is ICombinedOpenIdProviderTokenManager); + + var openidTokenManager = this.TokenManager as ICombinedOpenIdProviderTokenManager; + IOpenIdMessageExtension response; + if (scope != null) { + // Generate an authorized request token to return to the relying party. + string consumerKey = openidTokenManager.GetConsumerKey(openIdAuthenticationRequest.Realm); + var approvedResponse = new AuthorizationApprovedResponse { + RequestToken = this.TokenGenerator.GenerateRequestToken(consumerKey), + Scope = scope, + }; + openidTokenManager.StoreOpenIdAuthorizedRequestToken(consumerKey, approvedResponse); + response = approvedResponse; + } else { + response = new AuthorizationDeclinedResponse(); + } + + openIdAuthenticationRequest.AddResponseExtension(response); + } + } +} diff --git a/src/DotNetOpenAuth.OpenIdOAuth/OAuth/WebConsumerOpenIdRelyingParty.cs b/src/DotNetOpenAuth.OpenIdOAuth/OAuth/WebConsumerOpenIdRelyingParty.cs new file mode 100644 index 0000000..0d1a602 --- /dev/null +++ b/src/DotNetOpenAuth.OpenIdOAuth/OAuth/WebConsumerOpenIdRelyingParty.cs @@ -0,0 +1,97 @@ +//----------------------------------------------------------------------- +// <copyright file="WebConsumerOpenIdRelyingParty.cs" company="Outercurve Foundation"> +// Copyright (c) Outercurve Foundation. All rights reserved. +// </copyright> +//----------------------------------------------------------------------- + +namespace DotNetOpenAuth.OAuth { + using System; + using System.Collections.Generic; + using System.Linq; + using System.Text; + using DotNetOpenAuth.Messaging; + using DotNetOpenAuth.OAuth.ChannelElements; + using DotNetOpenAuth.OAuth.Messages; + using DotNetOpenAuth.OpenId.Extensions.OAuth; + using DotNetOpenAuth.OpenId.RelyingParty; + + /// <summary> + /// A website or application that uses OAuth to access the Service Provider on behalf of the User + /// and can attach OAuth requests to outbound OpenID authentication requests. + /// </summary> + /// <remarks> + /// The methods on this class are thread-safe. Provided the properties are set and not changed + /// afterward, a single instance of this class may be used by an entire web application safely. + /// </remarks> + public class WebConsumerOpenIdRelyingParty : WebConsumer { + /// <summary> + /// Initializes a new instance of the <see cref="WebConsumerOpenIdRelyingParty"/> class. + /// </summary> + /// <param name="serviceDescription">The endpoints and behavior of the Service Provider.</param> + /// <param name="tokenManager">The host's method of storing and recalling tokens and secrets.</param> + public WebConsumerOpenIdRelyingParty(ServiceProviderDescription serviceDescription, IConsumerTokenManager tokenManager) + : base(serviceDescription, tokenManager) { + } + + /// <summary> + /// Attaches an OAuth authorization request to an outgoing OpenID authentication request. + /// </summary> + /// <param name="openIdAuthenticationRequest">The OpenID authentication request.</param> + /// <param name="scope">The scope of access that is requested of the service provider.</param> + public void AttachAuthorizationRequest(IAuthenticationRequest openIdAuthenticationRequest, string scope) { + Requires.NotNull(openIdAuthenticationRequest, "openIdAuthenticationRequest"); + + var authorizationRequest = new AuthorizationRequest { + Consumer = this.ConsumerKey, + Scope = scope, + }; + + openIdAuthenticationRequest.AddExtension(authorizationRequest); + } + + /// <summary> + /// Processes an incoming authorization-granted message from an SP and obtains an access token. + /// </summary> + /// <param name="openIdAuthenticationResponse">The OpenID authentication response that may be carrying an authorized request token.</param> + /// <returns> + /// The access token, or null if OAuth authorization was denied by the user or service provider. + /// </returns> + /// <remarks> + /// The access token, if granted, is automatically stored in the <see cref="ConsumerBase.TokenManager"/>. + /// The token manager instance must implement <see cref="IOpenIdOAuthTokenManager"/>. + /// </remarks> + public AuthorizedTokenResponse ProcessUserAuthorization(IAuthenticationResponse openIdAuthenticationResponse) { + Requires.NotNull(openIdAuthenticationResponse, "openIdAuthenticationResponse"); + Requires.ValidState(this.TokenManager is IOpenIdOAuthTokenManager); + var openidTokenManager = this.TokenManager as IOpenIdOAuthTokenManager; + ErrorUtilities.VerifyOperation(openidTokenManager != null, OAuthStrings.OpenIdOAuthExtensionRequiresSpecialTokenManagerInterface, typeof(IOpenIdOAuthTokenManager).FullName); + + // The OAuth extension is only expected in positive assertion responses. + if (openIdAuthenticationResponse.Status != AuthenticationStatus.Authenticated) { + return null; + } + + // Retrieve the OAuth extension + var positiveAuthorization = openIdAuthenticationResponse.GetExtension<AuthorizationApprovedResponse>(); + if (positiveAuthorization == null) { + return null; + } + + // Prepare a message to exchange the request token for an access token. + // We are careful to use a v1.0 message version so that the oauth_verifier is not required. + var requestAccess = new AuthorizedTokenRequest(this.ServiceProvider.AccessTokenEndpoint, Protocol.V10.Version) { + RequestToken = positiveAuthorization.RequestToken, + ConsumerKey = this.ConsumerKey, + }; + + // Retrieve the access token and store it in the token manager. + openidTokenManager.StoreOpenIdAuthorizedRequestToken(this.ConsumerKey, positiveAuthorization); + var grantAccess = this.Channel.Request<AuthorizedTokenResponse>(requestAccess); + this.TokenManager.ExpireRequestTokenAndStoreNewAccessToken(this.ConsumerKey, positiveAuthorization.RequestToken, grantAccess.AccessToken, grantAccess.TokenSecret); + + // Provide the caller with the access token so it may be associated with the user + // that is logging in. + return grantAccess; + } + } +} diff --git a/src/DotNetOpenAuth.OpenIdOAuth/Properties/AssemblyInfo.cs b/src/DotNetOpenAuth.OpenIdOAuth/Properties/AssemblyInfo.cs new file mode 100644 index 0000000..08c3ec2 --- /dev/null +++ b/src/DotNetOpenAuth.OpenIdOAuth/Properties/AssemblyInfo.cs @@ -0,0 +1,53 @@ +//----------------------------------------------------------------------- +// <copyright file="AssemblyInfo.cs" company="Outercurve Foundation"> +// Copyright (c) Outercurve Foundation. All rights reserved. +// </copyright> +//----------------------------------------------------------------------- + +// We DON'T put an AssemblyVersionAttribute in here because it is generated in the build. + +using System; +using System.Diagnostics.Contracts; +using System.Net; +using System.Reflection; +using System.Resources; +using System.Runtime.CompilerServices; +using System.Runtime.InteropServices; +using System.Security; +using System.Security.Permissions; +using System.Web.UI; + +// General Information about an assembly is controlled through the following +// set of attributes. Change these attribute values to modify the information +// associated with an assembly. +[assembly: AssemblyTitle("DotNetOpenAuth")] +[assembly: AssemblyDescription("")] +[assembly: AssemblyConfiguration("")] +[assembly: AssemblyCompany("")] +[assembly: AssemblyProduct("DotNetOpenAuth")] +[assembly: AssemblyCopyright("Copyright © 2011 Outercurve Foundation")] +[assembly: AssemblyTrademark("")] +[assembly: AssemblyCulture("")] +[assembly: NeutralResourcesLanguage("en-US")] +[assembly: CLSCompliant(true)] + +// Setting ComVisible to false makes the types in this assembly not visible +// to COM components. If you need to access a type in this assembly from +// COM, set the ComVisible attribute to true on that type. +[assembly: ComVisible(false)] + +// The following GUID is for the ID of the typelib if this project is exposed to COM +[assembly: Guid("F9AFC069-8291-497F-B2A1-3E4D1646C572")] +[assembly: ContractVerification(true)] + +#if StrongNameSigned +// See comment at top of this file. We need this so that strong-naming doesn't +// keep this assembly from being useful to shared host (medium trust) web sites. +[assembly: AllowPartiallyTrustedCallers] + +[assembly: InternalsVisibleTo("DotNetOpenAuth.Test, PublicKey=0024000004800000940000000602000000240000525341310004000001000100AD093C3765257C89A7010E853F2C7C741FF92FA8ACE06D7B8254702CAD5CF99104447F63AB05F8BB6F51CE0D81C8C93D2FCE8C20AAFF7042E721CBA16EAAE98778611DED11C0ABC8900DC5667F99B50A9DADEC24DBD8F2C91E3E8AD300EF64F1B4B9536CEB16FB440AF939F57624A9B486F867807C649AE4830EAB88C6C03998")] +[assembly: InternalsVisibleTo("DynamicProxyGenAssembly2, PublicKey=0024000004800000940000000602000000240000525341310004000001000100c547cac37abd99c8db225ef2f6c8a3602f3b3606cc9891605d02baa56104f4cfc0734aa39b93bf7852f7d9266654753cc297e7d2edfe0bac1cdcf9f717241550e0a7b191195b7667bb4f64bcb8e2121380fd1d9d46ad2d92d2d15605093924cceaf74c4861eff62abf69b9291ed0a340e113be11e6a7d3113e92484cf7045cc7")] +#else +[assembly: InternalsVisibleTo("DotNetOpenAuth.Test")] +[assembly: InternalsVisibleTo("DynamicProxyGenAssembly2")] +#endif diff --git a/src/DotNetOpenAuth.Test/AssemblyTesting.cs b/src/DotNetOpenAuth.Test/AssemblyTesting.cs index 92b08ec..dac5bea 100644 --- a/src/DotNetOpenAuth.Test/AssemblyTesting.cs +++ b/src/DotNetOpenAuth.Test/AssemblyTesting.cs @@ -1,6 +1,6 @@ //----------------------------------------------------------------------- -// <copyright file="AssemblyTesting.cs" company="Andrew Arnott"> -// Copyright (c) Andrew Arnott. All rights reserved. +// <copyright file="AssemblyTesting.cs" company="Outercurve Foundation"> +// Copyright (c) Outercurve Foundation. All rights reserved. // </copyright> //----------------------------------------------------------------------- diff --git a/src/DotNetOpenAuth.Test/Configuration/SectionTests.cs b/src/DotNetOpenAuth.Test/Configuration/SectionTests.cs index 0cff4b7..3f6d4c9 100644 --- a/src/DotNetOpenAuth.Test/Configuration/SectionTests.cs +++ b/src/DotNetOpenAuth.Test/Configuration/SectionTests.cs @@ -1,6 +1,6 @@ //----------------------------------------------------------------------- -// <copyright file="SectionTests.cs" company="Andrew Arnott"> -// Copyright (c) Andrew Arnott. All rights reserved. +// <copyright file="SectionTests.cs" company="Outercurve Foundation"> +// Copyright (c) Outercurve Foundation. All rights reserved. // </copyright> //----------------------------------------------------------------------- @@ -13,7 +13,7 @@ namespace DotNetOpenAuth.Test.Configuration { [TestFixture] public class SectionTests { - [TestCase] + [Test] public void UntrustedWebRequest() { var uwr = DotNetOpenAuthSection.Messaging.UntrustedWebRequest; @@ -29,12 +29,12 @@ namespace DotNetOpenAuth.Test.Configuration { Assert.IsTrue(uwr.WhitelistHostsRegex.KeysAsStrings.Contains(".+trusted.+")); } - [TestCase] + [Test] public void OpenIdMaxAuthenticationTime() { Assert.AreEqual(TimeSpan.Parse("00:08:17"), OpenIdElement.Configuration.MaxAuthenticationTime); } - [TestCase] + [Test] public void OpenIdRelyingParty() { var rp = OpenIdElement.Configuration.RelyingParty; Assert.IsNull(rp.ApplicationStore.CustomType); @@ -45,7 +45,7 @@ namespace DotNetOpenAuth.Test.Configuration { Assert.IsFalse(rp.SecuritySettings.RequireSsl); } - [TestCase] + [Test] public void OpenIdProvider() { var op = OpenIdElement.Configuration.Provider; Assert.IsNull(op.ApplicationStore.CustomType); diff --git a/src/DotNetOpenAuth.Test/CoordinatorBase.cs b/src/DotNetOpenAuth.Test/CoordinatorBase.cs index 84d0ff1..1b4a5cd 100644 --- a/src/DotNetOpenAuth.Test/CoordinatorBase.cs +++ b/src/DotNetOpenAuth.Test/CoordinatorBase.cs @@ -1,6 +1,6 @@ //----------------------------------------------------------------------- -// <copyright file="CoordinatorBase.cs" company="Andrew Arnott"> -// Copyright (c) Andrew Arnott. All rights reserved. +// <copyright file="CoordinatorBase.cs" company="Outercurve Foundation"> +// Copyright (c) Outercurve Foundation. All rights reserved. // </copyright> //----------------------------------------------------------------------- diff --git a/src/DotNetOpenAuth.Test/DotNetOpenAuth.Test.csproj b/src/DotNetOpenAuth.Test/DotNetOpenAuth.Test.csproj index 46556f7..af0e09a 100644 --- a/src/DotNetOpenAuth.Test/DotNetOpenAuth.Test.csproj +++ b/src/DotNetOpenAuth.Test/DotNetOpenAuth.Test.csproj @@ -218,6 +218,7 @@ <Compile Include="Mocks\AssociateUnencryptedRequestNoSslCheck.cs" /> <Compile Include="Mocks\CoordinatingChannel.cs" /> <Compile Include="Mocks\CoordinatingHttpRequestInfo.cs" /> + <Compile Include="Mocks\CoordinatingOAuth2AuthServerChannel.cs" /> <Compile Include="Mocks\CoordinatingOutgoingWebResponse.cs" /> <Compile Include="Mocks\CoordinatingOAuthConsumerChannel.cs" /> <Compile Include="Mocks\InMemoryTokenManager.cs" /> @@ -242,8 +243,10 @@ <Compile Include="Mocks\TestMessage.cs" /> <Compile Include="Mocks\TestMessageFactory.cs" /> <Compile Include="OAuth2\MessageFactoryTests.cs" /> - <Compile Include="OAuth2\OAuth2ChannelTests.cs" /> + <Compile Include="OAuth2\UserAgentClientAuthorizeTests.cs" /> + <Compile Include="OAuth2\OAuth2Coordinator.cs" /> <Compile Include="OAuth2\OAuth2TestBase.cs" /> + <Compile Include="OAuth2\WebServerClientAuthorizeTests.cs" /> <Compile Include="OAuth\ChannelElements\HmacSha1SigningBindingElementTests.cs" /> <Compile Include="OAuth\ChannelElements\OAuthChannelTests.cs" /> <Compile Include="OAuth\ChannelElements\PlaintextSigningBindingElementTest.cs" /> @@ -484,4 +487,4 @@ <Import Project="$(MSBuildToolsPath)\Microsoft.CSharp.targets" /> <Import Project="$(ProjectRoot)tools\DotNetOpenAuth.targets" /> <Import Project="$([MSBuild]::GetDirectoryNameOfFileAbove($(MSBuildProjectDirectory), EnlistmentInfo.targets))\EnlistmentInfo.targets" Condition=" '$([MSBuild]::GetDirectoryNameOfFileAbove($(MSBuildProjectDirectory), EnlistmentInfo.targets))' != '' " /> -</Project> +</Project>
\ No newline at end of file diff --git a/src/DotNetOpenAuth.Test/Hosting/AspNetHost.cs b/src/DotNetOpenAuth.Test/Hosting/AspNetHost.cs index e4cdc9b..43890b6 100644 --- a/src/DotNetOpenAuth.Test/Hosting/AspNetHost.cs +++ b/src/DotNetOpenAuth.Test/Hosting/AspNetHost.cs @@ -1,6 +1,6 @@ //----------------------------------------------------------------------- -// <copyright file="AspNetHost.cs" company="Andrew Arnott"> -// Copyright (c) Andrew Arnott. All rights reserved. +// <copyright file="AspNetHost.cs" company="Outercurve Foundation"> +// Copyright (c) Outercurve Foundation. All rights reserved. // </copyright> //----------------------------------------------------------------------- diff --git a/src/DotNetOpenAuth.Test/Hosting/HostingTests.cs b/src/DotNetOpenAuth.Test/Hosting/HostingTests.cs index 4e0f618..0f3f6e9 100644 --- a/src/DotNetOpenAuth.Test/Hosting/HostingTests.cs +++ b/src/DotNetOpenAuth.Test/Hosting/HostingTests.cs @@ -1,6 +1,6 @@ //----------------------------------------------------------------------- -// <copyright file="HostingTests.cs" company="Andrew Arnott"> -// Copyright (c) Andrew Arnott. All rights reserved. +// <copyright file="HostingTests.cs" company="Outercurve Foundation"> +// Copyright (c) Outercurve Foundation. All rights reserved. // </copyright> //----------------------------------------------------------------------- @@ -16,7 +16,7 @@ namespace DotNetOpenAuth.Test.Hosting { [TestFixture, Category("HostASPNET")] public class HostingTests : TestBase { - [TestCase] + [Test] public void AspHostBasicTest() { try { using (AspNetHost host = AspNetHost.CreateHost(TestWebDirectory)) { diff --git a/src/DotNetOpenAuth.Test/Hosting/HttpHost.cs b/src/DotNetOpenAuth.Test/Hosting/HttpHost.cs index 1707077..ee3cb6c 100644 --- a/src/DotNetOpenAuth.Test/Hosting/HttpHost.cs +++ b/src/DotNetOpenAuth.Test/Hosting/HttpHost.cs @@ -1,6 +1,6 @@ //----------------------------------------------------------------------- -// <copyright file="HttpHost.cs" company="Andrew Arnott"> -// Copyright (c) Andrew Arnott. All rights reserved. +// <copyright file="HttpHost.cs" company="Outercurve Foundation"> +// Copyright (c) Outercurve Foundation. All rights reserved. // </copyright> //----------------------------------------------------------------------- diff --git a/src/DotNetOpenAuth.Test/Hosting/TestingWorkerRequest.cs b/src/DotNetOpenAuth.Test/Hosting/TestingWorkerRequest.cs index acafc4e..f6c54e6 100644 --- a/src/DotNetOpenAuth.Test/Hosting/TestingWorkerRequest.cs +++ b/src/DotNetOpenAuth.Test/Hosting/TestingWorkerRequest.cs @@ -1,6 +1,6 @@ //----------------------------------------------------------------------- -// <copyright file="TestingWorkerRequest.cs" company="Andrew Arnott"> -// Copyright (c) Andrew Arnott. All rights reserved. +// <copyright file="TestingWorkerRequest.cs" company="Outercurve Foundation"> +// Copyright (c) Outercurve Foundation. All rights reserved. // </copyright> //----------------------------------------------------------------------- diff --git a/src/DotNetOpenAuth.Test/LocalizationTests.cs b/src/DotNetOpenAuth.Test/LocalizationTests.cs index 4920deb..af2dcb7 100644 --- a/src/DotNetOpenAuth.Test/LocalizationTests.cs +++ b/src/DotNetOpenAuth.Test/LocalizationTests.cs @@ -1,6 +1,6 @@ //----------------------------------------------------------------------- -// <copyright file="LocalizationTests.cs" company="Andrew Arnott"> -// Copyright (c) Andrew Arnott. All rights reserved. +// <copyright file="LocalizationTests.cs" company="Outercurve Foundation"> +// Copyright (c) Outercurve Foundation. All rights reserved. // </copyright> //----------------------------------------------------------------------- diff --git a/src/DotNetOpenAuth.Test/Messaging/Bindings/StandardExpirationBindingElementTests.cs b/src/DotNetOpenAuth.Test/Messaging/Bindings/StandardExpirationBindingElementTests.cs index 2c3cae2..acd41bc 100644 --- a/src/DotNetOpenAuth.Test/Messaging/Bindings/StandardExpirationBindingElementTests.cs +++ b/src/DotNetOpenAuth.Test/Messaging/Bindings/StandardExpirationBindingElementTests.cs @@ -1,6 +1,6 @@ //----------------------------------------------------------------------- -// <copyright file="StandardExpirationBindingElementTests.cs" company="Andrew Arnott"> -// Copyright (c) Andrew Arnott. All rights reserved. +// <copyright file="StandardExpirationBindingElementTests.cs" company="Outercurve Foundation"> +// Copyright (c) Outercurve Foundation. All rights reserved. // </copyright> //----------------------------------------------------------------------- @@ -15,7 +15,7 @@ namespace DotNetOpenAuth.Test.Messaging.Bindings { [TestFixture] public class StandardExpirationBindingElementTests : MessagingTestBase { - [TestCase] + [Test] public void SendSetsTimestamp() { TestExpiringMessage message = new TestExpiringMessage(MessageTransport.Indirect); message.Recipient = new Uri("http://localtest"); @@ -26,13 +26,13 @@ namespace DotNetOpenAuth.Test.Messaging.Bindings { Assert.IsTrue(DateTime.UtcNow - ((IExpiringProtocolMessage)message).UtcCreationDate < TimeSpan.FromSeconds(3), "The timestamp on the message was not set on send."); } - [TestCase] + [Test] public void VerifyGoodTimestampIsAccepted() { this.Channel = CreateChannel(MessageProtections.Expiration); this.ParameterizedReceiveProtectedTest(DateTime.UtcNow, false); } - [TestCase] + [Test] public void VerifyFutureTimestampWithinClockSkewIsAccepted() { this.Channel = CreateChannel(MessageProtections.Expiration); this.ParameterizedReceiveProtectedTest(DateTime.UtcNow + DotNetOpenAuthSection.Messaging.MaximumClockSkew - TimeSpan.FromSeconds(1), false); diff --git a/src/DotNetOpenAuth.Test/Messaging/Bindings/StandardReplayProtectionBindingElementTests.cs b/src/DotNetOpenAuth.Test/Messaging/Bindings/StandardReplayProtectionBindingElementTests.cs index d8698ce..34c3a85 100644 --- a/src/DotNetOpenAuth.Test/Messaging/Bindings/StandardReplayProtectionBindingElementTests.cs +++ b/src/DotNetOpenAuth.Test/Messaging/Bindings/StandardReplayProtectionBindingElementTests.cs @@ -1,6 +1,6 @@ //----------------------------------------------------------------------- -// <copyright file="StandardReplayProtectionBindingElementTests.cs" company="Andrew Arnott"> -// Copyright (c) Andrew Arnott. All rights reserved. +// <copyright file="StandardReplayProtectionBindingElementTests.cs" company="Outercurve Foundation"> +// Copyright (c) Outercurve Foundation. All rights reserved. // </copyright> //----------------------------------------------------------------------- @@ -39,7 +39,7 @@ namespace DotNetOpenAuth.Test.Messaging.Bindings { /// <summary> /// Verifies that the generated nonce includes random characters. /// </summary> - [TestCase] + [Test] public void RandomCharactersTest() { Assert.IsNotNull(this.nonceElement.ProcessOutgoingMessage(this.message)); Assert.IsNotNull(this.message.Nonce, "No nonce was set on the message."); @@ -56,7 +56,7 @@ namespace DotNetOpenAuth.Test.Messaging.Bindings { /// <summary> /// Verifies that a message is received correctly. /// </summary> - [TestCase] + [Test] public void ValidMessageReceivedTest() { this.message.Nonce = "a"; Assert.IsNotNull(this.nonceElement.ProcessIncomingMessage(this.message)); @@ -65,7 +65,7 @@ namespace DotNetOpenAuth.Test.Messaging.Bindings { /// <summary> /// Verifies that a message that doesn't have a string of random characters is received correctly. /// </summary> - [TestCase] + [Test] public void ValidMessageNoNonceReceivedTest() { this.message.Nonce = string.Empty; this.nonceElement.AllowZeroLengthNonce = true; diff --git a/src/DotNetOpenAuth.Test/Messaging/ChannelTests.cs b/src/DotNetOpenAuth.Test/Messaging/ChannelTests.cs index acb200f..425f5f3 100644 --- a/src/DotNetOpenAuth.Test/Messaging/ChannelTests.cs +++ b/src/DotNetOpenAuth.Test/Messaging/ChannelTests.cs @@ -1,6 +1,6 @@ //----------------------------------------------------------------------- -// <copyright file="ChannelTests.cs" company="Andrew Arnott"> -// Copyright (c) Andrew Arnott. All rights reserved. +// <copyright file="ChannelTests.cs" company="Outercurve Foundation"> +// Copyright (c) Outercurve Foundation. All rights reserved. // </copyright> //----------------------------------------------------------------------- @@ -24,12 +24,12 @@ namespace DotNetOpenAuth.Test.Messaging { new TestBadChannel(true); } - [TestCase] + [Test] public void ReadFromRequestQueryString() { this.ParameterizedReceiveTest("GET"); } - [TestCase] + [Test] public void ReadFromRequestForm() { this.ParameterizedReceiveTest("POST"); } @@ -68,7 +68,7 @@ namespace DotNetOpenAuth.Test.Messaging { this.Channel.PrepareResponse(message); } - [TestCase] + [Test] public void SendIndirectMessage301Get() { TestDirectedMessage message = new TestDirectedMessage(MessageTransport.Indirect); GetStandardTestMessage(FieldFill.CompleteBeforeBindings, message); @@ -109,7 +109,7 @@ namespace DotNetOpenAuth.Test.Messaging { badChannel.Create301RedirectResponse(message, null); } - [TestCase] + [Test] public void SendIndirectMessageFormPost() { // We craft a very large message to force fallback to form POST. // We'll also stick some HTML reserved characters in the string value @@ -183,13 +183,13 @@ namespace DotNetOpenAuth.Test.Messaging { badChannel.Receive(null, null); } - [TestCase] + [Test] public void ReceiveUnrecognizedMessage() { TestBadChannel badChannel = new TestBadChannel(false); Assert.IsNull(badChannel.Receive(new Dictionary<string, string>(), null)); } - [TestCase] + [Test] public void ReadFromRequestWithContext() { var fields = GetStandardTestFields(FieldFill.AllRequired); TestMessage expectedMessage = GetStandardTestMessage(FieldFill.AllRequired); @@ -214,7 +214,7 @@ namespace DotNetOpenAuth.Test.Messaging { badChannel.ReadFromRequest(null); } - [TestCase] + [Test] public void SendReplayProtectedMessageSetsNonce() { TestReplayProtectedMessage message = new TestReplayProtectedMessage(MessageTransport.Indirect); message.Recipient = new Uri("http://localtest"); @@ -230,7 +230,7 @@ namespace DotNetOpenAuth.Test.Messaging { this.ParameterizedReceiveProtectedTest(DateTime.UtcNow, true); } - [TestCase] + [Test] public void ReceivedReplayProtectedMessageJustOnce() { this.Channel = CreateChannel(MessageProtections.ReplayProtection); this.ParameterizedReceiveProtectedTest(DateTime.UtcNow, false); @@ -259,7 +259,7 @@ namespace DotNetOpenAuth.Test.Messaging { channel.ProcessOutgoingMessageTestHook(new TestSignedDirectedMessage()); } - [TestCase] + [Test] public void BindingElementsOrdering() { IChannelBindingElement transformA = new MockTransformationBindingElement("a"); IChannelBindingElement transformB = new MockTransformationBindingElement("b"); diff --git a/src/DotNetOpenAuth.Test/Messaging/CollectionAssert.cs b/src/DotNetOpenAuth.Test/Messaging/CollectionAssert.cs index af542db..117cde2 100644 --- a/src/DotNetOpenAuth.Test/Messaging/CollectionAssert.cs +++ b/src/DotNetOpenAuth.Test/Messaging/CollectionAssert.cs @@ -1,6 +1,6 @@ //----------------------------------------------------------------------- -// <copyright file="CollectionAssert.cs" company="Andrew Arnott"> -// Copyright (c) Andrew Arnott. All rights reserved. +// <copyright file="CollectionAssert.cs" company="Outercurve Foundation"> +// Copyright (c) Outercurve Foundation. All rights reserved. // </copyright> //----------------------------------------------------------------------- diff --git a/src/DotNetOpenAuth.Test/Messaging/EnumerableCacheTests.cs b/src/DotNetOpenAuth.Test/Messaging/EnumerableCacheTests.cs index 1c9f5a8..f425563 100644 --- a/src/DotNetOpenAuth.Test/Messaging/EnumerableCacheTests.cs +++ b/src/DotNetOpenAuth.Test/Messaging/EnumerableCacheTests.cs @@ -1,6 +1,6 @@ //----------------------------------------------------------------------- -// <copyright file="EnumerableCacheTests.cs" company="Andrew Arnott"> -// Copyright (c) Andrew Arnott. All rights reserved. +// <copyright file="EnumerableCacheTests.cs" company="Outercurve Foundation"> +// Copyright (c) Outercurve Foundation. All rights reserved. // This code is released under the Microsoft Public License (Ms-PL). // </copyright> //----------------------------------------------------------------------- @@ -37,7 +37,7 @@ namespace DotNetOpenAuth.Test.Messaging { this.generatorCompleted = 0; } - [TestCase] + [Test] public void EnumerableCache() { // Baseline var generator = this.NumberGenerator(); @@ -58,7 +58,7 @@ namespace DotNetOpenAuth.Test.Messaging { CollectionAssert.AreEqual(list1, list4); } - [TestCase] + [Test] public void GeneratesOnlyRequiredElements() { var generator = this.NumberGenerator().CacheGeneratedResults(); Assert.AreEqual(0, this.generatorInvocations); @@ -67,28 +67,28 @@ namespace DotNetOpenAuth.Test.Messaging { Assert.AreEqual(0, this.generatorCompleted, "Only taking part of the list should not have completed the generator."); } - [TestCase] + [Test] public void PassThruDoubleCache() { var cache1 = this.NumberGenerator().CacheGeneratedResults(); var cache2 = cache1.CacheGeneratedResults(); Assert.AreSame(cache1, cache2, "Two caches were set up rather than just sharing the first one."); } - [TestCase] + [Test] public void PassThruList() { var list = this.NumberGenerator().ToList(); var cache = list.CacheGeneratedResults(); Assert.AreSame(list, cache); } - [TestCase] + [Test] public void PassThruArray() { var array = this.NumberGenerator().ToArray(); var cache = array.CacheGeneratedResults(); Assert.AreSame(array, cache); } - [TestCase] + [Test] public void PassThruCollection() { var collection = new Collection<int>(); var cache = collection.CacheGeneratedResults(); diff --git a/src/DotNetOpenAuth.Test/Messaging/ErrorUtilitiesTests.cs b/src/DotNetOpenAuth.Test/Messaging/ErrorUtilitiesTests.cs index 4408708..10aeef1 100644 --- a/src/DotNetOpenAuth.Test/Messaging/ErrorUtilitiesTests.cs +++ b/src/DotNetOpenAuth.Test/Messaging/ErrorUtilitiesTests.cs @@ -1,6 +1,6 @@ //----------------------------------------------------------------------- -// <copyright file="ErrorUtilitiesTests.cs" company="Andrew Arnott"> -// Copyright (c) Andrew Arnott. All rights reserved. +// <copyright file="ErrorUtilitiesTests.cs" company="Outercurve Foundation"> +// Copyright (c) Outercurve Foundation. All rights reserved. // </copyright> //----------------------------------------------------------------------- @@ -16,7 +16,7 @@ namespace DotNetOpenAuth.Test.Messaging { ErrorUtilities.VerifyArgumentNotNull(null, "someArg"); } - [TestCase] + [Test] public void VerifyArgumentNotNullDoesNotThrow() { ErrorUtilities.VerifyArgumentNotNull("hi", "someArg"); } @@ -31,7 +31,7 @@ namespace DotNetOpenAuth.Test.Messaging { ErrorUtilities.VerifyNonZeroLength(string.Empty, "someArg"); } - [TestCase] + [Test] public void VerifyNonZeroLengthOnNonEmpty() { ErrorUtilities.VerifyNonZeroLength("some Value", "someArg"); } diff --git a/src/DotNetOpenAuth.Test/Messaging/HttpRequestInfoTests.cs b/src/DotNetOpenAuth.Test/Messaging/HttpRequestInfoTests.cs index 0085d59..b2f2b14 100644 --- a/src/DotNetOpenAuth.Test/Messaging/HttpRequestInfoTests.cs +++ b/src/DotNetOpenAuth.Test/Messaging/HttpRequestInfoTests.cs @@ -1,6 +1,6 @@ //----------------------------------------------------------------------- -// <copyright file="HttpRequestInfoTests.cs" company="Andrew Arnott"> -// Copyright (c) Andrew Arnott. All rights reserved. +// <copyright file="HttpRequestInfoTests.cs" company="Outercurve Foundation"> +// Copyright (c) Outercurve Foundation. All rights reserved. // </copyright> //----------------------------------------------------------------------- @@ -13,13 +13,13 @@ namespace DotNetOpenAuth.Test.Messaging { [TestFixture] public class HttpRequestInfoTests : TestBase { - [TestCase] + [Test] public void CtorDefault() { HttpRequestInfo info = new HttpRequestInfo(); Assert.AreEqual("GET", info.HttpMethod); } - [TestCase] + [Test] public void CtorRequest() { HttpRequest request = new HttpRequest("file", "http://someserver?a=b", "a=b"); ////request.Headers["headername"] = "headervalue"; // PlatformNotSupportedException prevents us mocking this up @@ -33,7 +33,7 @@ namespace DotNetOpenAuth.Test.Messaging { } // All these tests are ineffective because ServerVariables[] cannot be set. - ////[TestCase] + ////[Test] ////public void CtorRequestWithDifferentPublicHttpHost() { //// HttpRequest request = new HttpRequest("file", "http://someserver?a=b", "a=b"); //// request.ServerVariables["HTTP_HOST"] = "publichost"; @@ -44,7 +44,7 @@ namespace DotNetOpenAuth.Test.Messaging { //// Assert.AreEqual(request.QueryString["a"], info.QueryString["a"]); ////} - ////[TestCase] + ////[Test] ////public void CtorRequestWithDifferentPublicHttpsHost() { //// HttpRequest request = new HttpRequest("file", "https://someserver?a=b", "a=b"); //// request.ServerVariables["HTTP_HOST"] = "publichost"; @@ -55,7 +55,7 @@ namespace DotNetOpenAuth.Test.Messaging { //// Assert.AreEqual(request.QueryString["a"], info.QueryString["a"]); ////} - ////[TestCase] + ////[Test] ////public void CtorRequestWithDifferentPublicHostNonstandardPort() { //// HttpRequest request = new HttpRequest("file", "http://someserver?a=b", "a=b"); //// request.ServerVariables["HTTP_HOST"] = "publichost:550"; @@ -66,7 +66,7 @@ namespace DotNetOpenAuth.Test.Messaging { //// Assert.AreEqual(request.QueryString["a"], info.QueryString["a"]); ////} - ////[TestCase] + ////[Test] ////public void CtorRequestWithDifferentPublicIPv6Host() { //// HttpRequest request = new HttpRequest("file", "http://[fe80::587e:c6e5:d3aa:657a]:8089/v3.1/", ""); //// request.ServerVariables["HTTP_HOST"] = "[fe80::587e:c6e5:d3aa:657b]:8089"; @@ -80,7 +80,7 @@ namespace DotNetOpenAuth.Test.Messaging { /// Checks that a property dependent on another null property /// doesn't generate a NullReferenceException. /// </summary> - [TestCase] + [Test] public void QueryBeforeSettingUrl() { HttpRequestInfo info = new HttpRequestInfo(); Assert.IsNull(info.Query); @@ -89,7 +89,7 @@ namespace DotNetOpenAuth.Test.Messaging { /// <summary> /// Verifies that looking up a querystring variable is gracefully handled without a query in the URL. /// </summary> - [TestCase] + [Test] public void QueryStringLookupWithoutQuery() { HttpRequestInfo info = new HttpRequestInfo(); Assert.IsNull(info.QueryString["hi"]); @@ -98,7 +98,7 @@ namespace DotNetOpenAuth.Test.Messaging { /// <summary> /// Verifies SSL forwarders are correctly handled when they supply X_FORWARDED_PROTO and HOST /// </summary> - [TestCase] + [Test] public void GetPublicFacingUrlSSLForwarder1() { HttpRequest req = new HttpRequest("a.aspx", "http://someinternalhost/a.aspx?a=b", "a=b"); var serverVariables = new NameValueCollection(); @@ -112,7 +112,7 @@ namespace DotNetOpenAuth.Test.Messaging { /// <summary> /// Verifies SSL forwarders are correctly handled when they supply X_FORWARDED_PROTO and HOST:port /// </summary> - [TestCase] + [Test] public void GetPublicFacingUrlSSLForwarder2() { HttpRequest req = new HttpRequest("a.aspx", "http://someinternalhost/a.aspx?a=b", "a=b"); var serverVariables = new NameValueCollection(); @@ -126,7 +126,7 @@ namespace DotNetOpenAuth.Test.Messaging { /// <summary> /// Verifies SSL forwarders are correctly handled when they supply just HOST /// </summary> - [TestCase] + [Test] public void GetPublicFacingUrlSSLForwarder3() { HttpRequest req = new HttpRequest("a.aspx", "http://someinternalhost/a.aspx?a=b", "a=b"); var serverVariables = new NameValueCollection(); @@ -139,7 +139,7 @@ namespace DotNetOpenAuth.Test.Messaging { /// <summary> /// Verifies SSL forwarders are correctly handled when they supply just HOST:port /// </summary> - [TestCase] + [Test] public void GetPublicFacingUrlSSLForwarder4() { HttpRequest req = new HttpRequest("a.aspx", "http://someinternalhost/a.aspx?a=b", "a=b"); var serverVariables = new NameValueCollection(); diff --git a/src/DotNetOpenAuth.Test/Messaging/MessageSerializerTests.cs b/src/DotNetOpenAuth.Test/Messaging/MessageSerializerTests.cs index 07743e1..cdc2e27 100644 --- a/src/DotNetOpenAuth.Test/Messaging/MessageSerializerTests.cs +++ b/src/DotNetOpenAuth.Test/Messaging/MessageSerializerTests.cs @@ -1,6 +1,6 @@ //----------------------------------------------------------------------- -// <copyright file="MessageSerializerTests.cs" company="Andrew Arnott"> -// Copyright (c) Andrew Arnott. All rights reserved. +// <copyright file="MessageSerializerTests.cs" company="Outercurve Foundation"> +// Copyright (c) Outercurve Foundation. All rights reserved. // </copyright> //----------------------------------------------------------------------- @@ -58,7 +58,7 @@ namespace DotNetOpenAuth.Test.Messaging { /// <summary> /// Verifies JSON serialization /// </summary> - [TestCase] + [Test] public void SerializeDeserializeJson() { var serializer = MessageSerializer.Get(typeof(Mocks.TestMessage)); var message = GetStandardTestMessage(FieldFill.CompleteBeforeBindings); @@ -89,7 +89,7 @@ namespace DotNetOpenAuth.Test.Messaging { MessageSerializer.Deserialize(null, null); } - [TestCase] + [Test] public void DeserializeSimple() { var serializer = MessageSerializer.Get(typeof(Mocks.TestMessage)); Dictionary<string, string> fields = new Dictionary<string, string>(StringComparer.Ordinal); @@ -112,7 +112,7 @@ namespace DotNetOpenAuth.Test.Messaging { /// The element sorting rules are first inheritance order, then alphabetical order. /// This test validates correct behavior on both. /// </remarks> - [TestCase] + [Test] public void DeserializeVerifyElementOrdering() { var serializer = MessageSerializer.Get(typeof(Mocks.TestDerivedMessage)); Dictionary<string, string> fields = new Dictionary<string, string>(StringComparer.Ordinal); @@ -136,7 +136,7 @@ namespace DotNetOpenAuth.Test.Messaging { Assert.AreEqual("privateValue", actual.PrivatePropertyAccessor); } - [TestCase] + [Test] public void DeserializeWithExtraFields() { var serializer = MessageSerializer.Get(typeof(Mocks.TestMessage)); Dictionary<string, string> fields = new Dictionary<string, string>(StringComparer.Ordinal); diff --git a/src/DotNetOpenAuth.Test/Messaging/MessagingTestBase.cs b/src/DotNetOpenAuth.Test/Messaging/MessagingTestBase.cs index 72f3359..e3700b8 100644 --- a/src/DotNetOpenAuth.Test/Messaging/MessagingTestBase.cs +++ b/src/DotNetOpenAuth.Test/Messaging/MessagingTestBase.cs @@ -1,6 +1,6 @@ //----------------------------------------------------------------------- -// <copyright file="MessagingTestBase.cs" company="Andrew Arnott"> -// Copyright (c) Andrew Arnott. All rights reserved. +// <copyright file="MessagingTestBase.cs" company="Outercurve Foundation"> +// Copyright (c) Outercurve Foundation. All rights reserved. // </copyright> //----------------------------------------------------------------------- diff --git a/src/DotNetOpenAuth.Test/Messaging/MessagingUtilitiesTests.cs b/src/DotNetOpenAuth.Test/Messaging/MessagingUtilitiesTests.cs index 2a683ed..1f4b1d0 100644 --- a/src/DotNetOpenAuth.Test/Messaging/MessagingUtilitiesTests.cs +++ b/src/DotNetOpenAuth.Test/Messaging/MessagingUtilitiesTests.cs @@ -1,6 +1,6 @@ //----------------------------------------------------------------------- -// <copyright file="MessagingUtilitiesTests.cs" company="Andrew Arnott"> -// Copyright (c) Andrew Arnott. All rights reserved. +// <copyright file="MessagingUtilitiesTests.cs" company="Outercurve Foundation"> +// Copyright (c) Outercurve Foundation. All rights reserved. // </copyright> //----------------------------------------------------------------------- @@ -19,7 +19,7 @@ namespace DotNetOpenAuth.Test.Messaging { [TestFixture] public class MessagingUtilitiesTests : TestBase { - [TestCase] + [Test] public void CreateQueryString() { var args = new Dictionary<string, string>(); args.Add("a", "b"); @@ -27,7 +27,7 @@ namespace DotNetOpenAuth.Test.Messaging { Assert.AreEqual("a=b&c%2Fd=e%2Ff", MessagingUtilities.CreateQueryString(args)); } - [TestCase] + [Test] public void CreateQueryStringEmptyCollection() { Assert.AreEqual(0, MessagingUtilities.CreateQueryString(new Dictionary<string, string>()).Length); } @@ -37,7 +37,7 @@ namespace DotNetOpenAuth.Test.Messaging { MessagingUtilities.CreateQueryString(null); } - [TestCase] + [Test] public void AppendQueryArgs() { UriBuilder uri = new UriBuilder("http://baseline.org/page"); var args = new Dictionary<string, string>(); @@ -56,12 +56,12 @@ namespace DotNetOpenAuth.Test.Messaging { MessagingUtilities.AppendQueryArgs(null, new Dictionary<string, string>()); } - [TestCase] + [Test] public void AppendQueryArgsNullDictionary() { MessagingUtilities.AppendQueryArgs(new UriBuilder(), null); } - [TestCase] + [Test] public void ToDictionary() { NameValueCollection nvc = new NameValueCollection(); nvc["a"] = "b"; @@ -81,7 +81,7 @@ namespace DotNetOpenAuth.Test.Messaging { nvc.ToDictionary(true); } - [TestCase] + [Test] public void ToDictionaryWithSkippedNullKey() { NameValueCollection nvc = new NameValueCollection(); nvc[null] = "a"; @@ -91,7 +91,7 @@ namespace DotNetOpenAuth.Test.Messaging { Assert.AreEqual(nvc["b"], dictionary["b"]); } - [TestCase] + [Test] public void ToDictionaryNull() { Assert.IsNull(MessagingUtilities.ToDictionary(null)); } @@ -111,7 +111,7 @@ namespace DotNetOpenAuth.Test.Messaging { MessagingUtilities.ApplyHeadersToResponse(null, new HttpResponseWrapper(new HttpResponse(new StringWriter()))); } - [TestCase] + [Test] public void ApplyHeadersToResponse() { var headers = new WebHeaderCollection(); headers[HttpResponseHeader.ContentType] = "application/binary"; @@ -128,7 +128,7 @@ namespace DotNetOpenAuth.Test.Messaging { /// <remarks> /// The tests in this method come from http://wiki.oauth.net/TestCases /// </remarks> - [TestCase] + [Test] public void EscapeUriDataStringRfc3986Tests() { Assert.AreEqual("abcABC123", MessagingUtilities.EscapeUriDataStringRfc3986("abcABC123")); Assert.AreEqual("-._~", MessagingUtilities.EscapeUriDataStringRfc3986("-._~")); @@ -145,7 +145,7 @@ namespace DotNetOpenAuth.Test.Messaging { /// <summary> /// Verifies the overall format of the multipart POST is correct. /// </summary> - [TestCase] + [Test] public void PostMultipart() { var httpHandler = new TestWebRequestHandler(); bool callbackTriggered = false; @@ -174,7 +174,7 @@ namespace DotNetOpenAuth.Test.Messaging { /// <summary> /// Verifies proper behavior of GetHttpVerb /// </summary> - [TestCase] + [Test] public void GetHttpVerbTest() { Assert.AreEqual("GET", MessagingUtilities.GetHttpVerb(HttpDeliveryMethods.GetRequest)); Assert.AreEqual("POST", MessagingUtilities.GetHttpVerb(HttpDeliveryMethods.PostRequest)); @@ -200,7 +200,7 @@ namespace DotNetOpenAuth.Test.Messaging { /// <summary> /// Verifies proper behavior of GetHttpDeliveryMethod /// </summary> - [TestCase] + [Test] public void GetHttpDeliveryMethodTest() { Assert.AreEqual(HttpDeliveryMethods.GetRequest, MessagingUtilities.GetHttpDeliveryMethod("GET")); Assert.AreEqual(HttpDeliveryMethods.PostRequest, MessagingUtilities.GetHttpDeliveryMethod("POST")); @@ -217,7 +217,7 @@ namespace DotNetOpenAuth.Test.Messaging { MessagingUtilities.GetHttpDeliveryMethod("UNRECOGNIZED"); } - [TestCase] + [Test] public void EncryptDecrypt() { const string PlainText = "Hi folks!"; byte[] key = MessagingUtilities.GetCryptoRandomData(128 / 8); @@ -232,7 +232,7 @@ namespace DotNetOpenAuth.Test.Messaging { /// <summary> /// Verifies that the time-independent string equality check works accurately. /// </summary> - [TestCase] + [Test] public void EqualsConstantTime() { this.EqualsConstantTimeHelper(null, null); this.EqualsConstantTimeHelper(null, string.Empty); diff --git a/src/DotNetOpenAuth.Test/Messaging/MultipartPostPartTests.cs b/src/DotNetOpenAuth.Test/Messaging/MultipartPostPartTests.cs index 08524b2..39267ca 100644 --- a/src/DotNetOpenAuth.Test/Messaging/MultipartPostPartTests.cs +++ b/src/DotNetOpenAuth.Test/Messaging/MultipartPostPartTests.cs @@ -1,6 +1,6 @@ //----------------------------------------------------------------------- -// <copyright file="MultipartPostPartTests.cs" company="Andrew Arnott"> -// Copyright (c) Andrew Arnott. All rights reserved. +// <copyright file="MultipartPostPartTests.cs" company="Outercurve Foundation"> +// Copyright (c) Outercurve Foundation. All rights reserved. // </copyright> //----------------------------------------------------------------------- @@ -18,7 +18,7 @@ namespace DotNetOpenAuth.Test.Messaging { /// <summary> /// Verifies that the Length property matches the length actually serialized. /// </summary> - [TestCase] + [Test] public void FormDataSerializeMatchesLength() { var part = MultipartPostPart.CreateFormPart("a", "b"); VerifyLength(part); @@ -27,7 +27,7 @@ namespace DotNetOpenAuth.Test.Messaging { /// <summary> /// Verifies that the length property matches the length actually serialized. /// </summary> - [TestCase] + [Test] public void FileSerializeMatchesLength() { using (TempFileCollection tfc = new TempFileCollection()) { string file = tfc.AddExtension(".txt"); @@ -40,7 +40,7 @@ namespace DotNetOpenAuth.Test.Messaging { /// <summary> /// Verifies file multiparts identify themselves as files and not merely form-data. /// </summary> - [TestCase] + [Test] public void FilePartAsFile() { var part = MultipartPostPart.CreateFormFilePart("somename", "somefile", "plain/text", new MemoryStream()); Assert.AreEqual("file", part.ContentDisposition); @@ -49,7 +49,7 @@ namespace DotNetOpenAuth.Test.Messaging { /// <summary> /// Verifies MultiPartPost sends the right number of bytes. /// </summary> - [TestCase] + [Test] public void MultiPartPostAscii() { using (TempFileCollection tfc = new TempFileCollection()) { string file = tfc.AddExtension("txt"); @@ -64,7 +64,7 @@ namespace DotNetOpenAuth.Test.Messaging { /// <summary> /// Verifies MultiPartPost sends the right number of bytes. /// </summary> - [TestCase] + [Test] public void MultiPartPostMultiByteCharacters() { using (TempFileCollection tfc = new TempFileCollection()) { string file = tfc.AddExtension("txt"); diff --git a/src/DotNetOpenAuth.Test/Messaging/OutgoingWebResponseTests.cs b/src/DotNetOpenAuth.Test/Messaging/OutgoingWebResponseTests.cs index 10045de..3efc471 100644 --- a/src/DotNetOpenAuth.Test/Messaging/OutgoingWebResponseTests.cs +++ b/src/DotNetOpenAuth.Test/Messaging/OutgoingWebResponseTests.cs @@ -1,6 +1,6 @@ //----------------------------------------------------------------------- -// <copyright file="OutgoingWebResponseTests.cs" company="Andrew Arnott"> -// Copyright (c) Andrew Arnott. All rights reserved. +// <copyright file="OutgoingWebResponseTests.cs" company="Outercurve Foundation"> +// Copyright (c) Outercurve Foundation. All rights reserved. // </copyright> //----------------------------------------------------------------------- @@ -16,7 +16,7 @@ namespace DotNetOpenAuth.Test.Messaging { /// <summary> /// Verifies that setting the Body property correctly converts to a byte stream. /// </summary> - [TestCase] + [Test] public void SetBodyToByteStream() { var response = new OutgoingWebResponse(); string stringValue = "abc"; diff --git a/src/DotNetOpenAuth.Test/Messaging/ProtocolExceptionTests.cs b/src/DotNetOpenAuth.Test/Messaging/ProtocolExceptionTests.cs index c9e3d24..c05f8c3 100644 --- a/src/DotNetOpenAuth.Test/Messaging/ProtocolExceptionTests.cs +++ b/src/DotNetOpenAuth.Test/Messaging/ProtocolExceptionTests.cs @@ -1,6 +1,6 @@ //----------------------------------------------------------------------- -// <copyright file="ProtocolExceptionTests.cs" company="Andrew Arnott"> -// Copyright (c) Andrew Arnott. All rights reserved. +// <copyright file="ProtocolExceptionTests.cs" company="Outercurve Foundation"> +// Copyright (c) Outercurve Foundation. All rights reserved. // </copyright> //----------------------------------------------------------------------- @@ -11,18 +11,18 @@ namespace DotNetOpenAuth.Test.Messaging { [TestFixture] public class ProtocolExceptionTests : TestBase { - [TestCase] + [Test] public void CtorDefault() { ProtocolException ex = new ProtocolException(); } - [TestCase] + [Test] public void CtorWithTextMessage() { ProtocolException ex = new ProtocolException("message"); Assert.AreEqual("message", ex.Message); } - [TestCase] + [Test] public void CtorWithTextMessageAndInnerException() { Exception innerException = new Exception(); ProtocolException ex = new ProtocolException("message", innerException); @@ -30,7 +30,7 @@ namespace DotNetOpenAuth.Test.Messaging { Assert.AreSame(innerException, ex.InnerException); } - [TestCase] + [Test] public void CtorWithProtocolMessage() { IProtocolMessage message = new Mocks.TestDirectedMessage(); ProtocolException ex = new ProtocolException("message", message); diff --git a/src/DotNetOpenAuth.Test/Messaging/Reflection/MessageDescriptionTests.cs b/src/DotNetOpenAuth.Test/Messaging/Reflection/MessageDescriptionTests.cs index 92f39cc..66aef6c 100644 --- a/src/DotNetOpenAuth.Test/Messaging/Reflection/MessageDescriptionTests.cs +++ b/src/DotNetOpenAuth.Test/Messaging/Reflection/MessageDescriptionTests.cs @@ -1,6 +1,6 @@ //----------------------------------------------------------------------- -// <copyright file="MessageDescriptionTests.cs" company="Andrew Arnott"> -// Copyright (c) Andrew Arnott. All rights reserved. +// <copyright file="MessageDescriptionTests.cs" company="Outercurve Foundation"> +// Copyright (c) Outercurve Foundation. All rights reserved. // </copyright> //----------------------------------------------------------------------- @@ -27,7 +27,7 @@ namespace DotNetOpenAuth.Test.Messaging.Reflection { new MessageDescription(typeof(string), new Version(1, 0)); } - [TestCase] + [Test] public void MultiVersionedMessageTest() { var v10 = new MessageDescription(typeof(MultiVersionMessage), new Version(1, 0)); var v20 = new MessageDescription(typeof(MultiVersionMessage), new Version(2, 0)); @@ -76,7 +76,7 @@ namespace DotNetOpenAuth.Test.Messaging.Reflection { /// <summary> /// Verifies that the constructors cache is properly initialized. /// </summary> - [TestCase] + [Test] public void CtorsCache() { var message = new MessageDescription(typeof(MultiVersionMessage), new Version(1, 0)); Assert.IsNotNull(message.Constructors); diff --git a/src/DotNetOpenAuth.Test/Messaging/Reflection/MessageDictionaryTests.cs b/src/DotNetOpenAuth.Test/Messaging/Reflection/MessageDictionaryTests.cs index 9e3f4c5..ec21e31 100644 --- a/src/DotNetOpenAuth.Test/Messaging/Reflection/MessageDictionaryTests.cs +++ b/src/DotNetOpenAuth.Test/Messaging/Reflection/MessageDictionaryTests.cs @@ -1,6 +1,6 @@ //----------------------------------------------------------------------- -// <copyright file="MessageDictionaryTests.cs" company="Andrew Arnott"> -// Copyright (c) Andrew Arnott. All rights reserved. +// <copyright file="MessageDictionaryTests.cs" company="Outercurve Foundation"> +// Copyright (c) Outercurve Foundation. All rights reserved. // </copyright> //----------------------------------------------------------------------- @@ -33,7 +33,7 @@ namespace DotNetOpenAuth.Test.Messaging.Reflection { /// <summary> /// A test for System.Collections.Generic.IDictionary<System.String,System.String>.Values /// </summary> - [TestCase] + [Test] public void Values() { IDictionary<string, string> target = this.MessageDescriptions.GetAccessor(this.message); Collection<string> expected = new Collection<string> { @@ -59,7 +59,7 @@ namespace DotNetOpenAuth.Test.Messaging.Reflection { /// <summary> /// A test for System.Collections.Generic.IDictionary<System.String,System.String>.Keys /// </summary> - [TestCase] + [Test] public void Keys() { // We expect that non-nullable value type fields will automatically have keys // in the dictionary for them. @@ -80,7 +80,7 @@ namespace DotNetOpenAuth.Test.Messaging.Reflection { /// <summary> /// A test for System.Collections.Generic.IDictionary<System.String,System.String>.Item /// </summary> - [TestCase] + [Test] public void Item() { IDictionary<string, string> target = this.MessageDescriptions.GetAccessor(this.message); @@ -103,7 +103,7 @@ namespace DotNetOpenAuth.Test.Messaging.Reflection { /// <summary> /// A test for System.Collections.Generic.ICollection<System.Collections.Generic.KeyValuePair<System.String,System.String<<.IsReadOnly /// </summary> - [TestCase] + [Test] public void IsReadOnly() { ICollection<KeyValuePair<string, string>> target = this.MessageDescriptions.GetAccessor(this.message); Assert.IsFalse(target.IsReadOnly); @@ -112,7 +112,7 @@ namespace DotNetOpenAuth.Test.Messaging.Reflection { /// <summary> /// A test for System.Collections.Generic.ICollection<System.Collections.Generic.KeyValuePair<System.String,System.String<<.Count /// </summary> - [TestCase] + [Test] public void Count() { ICollection<KeyValuePair<string, string>> target = this.MessageDescriptions.GetAccessor(this.message); IDictionary<string, string> targetDictionary = (IDictionary<string, string>)target; @@ -124,7 +124,7 @@ namespace DotNetOpenAuth.Test.Messaging.Reflection { /// <summary> /// A test for System.Collections.Generic.IEnumerable<System.Collections.Generic.KeyValuePair<System.String,System.String<<.GetEnumerator /// </summary> - [TestCase] + [Test] public void GetEnumerator() { IEnumerable<KeyValuePair<string, string>> target = this.MessageDescriptions.GetAccessor(this.message); IDictionary<string, string> targetDictionary = (IDictionary<string, string>)target; @@ -147,7 +147,7 @@ namespace DotNetOpenAuth.Test.Messaging.Reflection { Assert.IsTrue(keysLast == valuesLast && keysLast == actualLast); } - [TestCase] + [Test] public void GetEnumeratorUntyped() { IEnumerable target = this.MessageDescriptions.GetAccessor(this.message); IDictionary<string, string> targetDictionary = (IDictionary<string, string>)target; @@ -174,7 +174,7 @@ namespace DotNetOpenAuth.Test.Messaging.Reflection { /// <summary> /// A test for System.Collections.Generic.IDictionary<System.String,System.String>.TryGetValue /// </summary> - [TestCase] + [Test] public void TryGetValue() { IDictionary<string, string> target = this.MessageDescriptions.GetAccessor(this.message); this.message.Name = "andrew"; @@ -194,7 +194,7 @@ namespace DotNetOpenAuth.Test.Messaging.Reflection { /// <summary> /// A test for System.Collections.Generic.IDictionary<System.String,System.String>.Remove /// </summary> - [TestCase] + [Test] public void RemoveTest1() { IDictionary<string, string> target = this.MessageDescriptions.GetAccessor(this.message); this.message.Name = "andrew"; @@ -211,7 +211,7 @@ namespace DotNetOpenAuth.Test.Messaging.Reflection { /// <summary> /// A test for System.Collections.Generic.IDictionary<System.String,System.String>.ContainsKey /// </summary> - [TestCase] + [Test] public void ContainsKey() { IDictionary<string, string> target = this.MessageDescriptions.GetAccessor(this.message); Assert.IsTrue(target.ContainsKey("age"), "Value type declared element should have a key."); @@ -225,7 +225,7 @@ namespace DotNetOpenAuth.Test.Messaging.Reflection { /// <summary> /// A test for System.Collections.Generic.IDictionary<System.String,System.String>.Add /// </summary> - [TestCase] + [Test] public void AddByKeyAndValue() { IDictionary<string, string> target = this.MessageDescriptions.GetAccessor(this.message); target.Add("extra", "value"); @@ -243,7 +243,7 @@ namespace DotNetOpenAuth.Test.Messaging.Reflection { /// <summary> /// A test for System.Collections.Generic.ICollection<System.Collections.Generic.KeyValuePair<System.String,System.String<<.Add /// </summary> - [TestCase] + [Test] public void AddByKeyValuePair() { IDictionary<string, string> target = this.MessageDescriptions.GetAccessor(this.message); target.Add(new KeyValuePair<string, string>("extra", "value")); @@ -264,14 +264,14 @@ namespace DotNetOpenAuth.Test.Messaging.Reflection { target.Add("Name", "andrew"); } - [TestCase] + [Test] public void DefaultReferenceTypeDeclaredPropertyHasNoKey() { IDictionary<string, string> target = this.MessageDescriptions.GetAccessor(this.message); Assert.IsFalse(target.ContainsKey("Name"), "A null value should result in no key."); Assert.IsFalse(target.Keys.Contains("Name"), "A null value should result in no key."); } - [TestCase] + [Test] public void RemoveStructDeclaredProperty() { IDictionary<string, string> target = this.MessageDescriptions.GetAccessor(this.message); this.message.Age = 5; @@ -284,7 +284,7 @@ namespace DotNetOpenAuth.Test.Messaging.Reflection { /// <summary> /// A test for System.Collections.Generic.ICollection<System.Collections.Generic.KeyValuePair<System.String,System.String<<.Remove /// </summary> - [TestCase] + [Test] public void RemoveByKeyValuePair() { ICollection<KeyValuePair<string, string>> target = this.MessageDescriptions.GetAccessor(this.message); this.message.Name = "Andrew"; @@ -297,7 +297,7 @@ namespace DotNetOpenAuth.Test.Messaging.Reflection { /// <summary> /// A test for System.Collections.Generic.ICollection<System.Collections.Generic.KeyValuePair<System.String,System.String<<.CopyTo /// </summary> - [TestCase] + [Test] public void CopyTo() { ICollection<KeyValuePair<string, string>> target = this.MessageDescriptions.GetAccessor(this.message); IDictionary<string, string> targetAsDictionary = (IDictionary<string, string>)target; @@ -314,7 +314,7 @@ namespace DotNetOpenAuth.Test.Messaging.Reflection { /// <summary> /// A test for System.Collections.Generic.ICollection<System.Collections.Generic.KeyValuePair<System.String,System.String<<.Contains /// </summary> - [TestCase] + [Test] public void ContainsKeyValuePair() { ICollection<KeyValuePair<string, string>> target = this.MessageDescriptions.GetAccessor(this.message); IDictionary<string, string> targetAsDictionary = (IDictionary<string, string>)target; @@ -330,7 +330,7 @@ namespace DotNetOpenAuth.Test.Messaging.Reflection { /// <summary> /// A test for System.Collections.Generic.ICollection<System.Collections.Generic.KeyValuePair<System.String,System.String<<.Clear /// </summary> - [TestCase] + [Test] public void ClearValues() { MessageDictionary target = this.MessageDescriptions.GetAccessor(this.message); IDictionary<string, string> targetAsDictionary = (IDictionary<string, string>)target; diff --git a/src/DotNetOpenAuth.Test/Messaging/Reflection/MessagePartTests.cs b/src/DotNetOpenAuth.Test/Messaging/Reflection/MessagePartTests.cs index 66237e7..1d820d4 100644 --- a/src/DotNetOpenAuth.Test/Messaging/Reflection/MessagePartTests.cs +++ b/src/DotNetOpenAuth.Test/Messaging/Reflection/MessagePartTests.cs @@ -1,6 +1,6 @@ //----------------------------------------------------------------------- -// <copyright file="MessagePartTests.cs" company="Andrew Arnott"> -// Copyright (c) Andrew Arnott. All rights reserved. +// <copyright file="MessagePartTests.cs" company="Outercurve Foundation"> +// Copyright (c) Outercurve Foundation. All rights reserved. // </copyright> //----------------------------------------------------------------------- @@ -21,12 +21,12 @@ namespace DotNetOpenAuth.Test.Messaging.Reflection { this.ParameterizedMessageTypeTest(typeof(MessageWithNonNullableOptionalStruct)); } - [TestCase] + [Test] public void RequiredNonNullableStruct() { this.ParameterizedMessageTypeTest(typeof(MessageWithNonNullableRequiredStruct)); } - [TestCase] + [Test] public void OptionalNullableStruct() { var message = new MessageWithNullableOptionalStruct(); var part = this.ParameterizedMessageTypeTest(message.GetType()); @@ -36,7 +36,7 @@ namespace DotNetOpenAuth.Test.Messaging.Reflection { Assert.AreEqual("3", part.GetValue(message)); } - [TestCase] + [Test] public void RequiredNullableStruct() { this.ParameterizedMessageTypeTest(typeof(MessageWithNullableRequiredStruct)); } @@ -52,7 +52,7 @@ namespace DotNetOpenAuth.Test.Messaging.Reflection { new MessagePart(field, null); } - [TestCase] + [Test] public void SetValue() { var message = new MessageWithNonNullableRequiredStruct(); MessagePart part = this.ParameterizedMessageTypeTest(message.GetType()); @@ -60,7 +60,7 @@ namespace DotNetOpenAuth.Test.Messaging.Reflection { Assert.AreEqual(5, message.OptionalInt); } - [TestCase] + [Test] public void GetValue() { var message = new MessageWithNonNullableRequiredStruct(); message.OptionalInt = 8; @@ -68,7 +68,7 @@ namespace DotNetOpenAuth.Test.Messaging.Reflection { Assert.AreEqual("8", part.GetValue(message)); } - [TestCase] + [Test] public void Base64Member() { var message = new MessageWithBase64EncodedString(); message.LastName = "andrew"; @@ -78,7 +78,7 @@ namespace DotNetOpenAuth.Test.Messaging.Reflection { Assert.AreEqual("arnott", message.LastName); } - [TestCase] + [Test] public void ConstantFieldMemberValidValues() { var message = new MessageWithConstantField(); MessagePart part = GetMessagePart(message.GetType(), "ConstantField"); @@ -100,7 +100,7 @@ namespace DotNetOpenAuth.Test.Messaging.Reflection { new MessagePart(method, new MessagePartAttribute()); } - [TestCase] + [Test] public void RequiredMinAndMaxVersions() { Type messageType = typeof(MessageWithMinAndMaxVersionParts); FieldInfo newIn2Field = messageType.GetField("NewIn2", BindingFlags.Public | BindingFlags.Instance); diff --git a/src/DotNetOpenAuth.Test/Messaging/Reflection/ValueMappingTests.cs b/src/DotNetOpenAuth.Test/Messaging/Reflection/ValueMappingTests.cs index 60c8bc3..8e7ebf8 100644 --- a/src/DotNetOpenAuth.Test/Messaging/Reflection/ValueMappingTests.cs +++ b/src/DotNetOpenAuth.Test/Messaging/Reflection/ValueMappingTests.cs @@ -1,6 +1,6 @@ //----------------------------------------------------------------------- -// <copyright file="ValueMappingTests.cs" company="Andrew Arnott"> -// Copyright (c) Andrew Arnott. All rights reserved. +// <copyright file="ValueMappingTests.cs" company="Outercurve Foundation"> +// Copyright (c) Outercurve Foundation. All rights reserved. // </copyright> //----------------------------------------------------------------------- diff --git a/src/DotNetOpenAuth.Test/Messaging/ResponseTests.cs b/src/DotNetOpenAuth.Test/Messaging/ResponseTests.cs index 037a68e..63e0d74 100644 --- a/src/DotNetOpenAuth.Test/Messaging/ResponseTests.cs +++ b/src/DotNetOpenAuth.Test/Messaging/ResponseTests.cs @@ -1,6 +1,6 @@ //----------------------------------------------------------------------- -// <copyright file="ResponseTests.cs" company="Andrew Arnott"> -// Copyright (c) Andrew Arnott. All rights reserved. +// <copyright file="ResponseTests.cs" company="Outercurve Foundation"> +// Copyright (c) Outercurve Foundation. All rights reserved. // </copyright> //----------------------------------------------------------------------- @@ -19,7 +19,7 @@ namespace DotNetOpenAuth.Test.Messaging { new OutgoingWebResponse().Respond(); } - [TestCase] + [Test] public void Respond() { StringWriter writer = new StringWriter(); HttpRequest httpRequest = new HttpRequest("file", "http://server", string.Empty); diff --git a/src/DotNetOpenAuth.Test/Messaging/StandardMessageFactoryTests.cs b/src/DotNetOpenAuth.Test/Messaging/StandardMessageFactoryTests.cs index 2b0b4e7..e3316f1 100644 --- a/src/DotNetOpenAuth.Test/Messaging/StandardMessageFactoryTests.cs +++ b/src/DotNetOpenAuth.Test/Messaging/StandardMessageFactoryTests.cs @@ -1,6 +1,6 @@ //----------------------------------------------------------------------- -// <copyright file="StandardMessageFactoryTests.cs" company="Andrew Arnott"> -// Copyright (c) Andrew Arnott. All rights reserved. +// <copyright file="StandardMessageFactoryTests.cs" company="Outercurve Foundation"> +// Copyright (c) Outercurve Foundation. All rights reserved. // </copyright> //----------------------------------------------------------------------- @@ -46,7 +46,7 @@ namespace DotNetOpenAuth.Test.Messaging { /// <summary> /// Verifies very simple recognition of a single message type /// </summary> - [TestCase] + [Test] public void SingleRequestMessageType() { this.factory.AddMessageTypes(new MessageDescription[] { MessageDescriptions.Get(typeof(RequestMessageMock), V1) }); var fields = new Dictionary<string, string> { @@ -60,7 +60,7 @@ namespace DotNetOpenAuth.Test.Messaging { /// <summary> /// Verifies very simple recognition of a single message type /// </summary> - [TestCase] + [Test] public void SingleResponseMessageType() { this.factory.AddMessageTypes(new MessageDescription[] { MessageDescriptions.Get(typeof(DirectResponseMessageMock), V1) }); var fields = new Dictionary<string, string> { diff --git a/src/DotNetOpenAuth.Test/Mocks/AssociateUnencryptedRequestNoSslCheck.cs b/src/DotNetOpenAuth.Test/Mocks/AssociateUnencryptedRequestNoSslCheck.cs index 94028e9..83c99d7 100644 --- a/src/DotNetOpenAuth.Test/Mocks/AssociateUnencryptedRequestNoSslCheck.cs +++ b/src/DotNetOpenAuth.Test/Mocks/AssociateUnencryptedRequestNoSslCheck.cs @@ -1,6 +1,6 @@ //----------------------------------------------------------------------- -// <copyright file="AssociateUnencryptedRequestNoSslCheck.cs" company="Andrew Arnott"> -// Copyright (c) Andrew Arnott. All rights reserved. +// <copyright file="AssociateUnencryptedRequestNoSslCheck.cs" company="Outercurve Foundation"> +// Copyright (c) Outercurve Foundation. All rights reserved. // </copyright> //----------------------------------------------------------------------- diff --git a/src/DotNetOpenAuth.Test/Mocks/CoordinatingChannel.cs b/src/DotNetOpenAuth.Test/Mocks/CoordinatingChannel.cs index 4d6f02b..8d5295b 100644 --- a/src/DotNetOpenAuth.Test/Mocks/CoordinatingChannel.cs +++ b/src/DotNetOpenAuth.Test/Mocks/CoordinatingChannel.cs @@ -1,6 +1,6 @@ //----------------------------------------------------------------------- -// <copyright file="CoordinatingChannel.cs" company="Andrew Arnott"> -// Copyright (c) Andrew Arnott. All rights reserved. +// <copyright file="CoordinatingChannel.cs" company="Outercurve Foundation"> +// Copyright (c) Outercurve Foundation. All rights reserved. // </copyright> //----------------------------------------------------------------------- @@ -142,7 +142,7 @@ namespace DotNetOpenAuth.Test.Mocks { ErrorUtilities.VerifyInternal(this.incomingMessage == null, "Oops, a message is already waiting for the remote party!"); this.incomingMessage = this.MessageDescriptions.GetAccessor(message).Serialize(); var directedMessage = message as IDirectedProtocolMessage; - this.incomingMessageRecipient = directedMessage != null ? new MessageReceivingEndpoint(directedMessage.Recipient, directedMessage.HttpMethods) : null; + this.incomingMessageRecipient = (directedMessage != null && directedMessage.Recipient != null) ? new MessageReceivingEndpoint(directedMessage.Recipient, directedMessage.HttpMethods) : null; this.incomingMessageSignal.Set(); } diff --git a/src/DotNetOpenAuth.Test/Mocks/CoordinatingHttpRequestInfo.cs b/src/DotNetOpenAuth.Test/Mocks/CoordinatingHttpRequestInfo.cs index 46e3373..bfb9017 100644 --- a/src/DotNetOpenAuth.Test/Mocks/CoordinatingHttpRequestInfo.cs +++ b/src/DotNetOpenAuth.Test/Mocks/CoordinatingHttpRequestInfo.cs @@ -1,6 +1,6 @@ //----------------------------------------------------------------------- -// <copyright file="CoordinatingHttpRequestInfo.cs" company="Andrew Arnott"> -// Copyright (c) Andrew Arnott. All rights reserved. +// <copyright file="CoordinatingHttpRequestInfo.cs" company="Outercurve Foundation"> +// Copyright (c) Outercurve Foundation. All rights reserved. // </copyright> //----------------------------------------------------------------------- diff --git a/src/DotNetOpenAuth.Test/Mocks/CoordinatingOAuth2AuthServerChannel.cs b/src/DotNetOpenAuth.Test/Mocks/CoordinatingOAuth2AuthServerChannel.cs new file mode 100644 index 0000000..2b087fd --- /dev/null +++ b/src/DotNetOpenAuth.Test/Mocks/CoordinatingOAuth2AuthServerChannel.cs @@ -0,0 +1,28 @@ +//----------------------------------------------------------------------- +// <copyright file="CoordinatingOAuth2AuthServerChannel.cs" company="Outercurve Foundation"> +// Copyright (c) Outercurve Foundation. All rights reserved. +// </copyright> +//----------------------------------------------------------------------- + +namespace DotNetOpenAuth.Test.Mocks { + using System; + using System.Collections.Generic; + using System.Linq; + using System.Text; + using DotNetOpenAuth.Messaging; + using DotNetOpenAuth.OAuth2; + using DotNetOpenAuth.OAuth2.ChannelElements; + + internal class CoordinatingOAuth2AuthServerChannel : CoordinatingChannel, IOAuth2ChannelWithAuthorizationServer { + private OAuth2AuthorizationServerChannel wrappedChannel; + + internal CoordinatingOAuth2AuthServerChannel(Channel wrappedChannel, Action<IProtocolMessage> incomingMessageFilter, Action<IProtocolMessage> outgoingMessageFilter) + : base(wrappedChannel, incomingMessageFilter, outgoingMessageFilter) { + this.wrappedChannel = (OAuth2AuthorizationServerChannel)wrappedChannel; + } + + public IAuthorizationServer AuthorizationServer { + get { return this.wrappedChannel.AuthorizationServer; } + } + } +} diff --git a/src/DotNetOpenAuth.Test/Mocks/CoordinatingOAuthConsumerChannel.cs b/src/DotNetOpenAuth.Test/Mocks/CoordinatingOAuthConsumerChannel.cs index 3fcce19..6cc5819 100644 --- a/src/DotNetOpenAuth.Test/Mocks/CoordinatingOAuthConsumerChannel.cs +++ b/src/DotNetOpenAuth.Test/Mocks/CoordinatingOAuthConsumerChannel.cs @@ -1,6 +1,6 @@ //----------------------------------------------------------------------- -// <copyright file="CoordinatingOAuthConsumerChannel.cs" company="Andrew Arnott"> -// Copyright (c) Andrew Arnott. All rights reserved. +// <copyright file="CoordinatingOAuthConsumerChannel.cs" company="Outercurve Foundation"> +// Copyright (c) Outercurve Foundation. All rights reserved. // </copyright> //----------------------------------------------------------------------- diff --git a/src/DotNetOpenAuth.Test/Mocks/CoordinatingOAuthServiceProviderChannel.cs b/src/DotNetOpenAuth.Test/Mocks/CoordinatingOAuthServiceProviderChannel.cs index d07f794..ad5c695 100644 --- a/src/DotNetOpenAuth.Test/Mocks/CoordinatingOAuthServiceProviderChannel.cs +++ b/src/DotNetOpenAuth.Test/Mocks/CoordinatingOAuthServiceProviderChannel.cs @@ -1,6 +1,6 @@ //----------------------------------------------------------------------- -// <copyright file="CoordinatingOAuthServiceProviderChannel.cs" company="Andrew Arnott"> -// Copyright (c) Andrew Arnott. All rights reserved. +// <copyright file="CoordinatingOAuthServiceProviderChannel.cs" company="Outercurve Foundation"> +// Copyright (c) Outercurve Foundation. All rights reserved. // </copyright> //----------------------------------------------------------------------- diff --git a/src/DotNetOpenAuth.Test/Mocks/CoordinatingOutgoingWebResponse.cs b/src/DotNetOpenAuth.Test/Mocks/CoordinatingOutgoingWebResponse.cs index dc2c29f..8d2c1e7 100644 --- a/src/DotNetOpenAuth.Test/Mocks/CoordinatingOutgoingWebResponse.cs +++ b/src/DotNetOpenAuth.Test/Mocks/CoordinatingOutgoingWebResponse.cs @@ -1,6 +1,6 @@ //----------------------------------------------------------------------- -// <copyright file="CoordinatingOutgoingWebResponse.cs" company="Andrew Arnott"> -// Copyright (c) Andrew Arnott. All rights reserved. +// <copyright file="CoordinatingOutgoingWebResponse.cs" company="Outercurve Foundation"> +// Copyright (c) Outercurve Foundation. All rights reserved. // </copyright> //----------------------------------------------------------------------- diff --git a/src/DotNetOpenAuth.Test/Mocks/InMemoryTokenManager.cs b/src/DotNetOpenAuth.Test/Mocks/InMemoryTokenManager.cs index e11854e..494a1c1 100644 --- a/src/DotNetOpenAuth.Test/Mocks/InMemoryTokenManager.cs +++ b/src/DotNetOpenAuth.Test/Mocks/InMemoryTokenManager.cs @@ -1,6 +1,6 @@ //----------------------------------------------------------------------- -// <copyright file="InMemoryTokenManager.cs" company="Andrew Arnott"> -// Copyright (c) Andrew Arnott. All rights reserved. +// <copyright file="InMemoryTokenManager.cs" company="Outercurve Foundation"> +// Copyright (c) Outercurve Foundation. All rights reserved. // </copyright> //----------------------------------------------------------------------- diff --git a/src/DotNetOpenAuth.Test/Mocks/MockHttpRequest.cs b/src/DotNetOpenAuth.Test/Mocks/MockHttpRequest.cs index 7048107..88c0a55 100644 --- a/src/DotNetOpenAuth.Test/Mocks/MockHttpRequest.cs +++ b/src/DotNetOpenAuth.Test/Mocks/MockHttpRequest.cs @@ -1,6 +1,6 @@ //----------------------------------------------------------------------- -// <copyright file="MockHttpRequest.cs" company="Andrew Arnott"> -// Copyright (c) Andrew Arnott. All rights reserved. +// <copyright file="MockHttpRequest.cs" company="Outercurve Foundation"> +// Copyright (c) Outercurve Foundation. All rights reserved. // </copyright> //----------------------------------------------------------------------- diff --git a/src/DotNetOpenAuth.Test/Mocks/MockIdentifier.cs b/src/DotNetOpenAuth.Test/Mocks/MockIdentifier.cs index fe1cb81..e10ba2b 100644 --- a/src/DotNetOpenAuth.Test/Mocks/MockIdentifier.cs +++ b/src/DotNetOpenAuth.Test/Mocks/MockIdentifier.cs @@ -1,6 +1,6 @@ //----------------------------------------------------------------------- -// <copyright file="MockIdentifier.cs" company="Andrew Arnott"> -// Copyright (c) Andrew Arnott. All rights reserved. +// <copyright file="MockIdentifier.cs" company="Outercurve Foundation"> +// Copyright (c) Outercurve Foundation. All rights reserved. // </copyright> //----------------------------------------------------------------------- diff --git a/src/DotNetOpenAuth.Test/Mocks/MockIdentifierDiscoveryService.cs b/src/DotNetOpenAuth.Test/Mocks/MockIdentifierDiscoveryService.cs index d74258d..0118851 100644 --- a/src/DotNetOpenAuth.Test/Mocks/MockIdentifierDiscoveryService.cs +++ b/src/DotNetOpenAuth.Test/Mocks/MockIdentifierDiscoveryService.cs @@ -1,6 +1,6 @@ //----------------------------------------------------------------------- -// <copyright file="MockIdentifierDiscoveryService.cs" company="Andrew Arnott"> -// Copyright (c) Andrew Arnott. All rights reserved. +// <copyright file="MockIdentifierDiscoveryService.cs" company="Outercurve Foundation"> +// Copyright (c) Outercurve Foundation. All rights reserved. // </copyright> //----------------------------------------------------------------------- diff --git a/src/DotNetOpenAuth.Test/Mocks/MockOpenIdExtension.cs b/src/DotNetOpenAuth.Test/Mocks/MockOpenIdExtension.cs index f9d418f..07a4dd5 100644 --- a/src/DotNetOpenAuth.Test/Mocks/MockOpenIdExtension.cs +++ b/src/DotNetOpenAuth.Test/Mocks/MockOpenIdExtension.cs @@ -1,6 +1,6 @@ //----------------------------------------------------------------------- -// <copyright file="MockOpenIdExtension.cs" company="Andrew Arnott"> -// Copyright (c) Andrew Arnott. All rights reserved. +// <copyright file="MockOpenIdExtension.cs" company="Outercurve Foundation"> +// Copyright (c) Outercurve Foundation. All rights reserved. // </copyright> //----------------------------------------------------------------------- diff --git a/src/DotNetOpenAuth.Test/Mocks/MockRealm.cs b/src/DotNetOpenAuth.Test/Mocks/MockRealm.cs index 16ea337..1b66da6 100644 --- a/src/DotNetOpenAuth.Test/Mocks/MockRealm.cs +++ b/src/DotNetOpenAuth.Test/Mocks/MockRealm.cs @@ -1,6 +1,6 @@ //----------------------------------------------------------------------- -// <copyright file="MockRealm.cs" company="Andrew Arnott"> -// Copyright (c) Andrew Arnott. All rights reserved. +// <copyright file="MockRealm.cs" company="Outercurve Foundation"> +// Copyright (c) Outercurve Foundation. All rights reserved. // </copyright> //----------------------------------------------------------------------- diff --git a/src/DotNetOpenAuth.Test/Mocks/MockReplayProtectionBindingElement.cs b/src/DotNetOpenAuth.Test/Mocks/MockReplayProtectionBindingElement.cs index 96bd40d..1733f17 100644 --- a/src/DotNetOpenAuth.Test/Mocks/MockReplayProtectionBindingElement.cs +++ b/src/DotNetOpenAuth.Test/Mocks/MockReplayProtectionBindingElement.cs @@ -1,6 +1,6 @@ //----------------------------------------------------------------------- -// <copyright file="MockReplayProtectionBindingElement.cs" company="Andrew Arnott"> -// Copyright (c) Andrew Arnott. All rights reserved. +// <copyright file="MockReplayProtectionBindingElement.cs" company="Outercurve Foundation"> +// Copyright (c) Outercurve Foundation. All rights reserved. // </copyright> //----------------------------------------------------------------------- diff --git a/src/DotNetOpenAuth.Test/Mocks/MockSigningBindingElement.cs b/src/DotNetOpenAuth.Test/Mocks/MockSigningBindingElement.cs index 32ada16..aa68b0b 100644 --- a/src/DotNetOpenAuth.Test/Mocks/MockSigningBindingElement.cs +++ b/src/DotNetOpenAuth.Test/Mocks/MockSigningBindingElement.cs @@ -1,6 +1,6 @@ //----------------------------------------------------------------------- -// <copyright file="MockSigningBindingElement.cs" company="Andrew Arnott"> -// Copyright (c) Andrew Arnott. All rights reserved. +// <copyright file="MockSigningBindingElement.cs" company="Outercurve Foundation"> +// Copyright (c) Outercurve Foundation. All rights reserved. // </copyright> //----------------------------------------------------------------------- diff --git a/src/DotNetOpenAuth.Test/Mocks/MockTransformationBindingElement.cs b/src/DotNetOpenAuth.Test/Mocks/MockTransformationBindingElement.cs index 1db9c68..2b3249f 100644 --- a/src/DotNetOpenAuth.Test/Mocks/MockTransformationBindingElement.cs +++ b/src/DotNetOpenAuth.Test/Mocks/MockTransformationBindingElement.cs @@ -1,6 +1,6 @@ //----------------------------------------------------------------------- -// <copyright file="MockTransformationBindingElement.cs" company="Andrew Arnott"> -// Copyright (c) Andrew Arnott. All rights reserved. +// <copyright file="MockTransformationBindingElement.cs" company="Outercurve Foundation"> +// Copyright (c) Outercurve Foundation. All rights reserved. // </copyright> //----------------------------------------------------------------------- diff --git a/src/DotNetOpenAuth.Test/Mocks/TestBadChannel.cs b/src/DotNetOpenAuth.Test/Mocks/TestBadChannel.cs index 515e69e..5344304 100644 --- a/src/DotNetOpenAuth.Test/Mocks/TestBadChannel.cs +++ b/src/DotNetOpenAuth.Test/Mocks/TestBadChannel.cs @@ -1,6 +1,6 @@ //----------------------------------------------------------------------- -// <copyright file="TestBadChannel.cs" company="Andrew Arnott"> -// Copyright (c) Andrew Arnott. All rights reserved. +// <copyright file="TestBadChannel.cs" company="Outercurve Foundation"> +// Copyright (c) Outercurve Foundation. All rights reserved. // </copyright> //----------------------------------------------------------------------- diff --git a/src/DotNetOpenAuth.Test/Mocks/TestBaseMessage.cs b/src/DotNetOpenAuth.Test/Mocks/TestBaseMessage.cs index 96eeb8d..d05af4a 100644 --- a/src/DotNetOpenAuth.Test/Mocks/TestBaseMessage.cs +++ b/src/DotNetOpenAuth.Test/Mocks/TestBaseMessage.cs @@ -1,6 +1,6 @@ //----------------------------------------------------------------------- -// <copyright file="TestBaseMessage.cs" company="Andrew Arnott"> -// Copyright (c) Andrew Arnott. All rights reserved. +// <copyright file="TestBaseMessage.cs" company="Outercurve Foundation"> +// Copyright (c) Outercurve Foundation. All rights reserved. // </copyright> //----------------------------------------------------------------------- diff --git a/src/DotNetOpenAuth.Test/Mocks/TestChannel.cs b/src/DotNetOpenAuth.Test/Mocks/TestChannel.cs index 92fd9c6..1472231 100644 --- a/src/DotNetOpenAuth.Test/Mocks/TestChannel.cs +++ b/src/DotNetOpenAuth.Test/Mocks/TestChannel.cs @@ -1,6 +1,6 @@ //----------------------------------------------------------------------- -// <copyright file="TestChannel.cs" company="Andrew Arnott"> -// Copyright (c) Andrew Arnott. All rights reserved. +// <copyright file="TestChannel.cs" company="Outercurve Foundation"> +// Copyright (c) Outercurve Foundation. All rights reserved. // </copyright> //----------------------------------------------------------------------- diff --git a/src/DotNetOpenAuth.Test/Mocks/TestDerivedMessage.cs b/src/DotNetOpenAuth.Test/Mocks/TestDerivedMessage.cs index de34329..46f6acb 100644 --- a/src/DotNetOpenAuth.Test/Mocks/TestDerivedMessage.cs +++ b/src/DotNetOpenAuth.Test/Mocks/TestDerivedMessage.cs @@ -1,6 +1,6 @@ //----------------------------------------------------------------------- -// <copyright file="TestDerivedMessage.cs" company="Andrew Arnott"> -// Copyright (c) Andrew Arnott. All rights reserved. +// <copyright file="TestDerivedMessage.cs" company="Outercurve Foundation"> +// Copyright (c) Outercurve Foundation. All rights reserved. // </copyright> //----------------------------------------------------------------------- diff --git a/src/DotNetOpenAuth.Test/Mocks/TestDirectResponseMessageWithHttpStatus.cs b/src/DotNetOpenAuth.Test/Mocks/TestDirectResponseMessageWithHttpStatus.cs index 20fd6c4..28345d6 100644 --- a/src/DotNetOpenAuth.Test/Mocks/TestDirectResponseMessageWithHttpStatus.cs +++ b/src/DotNetOpenAuth.Test/Mocks/TestDirectResponseMessageWithHttpStatus.cs @@ -1,6 +1,6 @@ //----------------------------------------------------------------------- -// <copyright file="TestDirectResponseMessageWithHttpStatus.cs" company="Andrew Arnott"> -// Copyright (c) Andrew Arnott. All rights reserved. +// <copyright file="TestDirectResponseMessageWithHttpStatus.cs" company="Outercurve Foundation"> +// Copyright (c) Outercurve Foundation. All rights reserved. // </copyright> //----------------------------------------------------------------------- diff --git a/src/DotNetOpenAuth.Test/Mocks/TestDirectedMessage.cs b/src/DotNetOpenAuth.Test/Mocks/TestDirectedMessage.cs index 1b3c2b2..01be51c 100644 --- a/src/DotNetOpenAuth.Test/Mocks/TestDirectedMessage.cs +++ b/src/DotNetOpenAuth.Test/Mocks/TestDirectedMessage.cs @@ -1,6 +1,6 @@ //----------------------------------------------------------------------- -// <copyright file="TestDirectedMessage.cs" company="Andrew Arnott"> -// Copyright (c) Andrew Arnott. All rights reserved. +// <copyright file="TestDirectedMessage.cs" company="Outercurve Foundation"> +// Copyright (c) Outercurve Foundation. All rights reserved. // </copyright> //----------------------------------------------------------------------- diff --git a/src/DotNetOpenAuth.Test/Mocks/TestExpiringMessage.cs b/src/DotNetOpenAuth.Test/Mocks/TestExpiringMessage.cs index 0aae6ae..13c87f7 100644 --- a/src/DotNetOpenAuth.Test/Mocks/TestExpiringMessage.cs +++ b/src/DotNetOpenAuth.Test/Mocks/TestExpiringMessage.cs @@ -1,6 +1,6 @@ //----------------------------------------------------------------------- -// <copyright file="TestExpiringMessage.cs" company="Andrew Arnott"> -// Copyright (c) Andrew Arnott. All rights reserved. +// <copyright file="TestExpiringMessage.cs" company="Outercurve Foundation"> +// Copyright (c) Outercurve Foundation. All rights reserved. // </copyright> //----------------------------------------------------------------------- diff --git a/src/DotNetOpenAuth.Test/Mocks/TestMessage.cs b/src/DotNetOpenAuth.Test/Mocks/TestMessage.cs index 7da6ff3..23b67be 100644 --- a/src/DotNetOpenAuth.Test/Mocks/TestMessage.cs +++ b/src/DotNetOpenAuth.Test/Mocks/TestMessage.cs @@ -1,6 +1,6 @@ //----------------------------------------------------------------------- -// <copyright file="TestMessage.cs" company="Andrew Arnott"> -// Copyright (c) Andrew Arnott. All rights reserved. +// <copyright file="TestMessage.cs" company="Outercurve Foundation"> +// Copyright (c) Outercurve Foundation. All rights reserved. // </copyright> //----------------------------------------------------------------------- diff --git a/src/DotNetOpenAuth.Test/Mocks/TestMessageFactory.cs b/src/DotNetOpenAuth.Test/Mocks/TestMessageFactory.cs index 7b13175..0ec4f46 100644 --- a/src/DotNetOpenAuth.Test/Mocks/TestMessageFactory.cs +++ b/src/DotNetOpenAuth.Test/Mocks/TestMessageFactory.cs @@ -1,6 +1,6 @@ //----------------------------------------------------------------------- -// <copyright file="TestMessageFactory.cs" company="Andrew Arnott"> -// Copyright (c) Andrew Arnott. All rights reserved. +// <copyright file="TestMessageFactory.cs" company="Outercurve Foundation"> +// Copyright (c) Outercurve Foundation. All rights reserved. // </copyright> //----------------------------------------------------------------------- diff --git a/src/DotNetOpenAuth.Test/Mocks/TestReplayProtectedMessage.cs b/src/DotNetOpenAuth.Test/Mocks/TestReplayProtectedMessage.cs index 4650de2..ce0b345 100644 --- a/src/DotNetOpenAuth.Test/Mocks/TestReplayProtectedMessage.cs +++ b/src/DotNetOpenAuth.Test/Mocks/TestReplayProtectedMessage.cs @@ -1,6 +1,6 @@ //----------------------------------------------------------------------- -// <copyright file="TestReplayProtectedMessage.cs" company="Andrew Arnott"> -// Copyright (c) Andrew Arnott. All rights reserved. +// <copyright file="TestReplayProtectedMessage.cs" company="Outercurve Foundation"> +// Copyright (c) Outercurve Foundation. All rights reserved. // </copyright> //----------------------------------------------------------------------- diff --git a/src/DotNetOpenAuth.Test/Mocks/TestSignedDirectedMessage.cs b/src/DotNetOpenAuth.Test/Mocks/TestSignedDirectedMessage.cs index d665db8..ea0e36c 100644 --- a/src/DotNetOpenAuth.Test/Mocks/TestSignedDirectedMessage.cs +++ b/src/DotNetOpenAuth.Test/Mocks/TestSignedDirectedMessage.cs @@ -1,6 +1,6 @@ //----------------------------------------------------------------------- -// <copyright file="TestSignedDirectedMessage.cs" company="Andrew Arnott"> -// Copyright (c) Andrew Arnott. All rights reserved. +// <copyright file="TestSignedDirectedMessage.cs" company="Outercurve Foundation"> +// Copyright (c) Outercurve Foundation. All rights reserved. // </copyright> //----------------------------------------------------------------------- diff --git a/src/DotNetOpenAuth.Test/Mocks/TestWebRequestHandler.cs b/src/DotNetOpenAuth.Test/Mocks/TestWebRequestHandler.cs index 03dbd6b..b38a3d8 100644 --- a/src/DotNetOpenAuth.Test/Mocks/TestWebRequestHandler.cs +++ b/src/DotNetOpenAuth.Test/Mocks/TestWebRequestHandler.cs @@ -1,6 +1,6 @@ //----------------------------------------------------------------------- -// <copyright file="TestWebRequestHandler.cs" company="Andrew Arnott"> -// Copyright (c) Andrew Arnott. All rights reserved. +// <copyright file="TestWebRequestHandler.cs" company="Outercurve Foundation"> +// Copyright (c) Outercurve Foundation. All rights reserved. // </copyright> //----------------------------------------------------------------------- diff --git a/src/DotNetOpenAuth.Test/OAuth/AppendixScenarios.cs b/src/DotNetOpenAuth.Test/OAuth/AppendixScenarios.cs index 6322fe2..a295732 100644 --- a/src/DotNetOpenAuth.Test/OAuth/AppendixScenarios.cs +++ b/src/DotNetOpenAuth.Test/OAuth/AppendixScenarios.cs @@ -1,6 +1,6 @@ //----------------------------------------------------------------------- -// <copyright file="AppendixScenarios.cs" company="Andrew Arnott"> -// Copyright (c) Andrew Arnott. All rights reserved. +// <copyright file="AppendixScenarios.cs" company="Outercurve Foundation"> +// Copyright (c) Outercurve Foundation. All rights reserved. // </copyright> //----------------------------------------------------------------------- @@ -16,7 +16,7 @@ namespace DotNetOpenAuth.Test.OAuth { [TestFixture] public class AppendixScenarios : TestBase { - [TestCase] + [Test] public void SpecAppendixAExample() { ServiceProviderDescription serviceDescription = new ServiceProviderDescription() { RequestTokenEndpoint = new MessageReceivingEndpoint("https://photos.example.net/request_token", HttpDeliveryMethods.PostRequest), diff --git a/src/DotNetOpenAuth.Test/OAuth/ChannelElements/HmacSha1SigningBindingElementTests.cs b/src/DotNetOpenAuth.Test/OAuth/ChannelElements/HmacSha1SigningBindingElementTests.cs index e1ff959..487ce56 100644 --- a/src/DotNetOpenAuth.Test/OAuth/ChannelElements/HmacSha1SigningBindingElementTests.cs +++ b/src/DotNetOpenAuth.Test/OAuth/ChannelElements/HmacSha1SigningBindingElementTests.cs @@ -1,6 +1,6 @@ //----------------------------------------------------------------------- -// <copyright file="HmacSha1SigningBindingElementTests.cs" company="Andrew Arnott"> -// Copyright (c) Andrew Arnott. All rights reserved. +// <copyright file="HmacSha1SigningBindingElementTests.cs" company="Outercurve Foundation"> +// Copyright (c) Outercurve Foundation. All rights reserved. // </copyright> //----------------------------------------------------------------------- @@ -12,7 +12,7 @@ namespace DotNetOpenAuth.Test.OAuth.ChannelElements { [TestFixture] public class HmacSha1SigningBindingElementTests : MessagingTestBase { - [TestCase] + [Test] public void SignatureTest() { UnauthorizedTokenRequest message = SigningBindingElementBaseTests.CreateTestRequestTokenMessage(this.MessageDescriptions, null); diff --git a/src/DotNetOpenAuth.Test/OAuth/ChannelElements/OAuthChannelTests.cs b/src/DotNetOpenAuth.Test/OAuth/ChannelElements/OAuthChannelTests.cs index 64eef0e..dda5452 100644 --- a/src/DotNetOpenAuth.Test/OAuth/ChannelElements/OAuthChannelTests.cs +++ b/src/DotNetOpenAuth.Test/OAuth/ChannelElements/OAuthChannelTests.cs @@ -1,6 +1,6 @@ //----------------------------------------------------------------------- -// <copyright file="OAuthChannelTests.cs" company="Andrew Arnott"> -// Copyright (c) Andrew Arnott. All rights reserved. +// <copyright file="OAuthChannelTests.cs" company="Outercurve Foundation"> +// Copyright (c) Outercurve Foundation. All rights reserved. // </copyright> //----------------------------------------------------------------------- @@ -56,17 +56,17 @@ namespace DotNetOpenAuth.Test.OAuth.ChannelElements { new OAuthConsumerChannel(new RsaSha1ServiceProviderSigningBindingElement(new InMemoryTokenManager()), this.nonceStore, null, this.consumerSecuritySettings, new TestMessageFactory()); } - [TestCase] + [Test] public void CtorSimpleConsumer() { new OAuthConsumerChannel(new RsaSha1ServiceProviderSigningBindingElement(new InMemoryTokenManager()), this.nonceStore, (IConsumerTokenManager)new InMemoryTokenManager(), this.consumerSecuritySettings); } - [TestCase] + [Test] public void CtorSimpleServiceProvider() { new OAuthServiceProviderChannel(new RsaSha1ServiceProviderSigningBindingElement(new InMemoryTokenManager()), this.nonceStore, (IServiceProviderTokenManager)new InMemoryTokenManager(), this.serviceProviderSecuritySettings); } - [TestCase] + [Test] public void ReadFromRequestAuthorization() { this.ParameterizedReceiveTest(HttpDeliveryMethods.AuthorizationHeaderRequest); } @@ -75,7 +75,7 @@ namespace DotNetOpenAuth.Test.OAuth.ChannelElements { /// Verifies that the OAuth ReadFromRequest method gathers parameters /// from the Authorization header, the query string and the entity form data. /// </summary> - [TestCase] + [Test] public void ReadFromRequestAuthorizationScattered() { // Start by creating a standard POST HTTP request. var fields = new Dictionary<string, string> { @@ -106,17 +106,17 @@ namespace DotNetOpenAuth.Test.OAuth.ChannelElements { Assert.AreEqual("http://hostb/pathB", testMessage.Location.AbsoluteUri); } - [TestCase] + [Test] public void ReadFromRequestForm() { this.ParameterizedReceiveTest(HttpDeliveryMethods.PostRequest); } - [TestCase] + [Test] public void ReadFromRequestQueryString() { this.ParameterizedReceiveTest(HttpDeliveryMethods.GetRequest); } - [TestCase] + [Test] public void SendDirectMessageResponse() { IProtocolMessage message = new TestDirectedMessage { Age = 15, @@ -135,7 +135,7 @@ namespace DotNetOpenAuth.Test.OAuth.ChannelElements { Assert.AreEqual("http://hostb/pathB", body["Location"]); } - [TestCase] + [Test] public void ReadFromResponse() { var fields = new Dictionary<string, string> { { "age", "15" }, @@ -175,7 +175,7 @@ namespace DotNetOpenAuth.Test.OAuth.ChannelElements { this.channel.Request(message); } - [TestCase] + [Test] public void RequestUsingAuthorizationHeader() { this.ParameterizedRequestTest(HttpDeliveryMethods.AuthorizationHeaderRequest); } @@ -183,7 +183,7 @@ namespace DotNetOpenAuth.Test.OAuth.ChannelElements { /// <summary> /// Verifies that message parts can be distributed to the query, form, and Authorization header. /// </summary> - [TestCase] + [Test] public void RequestUsingAuthorizationHeaderScattered() { TestDirectedMessage request = new TestDirectedMessage(MessageTransport.Direct) { Age = 15, @@ -216,17 +216,17 @@ namespace DotNetOpenAuth.Test.OAuth.ChannelElements { Assert.AreEqual("appearinform=formish", this.webRequestHandler.RequestEntityAsString); } - [TestCase] + [Test] public void RequestUsingGet() { this.ParameterizedRequestTest(HttpDeliveryMethods.GetRequest); } - [TestCase] + [Test] public void RequestUsingPost() { this.ParameterizedRequestTest(HttpDeliveryMethods.PostRequest); } - [TestCase] + [Test] public void RequestUsingHead() { this.ParameterizedRequestTest(HttpDeliveryMethods.HeadRequest); } @@ -234,7 +234,7 @@ namespace DotNetOpenAuth.Test.OAuth.ChannelElements { /// <summary> /// Verifies that messages asking for special HTTP status codes get them. /// </summary> - [TestCase] + [Test] public void SendDirectMessageResponseHonorsHttpStatusCodes() { IProtocolMessage message = MessagingTestBase.GetStandardTestMessage(MessagingTestBase.FieldFill.AllRequired); OutgoingWebResponse directResponse = this.channel.PrepareDirectResponseTestHook(message); diff --git a/src/DotNetOpenAuth.Test/OAuth/ChannelElements/PlaintextSigningBindingElementTest.cs b/src/DotNetOpenAuth.Test/OAuth/ChannelElements/PlaintextSigningBindingElementTest.cs index c497495..b3869e7 100644 --- a/src/DotNetOpenAuth.Test/OAuth/ChannelElements/PlaintextSigningBindingElementTest.cs +++ b/src/DotNetOpenAuth.Test/OAuth/ChannelElements/PlaintextSigningBindingElementTest.cs @@ -1,6 +1,6 @@ //----------------------------------------------------------------------- -// <copyright file="PlaintextSigningBindingElementTest.cs" company="Andrew Arnott"> -// Copyright (c) Andrew Arnott. All rights reserved. +// <copyright file="PlaintextSigningBindingElementTest.cs" company="Outercurve Foundation"> +// Copyright (c) Outercurve Foundation. All rights reserved. // </copyright> //----------------------------------------------------------------------- @@ -14,7 +14,7 @@ namespace DotNetOpenAuth.Test.OAuth.ChannelElements { [TestFixture] public class PlaintextSigningBindingElementTest { - [TestCase] + [Test] public void HttpsSignatureGeneration() { SigningBindingElementBase target = new PlaintextSigningBindingElement(); target.Channel = new TestChannel(); @@ -27,7 +27,7 @@ namespace DotNetOpenAuth.Test.OAuth.ChannelElements { Assert.AreEqual("cs&ts", message.Signature); } - [TestCase] + [Test] public void HttpsSignatureVerification() { MessageReceivingEndpoint endpoint = new MessageReceivingEndpoint("https://localtest", HttpDeliveryMethods.GetRequest); ITamperProtectionChannelBindingElement target = new PlaintextSigningBindingElement(); @@ -40,7 +40,7 @@ namespace DotNetOpenAuth.Test.OAuth.ChannelElements { Assert.IsNotNull(target.ProcessIncomingMessage(message)); } - [TestCase] + [Test] public void HttpsSignatureVerificationNotApplicable() { SigningBindingElementBase target = new PlaintextSigningBindingElement(); target.Channel = new TestChannel(); @@ -53,7 +53,7 @@ namespace DotNetOpenAuth.Test.OAuth.ChannelElements { Assert.AreEqual(MessageProtections.None, target.ProcessIncomingMessage(message), "PLAINTEXT binding element should opt-out where it doesn't understand."); } - [TestCase] + [Test] public void HttpSignatureGeneration() { SigningBindingElementBase target = new PlaintextSigningBindingElement(); target.Channel = new TestChannel(); @@ -68,7 +68,7 @@ namespace DotNetOpenAuth.Test.OAuth.ChannelElements { Assert.IsNull(message.Signature); } - [TestCase] + [Test] public void HttpSignatureVerification() { SigningBindingElementBase target = new PlaintextSigningBindingElement(); target.Channel = new TestChannel(); diff --git a/src/DotNetOpenAuth.Test/OAuth/ChannelElements/SigningBindingElementBaseTests.cs b/src/DotNetOpenAuth.Test/OAuth/ChannelElements/SigningBindingElementBaseTests.cs index 83d5feb..dffe6c1 100644 --- a/src/DotNetOpenAuth.Test/OAuth/ChannelElements/SigningBindingElementBaseTests.cs +++ b/src/DotNetOpenAuth.Test/OAuth/ChannelElements/SigningBindingElementBaseTests.cs @@ -1,6 +1,6 @@ //----------------------------------------------------------------------- -// <copyright file="SigningBindingElementBaseTests.cs" company="Andrew Arnott"> -// Copyright (c) Andrew Arnott. All rights reserved. +// <copyright file="SigningBindingElementBaseTests.cs" company="Outercurve Foundation"> +// Copyright (c) Outercurve Foundation. All rights reserved. // </copyright> //----------------------------------------------------------------------- @@ -16,7 +16,7 @@ namespace DotNetOpenAuth.Test.OAuth.ChannelElements { [TestFixture] public class SigningBindingElementBaseTests : MessagingTestBase { - [TestCase] + [Test] public void BaseSignatureStringTest() { // Tests a message sent by HTTP GET, with no query string included in the endpoint. UnauthorizedTokenRequest message = CreateTestRequestTokenMessage( @@ -73,7 +73,7 @@ namespace DotNetOpenAuth.Test.OAuth.ChannelElements { SigningBindingElementBase.ConstructSignatureBaseString(message, this.MessageDescriptions.GetAccessor(message))); } - [TestCase] + [Test] public void BaseSignatureStringResourceRequests() { var message = this.CreateResourceRequest(new MessageReceivingEndpoint("http://tom.test.wishpot.com/restapi/List/Search?List.LastName=ciccotosto", HttpDeliveryMethods.GetRequest)); message.ConsumerKey = "public"; diff --git a/src/DotNetOpenAuth.Test/OAuth/ChannelElements/UriOrOobEncodingTests.cs b/src/DotNetOpenAuth.Test/OAuth/ChannelElements/UriOrOobEncodingTests.cs index 715669a..185e75b 100644 --- a/src/DotNetOpenAuth.Test/OAuth/ChannelElements/UriOrOobEncodingTests.cs +++ b/src/DotNetOpenAuth.Test/OAuth/ChannelElements/UriOrOobEncodingTests.cs @@ -1,6 +1,6 @@ //----------------------------------------------------------------------- -// <copyright file="UriOrOobEncodingTests.cs" company="Andrew Arnott"> -// Copyright (c) Andrew Arnott. All rights reserved. +// <copyright file="UriOrOobEncodingTests.cs" company="Outercurve Foundation"> +// Copyright (c) Outercurve Foundation. All rights reserved. // </copyright> //----------------------------------------------------------------------- @@ -24,7 +24,7 @@ namespace DotNetOpenAuth.Test.OAuth.ChannelElements { /// <summary> /// Verifies null value encoding /// </summary> - [TestCase] + [Test] public void NullValueEncoding() { Assert.AreEqual("oob", this.encoding.EncodedNullValue); } @@ -32,7 +32,7 @@ namespace DotNetOpenAuth.Test.OAuth.ChannelElements { /// <summary> /// Verifies decoding "oob" results in a null uri. /// </summary> - [TestCase] + [Test] public void DecodeOobToNullUri() { Assert.IsNull(this.encoding.Decode("oob")); } @@ -48,7 +48,7 @@ namespace DotNetOpenAuth.Test.OAuth.ChannelElements { /// <summary> /// Verifies proper decoding/encoding of a Uri /// </summary> - [TestCase] + [Test] public void UriEncodeDecode() { Uri original = new Uri("http://somehost/p?q=a#frag"); string encodedValue = this.encoding.Encode(original); diff --git a/src/DotNetOpenAuth.Test/OAuth/ConsumerDescription.cs b/src/DotNetOpenAuth.Test/OAuth/ConsumerDescription.cs index 89105ef..a439e70 100644 --- a/src/DotNetOpenAuth.Test/OAuth/ConsumerDescription.cs +++ b/src/DotNetOpenAuth.Test/OAuth/ConsumerDescription.cs @@ -1,6 +1,6 @@ //----------------------------------------------------------------------- -// <copyright file="ConsumerDescription.cs" company="Andrew Arnott"> -// Copyright (c) Andrew Arnott. All rights reserved. +// <copyright file="ConsumerDescription.cs" company="Outercurve Foundation"> +// Copyright (c) Outercurve Foundation. All rights reserved. // </copyright> //----------------------------------------------------------------------- diff --git a/src/DotNetOpenAuth.Test/OAuth/OAuthCoordinator.cs b/src/DotNetOpenAuth.Test/OAuth/OAuthCoordinator.cs index 067b364..24e512c 100644 --- a/src/DotNetOpenAuth.Test/OAuth/OAuthCoordinator.cs +++ b/src/DotNetOpenAuth.Test/OAuth/OAuthCoordinator.cs @@ -1,6 +1,6 @@ //----------------------------------------------------------------------- -// <copyright file="OAuthCoordinator.cs" company="Andrew Arnott"> -// Copyright (c) Andrew Arnott. All rights reserved. +// <copyright file="OAuthCoordinator.cs" company="Outercurve Foundation"> +// Copyright (c) Outercurve Foundation. All rights reserved. // </copyright> //----------------------------------------------------------------------- diff --git a/src/DotNetOpenAuth.Test/OAuth/ProtocolTests.cs b/src/DotNetOpenAuth.Test/OAuth/ProtocolTests.cs index 6fac69e..cd4d8dd 100644 --- a/src/DotNetOpenAuth.Test/OAuth/ProtocolTests.cs +++ b/src/DotNetOpenAuth.Test/OAuth/ProtocolTests.cs @@ -1,6 +1,6 @@ //----------------------------------------------------------------------- -// <copyright file="ProtocolTests.cs" company="Andrew Arnott"> -// Copyright (c) Andrew Arnott. All rights reserved. +// <copyright file="ProtocolTests.cs" company="Outercurve Foundation"> +// Copyright (c) Outercurve Foundation. All rights reserved. // </copyright> //----------------------------------------------------------------------- @@ -10,23 +10,23 @@ namespace DotNetOpenAuth.Test.OAuth { [TestFixture] public class ProtocolTests { - [TestCase] + [Test] public void Default() { Assert.AreSame(Protocol.V10a, Protocol.Default); } - [TestCase] + [Test] public void DataContractNamespace() { Assert.AreEqual("http://oauth.net/core/1.0/", Protocol.V10.DataContractNamespace); Assert.AreEqual("http://oauth.net/core/1.0/", Protocol.DataContractNamespaceV10); } - [TestCase] + [Test] public void AuthorizationHeaderScheme() { Assert.AreEqual("OAuth", Protocol.AuthorizationHeaderScheme); } - [TestCase] + [Test] public void ParameterPrefix() { Assert.AreEqual("oauth_", Protocol.ParameterPrefix); } diff --git a/src/DotNetOpenAuth.Test/OAuth/ServiceProviderDescriptionTests.cs b/src/DotNetOpenAuth.Test/OAuth/ServiceProviderDescriptionTests.cs index 1aa401d..42bb149 100644 --- a/src/DotNetOpenAuth.Test/OAuth/ServiceProviderDescriptionTests.cs +++ b/src/DotNetOpenAuth.Test/OAuth/ServiceProviderDescriptionTests.cs @@ -1,6 +1,6 @@ //----------------------------------------------------------------------- -// <copyright file="ServiceProviderDescriptionTests.cs" company="Andrew Arnott"> -// Copyright (c) Andrew Arnott. All rights reserved. +// <copyright file="ServiceProviderDescriptionTests.cs" company="Outercurve Foundation"> +// Copyright (c) Outercurve Foundation. All rights reserved. // </copyright> //----------------------------------------------------------------------- @@ -18,7 +18,7 @@ namespace DotNetOpenAuth.Test.OAuth { /// <summary> /// A test for UserAuthorizationUri /// </summary> - [TestCase] + [Test] public void UserAuthorizationUriTest() { ServiceProviderDescription target = new ServiceProviderDescription(); MessageReceivingEndpoint expected = new MessageReceivingEndpoint("http://localhost/authorization", HttpDeliveryMethods.GetRequest); @@ -34,7 +34,7 @@ namespace DotNetOpenAuth.Test.OAuth { /// <summary> /// A test for RequestTokenUri /// </summary> - [TestCase] + [Test] public void RequestTokenUriTest() { var target = new ServiceProviderDescription(); MessageReceivingEndpoint expected = new MessageReceivingEndpoint("http://localhost/requesttoken", HttpDeliveryMethods.GetRequest); @@ -60,7 +60,7 @@ namespace DotNetOpenAuth.Test.OAuth { /// <summary> /// A test for AccessTokenUri /// </summary> - [TestCase] + [Test] public void AccessTokenUriTest() { var target = new ServiceProviderDescription(); MessageReceivingEndpoint expected = new MessageReceivingEndpoint("http://localhost/accesstoken", HttpDeliveryMethods.GetRequest); diff --git a/src/DotNetOpenAuth.Test/OAuth/ServiceProviderTests.cs b/src/DotNetOpenAuth.Test/OAuth/ServiceProviderTests.cs index ceb9a60..82e02e7 100644 --- a/src/DotNetOpenAuth.Test/OAuth/ServiceProviderTests.cs +++ b/src/DotNetOpenAuth.Test/OAuth/ServiceProviderTests.cs @@ -1,6 +1,6 @@ //----------------------------------------------------------------------- -// <copyright file="ServiceProviderTests.cs" company="Andrew Arnott"> -// Copyright (c) Andrew Arnott. All rights reserved. +// <copyright file="ServiceProviderTests.cs" company="Outercurve Foundation"> +// Copyright (c) Outercurve Foundation. All rights reserved. // </copyright> //----------------------------------------------------------------------- @@ -18,7 +18,7 @@ namespace DotNetOpenAuth.Test.OAuth { /// <summary> /// Verifies the CreateVerificationCode method. /// </summary> - [TestCase] + [Test] public void CreateVerificationCode() { this.TestCode(VerificationCodeFormat.Numeric, 3, MessagingUtilities.Digits); this.TestCode(VerificationCodeFormat.AlphaLower, 5, MessagingUtilities.LowercaseLetters); diff --git a/src/DotNetOpenAuth.Test/OAuth2/MessageFactoryTests.cs b/src/DotNetOpenAuth.Test/OAuth2/MessageFactoryTests.cs index e6237ca..bec85e2 100644 --- a/src/DotNetOpenAuth.Test/OAuth2/MessageFactoryTests.cs +++ b/src/DotNetOpenAuth.Test/OAuth2/MessageFactoryTests.cs @@ -1,6 +1,6 @@ //----------------------------------------------------------------------- -// <copyright file="MessageFactoryTests.cs" company="Andrew Arnott"> -// Copyright (c) Andrew Arnott. All rights reserved. +// <copyright file="MessageFactoryTests.cs" company="Outercurve Foundation"> +// Copyright (c) Outercurve Foundation. All rights reserved. // </copyright> //----------------------------------------------------------------------- @@ -33,7 +33,7 @@ namespace DotNetOpenAuth.Test.OAuth2 { #region End user authorization messages - [TestCase] + [Test] public void EndUserAuthorizationRequest() { var fields = new Dictionary<string, string> { { Protocol.response_type, "code" }, @@ -41,41 +41,53 @@ namespace DotNetOpenAuth.Test.OAuth2 { { Protocol.redirect_uri, "abc" }, }; IDirectedProtocolMessage request = this.messageFactory.GetNewRequestMessage(this.recipient, fields); - Assert.IsInstanceOf(typeof(EndUserAuthorizationRequest), request); + Assert.That(request, Is.InstanceOf(typeof(EndUserAuthorizationRequest))); } - [TestCase] + [Test] + public void EndUserAuthorizationImplicitRequest() { + var fields = new Dictionary<string, string> { + { Protocol.response_type, "token" }, + { Protocol.client_id, "abc" }, + { Protocol.redirect_uri, "abc" }, + }; + IDirectedProtocolMessage request = this.messageFactory.GetNewRequestMessage(this.recipient, fields); + Assert.That(request, Is.InstanceOf(typeof(EndUserAuthorizationImplicitRequest))); + } + + [Test] public void EndUserAuthorizationSuccessResponseWithCode() { var fields = new Dictionary<string, string> { { Protocol.code, "abc" }, }; IDirectedProtocolMessage request = this.messageFactory.GetNewRequestMessage(this.recipient, fields); - Assert.IsInstanceOf(typeof(EndUserAuthorizationSuccessResponseBase), request); + Assert.That(request, Is.InstanceOf(typeof(EndUserAuthorizationSuccessResponseBase))); } - [TestCase, Ignore("Not yet supported")] + [Test] public void EndUserAuthorizationSuccessResponseWithAccessToken() { var fields = new Dictionary<string, string> { { Protocol.access_token, "abc" }, + { Protocol.token_type, "bearer" }, }; IDirectedProtocolMessage request = this.messageFactory.GetNewRequestMessage(this.recipient, fields); - Assert.IsInstanceOf(typeof(EndUserAuthorizationSuccessResponseBase), request); + Assert.That(request, Is.InstanceOf(typeof(EndUserAuthorizationSuccessResponseBase))); } - [TestCase] + [Test] public void EndUserAuthorizationFailedResponse() { var fields = new Dictionary<string, string> { { Protocol.error, "access-denied" }, }; IDirectedProtocolMessage request = this.messageFactory.GetNewRequestMessage(this.recipient, fields); - Assert.IsInstanceOf(typeof(EndUserAuthorizationFailedResponse), request); + Assert.That(request, Is.InstanceOf(typeof(EndUserAuthorizationFailedResponse))); } #endregion #region Access token request messages - [TestCase] + [Test] public void AccessTokenRefreshRequest() { var fields = new Dictionary<string, string> { { Protocol.client_id, "abc" }, @@ -83,10 +95,10 @@ namespace DotNetOpenAuth.Test.OAuth2 { { Protocol.grant_type, "refresh-token" }, }; IDirectedProtocolMessage request = this.messageFactory.GetNewRequestMessage(this.recipient, fields); - Assert.IsInstanceOf(typeof(AccessTokenRefreshRequest), request); + Assert.That(request, Is.InstanceOf(typeof(AccessTokenRefreshRequest))); } - [TestCase] + [Test] public void AccessTokenAuthorizationCodeRequest() { var fields = new Dictionary<string, string> { { Protocol.client_id, "abc" }, @@ -95,10 +107,10 @@ namespace DotNetOpenAuth.Test.OAuth2 { { Protocol.redirect_uri, "http://someUri" }, }; IDirectedProtocolMessage request = this.messageFactory.GetNewRequestMessage(this.recipient, fields); - Assert.IsInstanceOf(typeof(AccessTokenAuthorizationCodeRequest), request); + Assert.That(request, Is.InstanceOf(typeof(AccessTokenAuthorizationCodeRequest))); } - [TestCase] + [Test] public void AccessTokenBasicCredentialsRequest() { var fields = new Dictionary<string, string> { { Protocol.client_id, "abc" }, @@ -108,10 +120,10 @@ namespace DotNetOpenAuth.Test.OAuth2 { { Protocol.password, "abc" }, }; IDirectedProtocolMessage request = this.messageFactory.GetNewRequestMessage(this.recipient, fields); - Assert.IsInstanceOf(typeof(AccessTokenResourceOwnerPasswordCredentialsRequest), request); + Assert.That(request, Is.InstanceOf(typeof(AccessTokenResourceOwnerPasswordCredentialsRequest))); } - [TestCase] + [Test] public void AccessTokenClientCredentialsRequest() { var fields = new Dictionary<string, string> { { Protocol.client_id, "abc" }, @@ -119,7 +131,7 @@ namespace DotNetOpenAuth.Test.OAuth2 { { Protocol.grant_type, "none" }, }; IDirectedProtocolMessage request = this.messageFactory.GetNewRequestMessage(this.recipient, fields); - Assert.IsInstanceOf(typeof(AccessTokenClientCredentialsRequest), request); + Assert.That(request, Is.InstanceOf(typeof(AccessTokenClientCredentialsRequest))); } #endregion diff --git a/src/DotNetOpenAuth.Test/OAuth2/OAuth2ChannelTests.cs b/src/DotNetOpenAuth.Test/OAuth2/OAuth2ChannelTests.cs deleted file mode 100644 index c263eb6..0000000 --- a/src/DotNetOpenAuth.Test/OAuth2/OAuth2ChannelTests.cs +++ /dev/null @@ -1,21 +0,0 @@ -//----------------------------------------------------------------------- -// <copyright file="OAuth2ChannelTests.cs" company="Andrew Arnott"> -// Copyright (c) Andrew Arnott. All rights reserved. -// </copyright> -//----------------------------------------------------------------------- - -namespace DotNetOpenAuth.Test.OAuth2 { - using System; - using System.Collections.Generic; - using System.Linq; - using System.Text; - using DotNetOpenAuth.Messaging; - using DotNetOpenAuth.OAuth2; - using DotNetOpenAuth.OAuth2.ChannelElements; - using DotNetOpenAuth.OAuth2.Messages; - using NUnit.Framework; - - [TestFixture] - public class OAuth2ChannelTests : OAuth2TestBase { - } -} diff --git a/src/DotNetOpenAuth.Test/OAuth2/OAuth2Coordinator.cs b/src/DotNetOpenAuth.Test/OAuth2/OAuth2Coordinator.cs new file mode 100644 index 0000000..993cad5 --- /dev/null +++ b/src/DotNetOpenAuth.Test/OAuth2/OAuth2Coordinator.cs @@ -0,0 +1,72 @@ +//----------------------------------------------------------------------- +// <copyright file="OAuth2Coordinator.cs" company="Outercurve Foundation"> +// Copyright (c) Outercurve Foundation. All rights reserved. +// </copyright> +//----------------------------------------------------------------------- + +namespace DotNetOpenAuth.Test.OAuth2 { + using System; + using System.Collections.Generic; + using System.Linq; + using System.Text; + using DotNetOpenAuth.OAuth2; + using DotNetOpenAuth.Test.Mocks; + + internal class OAuth2Coordinator<TClient> : CoordinatorBase<TClient, AuthorizationServer> + where TClient : ClientBase { + private readonly AuthorizationServerDescription serverDescription; + private readonly IAuthorizationServer authServerHost; + private readonly TClient client; + + internal OAuth2Coordinator( + AuthorizationServerDescription serverDescription, + IAuthorizationServer authServerHost, + TClient client, + Action<TClient> clientAction, + Action<AuthorizationServer> authServerAction) + : base(clientAction, authServerAction) { + Requires.NotNull(serverDescription, "serverDescription"); + Requires.NotNull(authServerHost, "authServerHost"); + Requires.NotNull(client, "client"); + + this.serverDescription = serverDescription; + this.authServerHost = authServerHost; + this.client = client; + + this.client.ClientIdentifier = OAuth2TestBase.ClientId; + this.client.ClientSecret = OAuth2TestBase.ClientSecret; + } + + internal override void Run() { + var authServer = new AuthorizationServer(this.authServerHost); + + var rpCoordinatingChannel = new CoordinatingChannel(this.client.Channel, this.IncomingMessageFilter, this.OutgoingMessageFilter); + var opCoordinatingChannel = new CoordinatingOAuth2AuthServerChannel(authServer.Channel, this.IncomingMessageFilter, this.OutgoingMessageFilter); + rpCoordinatingChannel.RemoteChannel = opCoordinatingChannel; + opCoordinatingChannel.RemoteChannel = rpCoordinatingChannel; + + this.client.Channel = rpCoordinatingChannel; + authServer.Channel = opCoordinatingChannel; + + this.RunCore(this.client, authServer); + } + + private static Action<WebServerClient> WrapAction(Action<WebServerClient> action) { + Requires.NotNull(action, "action"); + + return client => { + action(client); + ((CoordinatingChannel)client.Channel).Close(); + }; + } + + private static Action<AuthorizationServer> WrapAction(Action<AuthorizationServer> action) { + Requires.NotNull(action, "action"); + + return authServer => { + action(authServer); + ((CoordinatingChannel)authServer.Channel).Close(); + }; + } + } +} diff --git a/src/DotNetOpenAuth.Test/OAuth2/OAuth2TestBase.cs b/src/DotNetOpenAuth.Test/OAuth2/OAuth2TestBase.cs index 6c13c5e..87d91f7 100644 --- a/src/DotNetOpenAuth.Test/OAuth2/OAuth2TestBase.cs +++ b/src/DotNetOpenAuth.Test/OAuth2/OAuth2TestBase.cs @@ -1,6 +1,6 @@ //----------------------------------------------------------------------- -// <copyright file="OAuth2TestBase.cs" company="Andrew Arnott"> -// Copyright (c) Andrew Arnott. All rights reserved. +// <copyright file="OAuth2TestBase.cs" company="Outercurve Foundation"> +// Copyright (c) Outercurve Foundation. All rights reserved. // </copyright> //----------------------------------------------------------------------- @@ -9,7 +9,51 @@ namespace DotNetOpenAuth.Test.OAuth2 { using System.Collections.Generic; using System.Linq; using System.Text; + using DotNetOpenAuth.Messaging; + using DotNetOpenAuth.Messaging.Bindings; + using DotNetOpenAuth.OAuth2; + using DotNetOpenAuth.OAuth2.ChannelElements; + using Moq; public class OAuth2TestBase : TestBase { + protected internal const string ClientId = "TestClientId"; + + protected internal const string ClientSecret = "TestClientSecret"; + + protected const string ResourceOwnerUsername = "TestUser"; + + protected const string ResourceOwnerPassword = "TestUserPassword"; + + protected static readonly string[] TestScopes = new[] { "Scope1", "Scope2" }; + + protected static readonly Uri ClientCallback = new Uri("http://client/callback"); + + protected static readonly AuthorizationServerDescription AuthorizationServerDescription = new AuthorizationServerDescription { + AuthorizationEndpoint = new Uri("https://authserver/authorize"), + TokenEndpoint = new Uri("https://authserver/token"), + }; + + protected static readonly IClientDescription ClientDescription = new ClientDescription( + ClientSecret, + ClientCallback, + ClientType.Confidential); + + protected static readonly IAuthorizationServer AuthorizationServerMock = CreateAuthorizationServerMock().Object; + + protected static Mock<IAuthorizationServer> CreateAuthorizationServerMock() { + var authHostMock = new Mock<IAuthorizationServer>(); + var cryptoStore = new MemoryCryptoKeyStore(); + authHostMock.Setup(m => m.GetClient(ClientId)).Returns(ClientDescription); + authHostMock.SetupGet(m => m.CryptoKeyStore).Returns(cryptoStore); + authHostMock.Setup( + m => + m.IsAuthorizationValid( + It.Is<IAuthorizationDescription>( + d => + d.ClientIdentifier == ClientId && d.User == ResourceOwnerUsername && + MessagingUtilities.AreEquivalent(d.Scope, TestScopes)))).Returns(true); + authHostMock.Setup(m => m.IsResourceOwnerCredentialValid(ResourceOwnerUsername, ResourceOwnerPassword)).Returns(true); + return authHostMock; + } } } diff --git a/src/DotNetOpenAuth.Test/OAuth2/UserAgentClientAuthorizeTests.cs b/src/DotNetOpenAuth.Test/OAuth2/UserAgentClientAuthorizeTests.cs new file mode 100644 index 0000000..1f56b32 --- /dev/null +++ b/src/DotNetOpenAuth.Test/OAuth2/UserAgentClientAuthorizeTests.cs @@ -0,0 +1,82 @@ +//----------------------------------------------------------------------- +// <copyright file="UserAgentClientAuthorizeTests.cs" company="Outercurve Foundation"> +// Copyright (c) Outercurve Foundation. All rights reserved. +// </copyright> +//----------------------------------------------------------------------- + +namespace DotNetOpenAuth.Test.OAuth2 { + using System; + using System.Collections.Generic; + using System.Linq; + using System.Text; + using DotNetOpenAuth.Messaging; + using DotNetOpenAuth.Messaging.Bindings; + using DotNetOpenAuth.OAuth2; + using DotNetOpenAuth.OAuth2.ChannelElements; + using DotNetOpenAuth.OAuth2.Messages; + using Moq; + using NUnit.Framework; + + [TestFixture] + public class UserAgentClientAuthorizeTests : OAuth2TestBase { + [Test] + public void AuthorizationCodeGrant() { + var coordinator = new OAuth2Coordinator<UserAgentClient>( + AuthorizationServerDescription, + AuthorizationServerMock, + new UserAgentClient(AuthorizationServerDescription), + client => { + var authState = new AuthorizationState(TestScopes) { + Callback = ClientCallback, + }; + var request = client.PrepareRequestUserAuthorization(authState); + Assert.AreEqual(EndUserAuthorizationResponseType.AuthorizationCode, request.ResponseType); + client.Channel.Respond(request); + var incoming = client.Channel.ReadFromRequest(); + var result = client.ProcessUserAuthorization(authState, incoming); + Assert.That(result.AccessToken, Is.Not.Null.And.Not.Empty); + Assert.That(result.RefreshToken, Is.Not.Null.And.Not.Empty); + }, + server => { + var request = server.ReadAuthorizationRequest(); + server.ApproveAuthorizationRequest(request, ResourceOwnerUsername); + var tokenRequest = server.ReadAccessTokenRequest(); + IAccessTokenRequest accessTokenRequest = tokenRequest; + Assert.That(accessTokenRequest.ClientAuthenticated); + var tokenResponse = server.PrepareAccessTokenResponse(tokenRequest); + server.Channel.Respond(tokenResponse); + }); + coordinator.Run(); + } + + [Test] + public void ImplicitGrant() { + var coordinatorClient = new UserAgentClient(AuthorizationServerDescription); + var coordinator = new OAuth2Coordinator<UserAgentClient>( + AuthorizationServerDescription, + AuthorizationServerMock, + coordinatorClient, + client => { + var authState = new AuthorizationState(TestScopes) { + Callback = ClientCallback, + }; + var request = client.PrepareRequestUserAuthorization(authState, implicitResponseType: true); + Assert.That(request.ResponseType, Is.EqualTo(EndUserAuthorizationResponseType.AccessToken)); + client.Channel.Respond(request); + var incoming = client.Channel.ReadFromRequest(); + var result = client.ProcessUserAuthorization(authState, incoming); + Assert.That(result.AccessToken, Is.Not.Null.And.Not.Empty); + Assert.That(result.RefreshToken, Is.Null); + }, + server => { + var request = server.ReadAuthorizationRequest(); + IAccessTokenRequest accessTokenRequest = (EndUserAuthorizationImplicitRequest)request; + Assert.That(accessTokenRequest.ClientAuthenticated, Is.False); + server.ApproveAuthorizationRequest(request, ResourceOwnerUsername); + }); + + coordinatorClient.ClientSecret = null; // implicit grant clients don't need a secret. + coordinator.Run(); + } + } +} diff --git a/src/DotNetOpenAuth.Test/OAuth2/WebServerClientAuthorizeTests.cs b/src/DotNetOpenAuth.Test/OAuth2/WebServerClientAuthorizeTests.cs new file mode 100644 index 0000000..d7439d9 --- /dev/null +++ b/src/DotNetOpenAuth.Test/OAuth2/WebServerClientAuthorizeTests.cs @@ -0,0 +1,90 @@ +//----------------------------------------------------------------------- +// <copyright file="WebServerClientAuthorizeTests.cs" company="Outercurve Foundation"> +// Copyright (c) Outercurve Foundation. All rights reserved. +// </copyright> +//----------------------------------------------------------------------- + +namespace DotNetOpenAuth.Test.OAuth2 { + using System; + using System.Collections.Generic; + using System.Linq; + using System.Text; + using DotNetOpenAuth.Messaging; + using DotNetOpenAuth.OAuth2; + using DotNetOpenAuth.OAuth2.ChannelElements; + using DotNetOpenAuth.OAuth2.Messages; + using Moq; + using NUnit.Framework; + + [TestFixture] + public class WebServerClientAuthorizeTests : OAuth2TestBase { + [Test] + public void AuthorizationCodeGrant() { + var coordinator = new OAuth2Coordinator<WebServerClient>( + AuthorizationServerDescription, + AuthorizationServerMock, + new WebServerClient(AuthorizationServerDescription), + client => { + var authState = new AuthorizationState(TestScopes) { + Callback = ClientCallback, + }; + client.PrepareRequestUserAuthorization(authState).Respond(); + var result = client.ProcessUserAuthorization(); + Assert.That(result.AccessToken, Is.Not.Null.And.Not.Empty); + Assert.That(result.RefreshToken, Is.Not.Null.And.Not.Empty); + }, + server => { + var request = server.ReadAuthorizationRequest(); + server.ApproveAuthorizationRequest(request, ResourceOwnerUsername); + var tokenRequest = server.ReadAccessTokenRequest(); + IAccessTokenRequest accessTokenRequest = tokenRequest; + Assert.That(accessTokenRequest.ClientAuthenticated); + var tokenResponse = server.PrepareAccessTokenResponse(tokenRequest); + server.Channel.Respond(tokenResponse); + }); + coordinator.Run(); + } + + [Test] + public void ResourceOwnerPasswordCredentialGrant() { + var coordinator = new OAuth2Coordinator<WebServerClient>( + AuthorizationServerDescription, + AuthorizationServerMock, + new WebServerClient(AuthorizationServerDescription), + client => { + var authState = client.ExchangeUserCredentialForToken(ResourceOwnerUsername, ResourceOwnerPassword, TestScopes); + Assert.That(authState.AccessToken, Is.Not.Null.And.Not.Empty); + Assert.That(authState.RefreshToken, Is.Not.Null.And.Not.Empty); + }, + server => { + var request = server.ReadAccessTokenRequest(); + var response = server.PrepareAccessTokenResponse(request); + server.Channel.Respond(response); + }); + coordinator.Run(); + } + + [Test] + public void ClientCredentialGrant() { + var authServer = CreateAuthorizationServerMock(); + authServer.Setup( + a => a.IsAuthorizationValid(It.Is<IAuthorizationDescription>(d => d.User == null && d.ClientIdentifier == ClientId && MessagingUtilities.AreEquivalent(d.Scope, TestScopes)))) + .Returns(true); + var coordinator = new OAuth2Coordinator<WebServerClient>( + AuthorizationServerDescription, + authServer.Object, + new WebServerClient(AuthorizationServerDescription), + client => { + var authState = client.GetClientAccessToken(TestScopes); + Assert.That(authState.AccessToken, Is.Not.Null.And.Not.Empty); + Assert.That(authState.RefreshToken, Is.Null); + }, + server => { + var request = server.ReadAccessTokenRequest(); + var response = server.PrepareAccessTokenResponse(request); + server.Channel.Respond(response); + }); + coordinator.Run(); + } + } +} diff --git a/src/DotNetOpenAuth.Test/OpenId/AssociationHandshakeTests.cs b/src/DotNetOpenAuth.Test/OpenId/AssociationHandshakeTests.cs index 9c9e446..e8c955e 100644 --- a/src/DotNetOpenAuth.Test/OpenId/AssociationHandshakeTests.cs +++ b/src/DotNetOpenAuth.Test/OpenId/AssociationHandshakeTests.cs @@ -1,6 +1,6 @@ //----------------------------------------------------------------------- -// <copyright file="AssociationHandshakeTests.cs" company="Andrew Arnott"> -// Copyright (c) Andrew Arnott. All rights reserved. +// <copyright file="AssociationHandshakeTests.cs" company="Outercurve Foundation"> +// Copyright (c) Outercurve Foundation. All rights reserved. // </copyright> //----------------------------------------------------------------------- @@ -21,12 +21,12 @@ namespace DotNetOpenAuth.Test.OpenId { base.SetUp(); } - [TestCase] + [Test] public void AssociateUnencrypted() { this.ParameterizedAssociationTest(new Uri("https://host")); } - [TestCase] + [Test] public void AssociateDiffieHellmanOverHttp() { this.ParameterizedAssociationTest(new Uri("http://host")); } @@ -38,7 +38,7 @@ namespace DotNetOpenAuth.Test.OpenId { /// Some OPs out there flatly refuse to do this, and the spec doesn't forbid /// putting the two together, so we verify that DNOI can handle it. /// </remarks> - [TestCase] + [Test] public void AssociateDiffieHellmanOverHttps() { Protocol protocol = Protocol.V20; OpenIdCoordinator coordinator = new OpenIdCoordinator( @@ -62,7 +62,7 @@ namespace DotNetOpenAuth.Test.OpenId { /// Verifies that the RP and OP can renegotiate an association type if the RP's /// initial request for an association is for a type the OP doesn't support. /// </summary> - [TestCase] + [Test] public void AssociateRenegotiateBitLength() { Protocol protocol = Protocol.V20; @@ -108,7 +108,7 @@ namespace DotNetOpenAuth.Test.OpenId { /// <remarks> /// Verifies OP's compliance with OpenID 2.0 section 8.4.1. /// </remarks> - [TestCase] + [Test] public void OPRejectsHttpNoEncryptionAssociateRequests() { Protocol protocol = Protocol.V20; OpenIdCoordinator coordinator = new OpenIdCoordinator( @@ -129,7 +129,7 @@ namespace DotNetOpenAuth.Test.OpenId { /// Verifies that the OP rejects an associate request /// when the HMAC and DH bit lengths do not match. /// </summary> - [TestCase] + [Test] public void OPRejectsMismatchingAssociationAndSessionTypes() { Protocol protocol = Protocol.V20; OpenIdCoordinator coordinator = new OpenIdCoordinator( @@ -152,7 +152,7 @@ namespace DotNetOpenAuth.Test.OpenId { /// <summary> /// Verifies that the RP quietly rejects an OP that suggests an unknown association type. /// </summary> - [TestCase] + [Test] public void RPRejectsUnrecognizedAssociationType() { Protocol protocol = Protocol.V20; OpenIdCoordinator coordinator = new OpenIdCoordinator( @@ -179,7 +179,7 @@ namespace DotNetOpenAuth.Test.OpenId { /// <remarks> /// Verifies RP's compliance with OpenID 2.0 section 8.4.1. /// </remarks> - [TestCase] + [Test] public void RPRejectsUnencryptedSuggestion() { Protocol protocol = Protocol.V20; OpenIdCoordinator coordinator = new OpenIdCoordinator( @@ -204,7 +204,7 @@ namespace DotNetOpenAuth.Test.OpenId { /// Verifies that the RP rejects an associate renegotiate request /// when the HMAC and DH bit lengths do not match. /// </summary> - [TestCase] + [Test] public void RPRejectsMismatchingAssociationAndSessionBitLengths() { Protocol protocol = Protocol.V20; OpenIdCoordinator coordinator = new OpenIdCoordinator( @@ -229,7 +229,7 @@ namespace DotNetOpenAuth.Test.OpenId { /// Verifies that the RP cannot get caught in an infinite loop if a bad OP /// keeps sending it association retry messages. /// </summary> - [TestCase] + [Test] public void RPOnlyRenegotiatesOnce() { Protocol protocol = Protocol.V20; OpenIdCoordinator coordinator = new OpenIdCoordinator( @@ -262,7 +262,7 @@ namespace DotNetOpenAuth.Test.OpenId { /// <summary> /// Verifies security settings limit RP's acceptance of OP's counter-suggestion /// </summary> - [TestCase] + [Test] public void AssociateRenegotiateLimitedByRPSecuritySettings() { Protocol protocol = Protocol.V20; OpenIdCoordinator coordinator = new OpenIdCoordinator( @@ -282,7 +282,7 @@ namespace DotNetOpenAuth.Test.OpenId { /// Verifies that the RP can recover from an invalid or non-existent /// response from the OP, for example in the HTTP timeout case. /// </summary> - [TestCase] + [Test] public void AssociateQuietlyFailsAfterHttpError() { this.MockResponder.RegisterMockNotFound(OPUri); var rp = this.CreateRelyingParty(); diff --git a/src/DotNetOpenAuth.Test/OpenId/AssociationTests.cs b/src/DotNetOpenAuth.Test/OpenId/AssociationTests.cs index a70189f..92173a7 100644 --- a/src/DotNetOpenAuth.Test/OpenId/AssociationTests.cs +++ b/src/DotNetOpenAuth.Test/OpenId/AssociationTests.cs @@ -1,6 +1,6 @@ //----------------------------------------------------------------------- -// <copyright file="AssociationTests.cs" company="Andrew Arnott"> -// Copyright (c) Andrew Arnott. All rights reserved. +// <copyright file="AssociationTests.cs" company="Outercurve Foundation"> +// Copyright (c) Outercurve Foundation. All rights reserved. // </copyright> //----------------------------------------------------------------------- @@ -35,21 +35,21 @@ namespace DotNetOpenAuth.Test.OpenId { this.sha1Secret2[1] = 0xcc; } - [TestCase] + [Test] public void Properties() { string handle = "somehandle"; TimeSpan lifetime = TimeSpan.FromMinutes(2); Association assoc = HmacShaAssociation.Create(Protocol.Default, Protocol.Default.Args.SignatureAlgorithm.HMAC_SHA1, handle, this.sha1Secret, lifetime); Assert.IsFalse(assoc.IsExpired); - Assert.IsTrue(Math.Abs((DateTime.Now - assoc.Issued.ToLocalTime()).TotalSeconds) < deltaDateTime.TotalSeconds); - Assert.IsTrue(Math.Abs((DateTime.Now.ToLocalTime() + lifetime - assoc.Expires.ToLocalTime()).TotalSeconds) < deltaDateTime.TotalSeconds); - Assert.AreEqual(handle, assoc.Handle); - Assert.IsTrue(Math.Abs(lifetime.TotalSeconds - assoc.SecondsTillExpiration) < deltaDateTime.TotalSeconds); - Assert.IsTrue(MessagingUtilities.AreEquivalent(this.sha1Secret, assoc.SecretKey)); - Assert.AreEqual(0, assoc.Issued.Millisecond, "No milliseconds because this can be cut off in conversions."); + Assert.That(assoc.Issued, Is.EqualTo(DateTime.UtcNow).Within(deltaDateTime)); + Assert.That(assoc.Expires, Is.EqualTo(DateTime.UtcNow + lifetime).Within(deltaDateTime)); + Assert.That(assoc.Handle, Is.EqualTo(handle)); + Assert.That(assoc.SecondsTillExpiration, Is.EqualTo(lifetime.TotalSeconds).Within(deltaDateTime.TotalSeconds)); + Assert.That(assoc.SecretKey, Is.EqualTo(this.sha1Secret)); + Assert.That(assoc.Issued.Millisecond, Is.EqualTo(0), "No milliseconds because this can be cut off in conversions."); } - [TestCase] + [Test] public void Sign() { Association assoc1 = HmacShaAssociation.Create(Protocol.Default, Protocol.Default.Args.SignatureAlgorithm.HMAC_SHA1, "h1", this.sha1Secret, TimeSpan.FromMinutes(2)); Association assoc2 = HmacShaAssociation.Create(Protocol.Default, Protocol.Default.Args.SignatureAlgorithm.HMAC_SHA1, "h2", this.sha1Secret2, TimeSpan.FromMinutes(2)); @@ -58,21 +58,21 @@ namespace DotNetOpenAuth.Test.OpenId { // sign once and verify that it's sane byte[] signature1 = assoc1.Sign(data); - Assert.IsNotNull(signature1); - Assert.AreNotEqual(0, signature1.Length); + Assert.That(signature1, Is.Not.Null); + Assert.That(signature1.Length, Is.Not.EqualTo(0)); // sign again and make sure it's different byte[] signature2 = assoc2.Sign(data); - Assert.IsNotNull(signature2); - Assert.AreNotEqual(0, signature2.Length); - Assert.IsFalse(MessagingUtilities.AreEquivalent(signature1, signature2)); + Assert.That(signature2, Is.Not.Null); + Assert.That(signature2.Length, Is.Not.EqualTo(0)); + Assert.That(signature1, Is.Not.EqualTo(signature2)); // sign again with the same secret and make sure it's the same. - Assert.IsTrue(MessagingUtilities.AreEquivalent(signature1, assoc1.Sign(data))); + Assert.That(assoc1.Sign(data), Is.EqualTo(signature1)); // now change the data and make sure signature changes data[1] = 0xee; - Assert.IsFalse(MessagingUtilities.AreEquivalent(signature1, assoc1.Sign(data))); + Assert.That(assoc1.Sign(data), Is.Not.EqualTo(signature1)); } } } diff --git a/src/DotNetOpenAuth.Test/OpenId/AuthenticationTests.cs b/src/DotNetOpenAuth.Test/OpenId/AuthenticationTests.cs index a0d833d..6129ee7 100644 --- a/src/DotNetOpenAuth.Test/OpenId/AuthenticationTests.cs +++ b/src/DotNetOpenAuth.Test/OpenId/AuthenticationTests.cs @@ -1,6 +1,6 @@ //----------------------------------------------------------------------- -// <copyright file="AuthenticationTests.cs" company="Andrew Arnott"> -// Copyright (c) Andrew Arnott. All rights reserved. +// <copyright file="AuthenticationTests.cs" company="Outercurve Foundation"> +// Copyright (c) Outercurve Foundation. All rights reserved. // </copyright> //----------------------------------------------------------------------- @@ -23,7 +23,7 @@ namespace DotNetOpenAuth.Test.OpenId { base.SetUp(); } - [TestCase] + [Test] public void SharedAssociationPositive() { this.ParameterizedAuthenticationTest(true, true, false); } @@ -31,17 +31,17 @@ namespace DotNetOpenAuth.Test.OpenId { /// <summary> /// Verifies that a shared association protects against tampering. /// </summary> - [TestCase] + [Test] public void SharedAssociationTampered() { this.ParameterizedAuthenticationTest(true, true, true); } - [TestCase] + [Test] public void SharedAssociationNegative() { this.ParameterizedAuthenticationTest(true, false, false); } - [TestCase] + [Test] public void PrivateAssociationPositive() { this.ParameterizedAuthenticationTest(false, true, false); } @@ -49,17 +49,17 @@ namespace DotNetOpenAuth.Test.OpenId { /// <summary> /// Verifies that a private association protects against tampering. /// </summary> - [TestCase] + [Test] public void PrivateAssociationTampered() { this.ParameterizedAuthenticationTest(false, true, true); } - [TestCase] + [Test] public void NoAssociationNegative() { this.ParameterizedAuthenticationTest(false, false, false); } - [TestCase] + [Test] public void UnsolicitedAssertion() { this.MockResponder.RegisterMockRPDiscovery(); OpenIdCoordinator coordinator = new OpenIdCoordinator( @@ -77,7 +77,7 @@ namespace DotNetOpenAuth.Test.OpenId { coordinator.Run(); } - [TestCase] + [Test] public void UnsolicitedAssertionRejected() { this.MockResponder.RegisterMockRPDiscovery(); OpenIdCoordinator coordinator = new OpenIdCoordinator( @@ -100,7 +100,7 @@ namespace DotNetOpenAuth.Test.OpenId { /// Verifies that delegating identifiers are rejected in unsolicited assertions /// when the appropriate security setting is set. /// </summary> - [TestCase] + [Test] public void UnsolicitedDelegatingIdentifierRejection() { this.MockResponder.RegisterMockRPDiscovery(); OpenIdCoordinator coordinator = new OpenIdCoordinator( diff --git a/src/DotNetOpenAuth.Test/OpenId/ChannelElements/ExtensionsBindingElementTests.cs b/src/DotNetOpenAuth.Test/OpenId/ChannelElements/ExtensionsBindingElementTests.cs index a4291d6..849c796 100644 --- a/src/DotNetOpenAuth.Test/OpenId/ChannelElements/ExtensionsBindingElementTests.cs +++ b/src/DotNetOpenAuth.Test/OpenId/ChannelElements/ExtensionsBindingElementTests.cs @@ -1,6 +1,6 @@ //----------------------------------------------------------------------- -// <copyright file="ExtensionsBindingElementTests.cs" company="Andrew Arnott"> -// Copyright (c) Andrew Arnott. All rights reserved. +// <copyright file="ExtensionsBindingElementTests.cs" company="Outercurve Foundation"> +// Copyright (c) Outercurve Foundation. All rights reserved. // </copyright> //----------------------------------------------------------------------- @@ -37,7 +37,7 @@ namespace DotNetOpenAuth.Test.OpenId.ChannelElements { this.request = new SignedResponseRequest(Protocol.Default.Version, OpenIdTestBase.OPUri, AuthenticationRequestMode.Immediate); } - [TestCase] + [Test] public void RoundTripFullStackTest() { IOpenIdMessageExtension request = new MockOpenIdExtension("requestPart", "requestData"); IOpenIdMessageExtension response = new MockOpenIdExtension("responsePart", "responseData"); @@ -47,12 +47,12 @@ namespace DotNetOpenAuth.Test.OpenId.ChannelElements { new IOpenIdMessageExtension[] { response }); } - [TestCase] + [Test] public void ExtensionFactory() { Assert.AreSame(this.factory, this.rpElement.ExtensionFactory); } - [TestCase] + [Test] public void PrepareMessageForSendingNull() { Assert.IsNull(this.rpElement.ProcessOutgoingMessage(null)); } @@ -60,13 +60,13 @@ namespace DotNetOpenAuth.Test.OpenId.ChannelElements { /// <summary> /// Verifies that false is returned when a non-extendable message is sent. /// </summary> - [TestCase] + [Test] public void PrepareMessageForSendingNonExtendableMessage() { IProtocolMessage request = new AssociateDiffieHellmanRequest(Protocol.Default.Version, OpenIdTestBase.OPUri); Assert.IsNull(this.rpElement.ProcessOutgoingMessage(request)); } - [TestCase] + [Test] public void PrepareMessageForSending() { this.request.Extensions.Add(new MockOpenIdExtension("part", "extra")); Assert.IsNotNull(this.rpElement.ProcessOutgoingMessage(this.request)); @@ -77,7 +77,7 @@ namespace DotNetOpenAuth.Test.OpenId.ChannelElements { Assert.AreEqual("extra", this.request.ExtraData["openid." + alias + ".data"]); } - [TestCase] + [Test] public void PrepareMessageForReceiving() { this.request.ExtraData["openid.ns.mock"] = MockOpenIdExtension.MockTypeUri; this.request.ExtraData["openid.mock.Part"] = "part"; @@ -91,7 +91,7 @@ namespace DotNetOpenAuth.Test.OpenId.ChannelElements { /// <summary> /// Verifies that extension responses are included in the OP's signature. /// </summary> - [TestCase] + [Test] public void ExtensionResponsesAreSigned() { Protocol protocol = Protocol.Default; var op = this.CreateProvider(); @@ -113,7 +113,7 @@ namespace DotNetOpenAuth.Test.OpenId.ChannelElements { /// <summary> /// Verifies that unsigned extension responses (where any or all fields are unsigned) are ignored. /// </summary> - [TestCase] + [Test] public void ExtensionsAreIdentifiedAsSignedOrUnsigned() { Protocol protocol = Protocol.Default; OpenIdCoordinator coordinator = new OpenIdCoordinator( @@ -144,7 +144,7 @@ namespace DotNetOpenAuth.Test.OpenId.ChannelElements { /// OpenID Authentication 2.0 section 12 states that /// "A namespace MUST NOT be assigned more than one alias in the same message". /// </remarks> - [TestCase] + [Test] public void TwoExtensionsSameTypeUri() { IOpenIdMessageExtension request1 = new MockOpenIdExtension("requestPart1", "requestData1"); IOpenIdMessageExtension request2 = new MockOpenIdExtension("requestPart2", "requestData2"); diff --git a/src/DotNetOpenAuth.Test/OpenId/ChannelElements/KeyValueFormEncodingTests.cs b/src/DotNetOpenAuth.Test/OpenId/ChannelElements/KeyValueFormEncodingTests.cs index 75ac503..bafabe6 100644 --- a/src/DotNetOpenAuth.Test/OpenId/ChannelElements/KeyValueFormEncodingTests.cs +++ b/src/DotNetOpenAuth.Test/OpenId/ChannelElements/KeyValueFormEncodingTests.cs @@ -1,6 +1,6 @@ //----------------------------------------------------------------------- -// <copyright file="KeyValueFormEncodingTests.cs" company="Andrew Arnott"> -// Copyright (c) Andrew Arnott. All rights reserved. +// <copyright file="KeyValueFormEncodingTests.cs" company="Outercurve Foundation"> +// Copyright (c) Outercurve Foundation. All rights reserved. // </copyright> //----------------------------------------------------------------------- @@ -33,7 +33,7 @@ namespace DotNetOpenAuth.Test.OpenId.ChannelElements { Both = 0x3, } - [TestCase] + [Test] public void BasicEncodingTest() { byte[] kvfBytes = KeyValueFormEncoding.GetBytes(this.sampleData); string responseString = Encoding.UTF8.GetString(kvfBytes); @@ -69,7 +69,7 @@ namespace DotNetOpenAuth.Test.OpenId.ChannelElements { } } - [TestCase] + [Test] public void EncodeDecode() { this.KVDictTest(UTF8Encoding.UTF8.GetBytes(string.Empty), new Dictionary<string, string>(), TestMode.Both); @@ -133,7 +133,7 @@ namespace DotNetOpenAuth.Test.OpenId.ChannelElements { this.Illegal("x:b\n\n", KeyValueFormConformanceLevel.OpenId20); } - [TestCase] + [Test] public void EmptyLineLoose() { Dictionary<string, string> d = new Dictionary<string, string>(); d.Add("x", "b"); @@ -145,7 +145,7 @@ namespace DotNetOpenAuth.Test.OpenId.ChannelElements { this.Illegal("x:y\na:b", KeyValueFormConformanceLevel.OpenId11); } - [TestCase] + [Test] public void LastLineNotTerminatedLoose() { Dictionary<string, string> d = new Dictionary<string, string>(); d.Add("x", "y"); diff --git a/src/DotNetOpenAuth.Test/OpenId/ChannelElements/OpenIdChannelTests.cs b/src/DotNetOpenAuth.Test/OpenId/ChannelElements/OpenIdChannelTests.cs index 059c80e..f50137d 100644 --- a/src/DotNetOpenAuth.Test/OpenId/ChannelElements/OpenIdChannelTests.cs +++ b/src/DotNetOpenAuth.Test/OpenId/ChannelElements/OpenIdChannelTests.cs @@ -1,6 +1,6 @@ //----------------------------------------------------------------------- -// <copyright file="OpenIdChannelTests.cs" company="Andrew Arnott"> -// Copyright (c) Andrew Arnott. All rights reserved. +// <copyright file="OpenIdChannelTests.cs" company="Outercurve Foundation"> +// Copyright (c) Outercurve Foundation. All rights reserved. // </copyright> //----------------------------------------------------------------------- @@ -33,7 +33,7 @@ namespace DotNetOpenAuth.Test.OpenId.ChannelElements { this.channel.WebRequestHandler = this.webHandler; } - [TestCase] + [Test] public void Ctor() { // Verify that the channel stack includes the expected types. // While other binding elements may be substituted for these, we'd then have @@ -51,7 +51,7 @@ namespace DotNetOpenAuth.Test.OpenId.ChannelElements { /// <summary> /// Verifies that the channel sends direct message requests as HTTP POST requests. /// </summary> - [TestCase] + [Test] public void DirectRequestsUsePost() { IDirectedProtocolMessage requestMessage = new Mocks.TestDirectedMessage(MessageTransport.Direct) { Recipient = new Uri("http://host"), @@ -71,7 +71,7 @@ namespace DotNetOpenAuth.Test.OpenId.ChannelElements { /// class is verified elsewhere. We're only checking that the KVF class is being used by the /// <see cref="OpenIdChannel.SendDirectMessageResponse"/> method. /// </remarks> - [TestCase] + [Test] public void DirectResponsesSentUsingKeyValueForm() { IProtocolMessage message = MessagingTestBase.GetStandardTestMessage(MessagingTestBase.FieldFill.AllRequired); MessageDictionary messageFields = this.MessageDescriptions.GetAccessor(message); @@ -88,7 +88,7 @@ namespace DotNetOpenAuth.Test.OpenId.ChannelElements { /// <summary> /// Verifies that direct message responses are read in using the Key Value Form decoder. /// </summary> - [TestCase] + [Test] public void DirectResponsesReceivedAsKeyValueForm() { var fields = new Dictionary<string, string> { { "var1", "value1" }, @@ -103,7 +103,7 @@ namespace DotNetOpenAuth.Test.OpenId.ChannelElements { /// <summary> /// Verifies that messages asking for special HTTP status codes get them. /// </summary> - [TestCase] + [Test] public void SendDirectMessageResponseHonorsHttpStatusCodes() { IProtocolMessage message = MessagingTestBase.GetStandardTestMessage(MessagingTestBase.FieldFill.AllRequired); OutgoingWebResponse directResponse = this.channel.PrepareDirectResponseTestHook(message); diff --git a/src/DotNetOpenAuth.Test/OpenId/ChannelElements/SigningBindingElementTests.cs b/src/DotNetOpenAuth.Test/OpenId/ChannelElements/SigningBindingElementTests.cs index 22714a9..17feaa8 100644 --- a/src/DotNetOpenAuth.Test/OpenId/ChannelElements/SigningBindingElementTests.cs +++ b/src/DotNetOpenAuth.Test/OpenId/ChannelElements/SigningBindingElementTests.cs @@ -1,6 +1,6 @@ //----------------------------------------------------------------------- -// <copyright file="SigningBindingElementTests.cs" company="Andrew Arnott"> -// Copyright (c) Andrew Arnott. All rights reserved. +// <copyright file="SigningBindingElementTests.cs" company="Outercurve Foundation"> +// Copyright (c) Outercurve Foundation. All rights reserved. // </copyright> //----------------------------------------------------------------------- @@ -23,7 +23,7 @@ namespace DotNetOpenAuth.Test.OpenId.ChannelElements { /// <summary> /// Verifies that the signatures generated match Known Good signatures. /// </summary> - [TestCase] + [Test] public void SignaturesMatchKnownGood() { Protocol protocol = Protocol.V20; var settings = new ProviderSecuritySettings(); @@ -48,7 +48,7 @@ namespace DotNetOpenAuth.Test.OpenId.ChannelElements { /// <summary> /// Verifies that all parameters in ExtraData in signed responses are signed. /// </summary> - [TestCase] + [Test] public void SignedResponsesIncludeExtraDataInSignature() { Protocol protocol = Protocol.Default; SigningBindingElement sbe = new ProviderSigningBindingElement(new ProviderAssociationHandleEncoder(new MemoryCryptoKeyStore()), new ProviderSecuritySettings()); diff --git a/src/DotNetOpenAuth.Test/OpenId/DiffieHellmanTests.cs b/src/DotNetOpenAuth.Test/OpenId/DiffieHellmanTests.cs index 9e89b03..8512053 100644 --- a/src/DotNetOpenAuth.Test/OpenId/DiffieHellmanTests.cs +++ b/src/DotNetOpenAuth.Test/OpenId/DiffieHellmanTests.cs @@ -1,6 +1,6 @@ //----------------------------------------------------------------------- -// <copyright file="DiffieHellmanTests.cs" company="Jason Alexander, Andrew Arnott"> -// Copyright (c) Jason Alexander, Andrew Arnott. All rights reserved. +// <copyright file="DiffieHellmanTests.cs" company="Jason Alexander, Outercurve Foundation"> +// Copyright (c) Jason Alexander, Outercurve Foundation. All rights reserved. // </copyright> //----------------------------------------------------------------------- @@ -14,7 +14,7 @@ namespace DotNetOpenAuth.Test.OpenId { [TestFixture] public class DiffieHellmanTests : OpenIdTestBase { - [TestCase] + [Test] public void Test() { string s1 = Test1(); string s2 = Test1(); diff --git a/src/DotNetOpenAuth.Test/OpenId/DiscoveryServices/UriDiscoveryServiceTests.cs b/src/DotNetOpenAuth.Test/OpenId/DiscoveryServices/UriDiscoveryServiceTests.cs index 1050b4b..c145e23 100644 --- a/src/DotNetOpenAuth.Test/OpenId/DiscoveryServices/UriDiscoveryServiceTests.cs +++ b/src/DotNetOpenAuth.Test/OpenId/DiscoveryServices/UriDiscoveryServiceTests.cs @@ -1,6 +1,6 @@ //----------------------------------------------------------------------- -// <copyright file="UriDiscoveryServiceTests.cs" company="Andrew Arnott"> -// Copyright (c) Andrew Arnott. All rights reserved. +// <copyright file="UriDiscoveryServiceTests.cs" company="Outercurve Foundation"> +// Copyright (c) Outercurve Foundation. All rights reserved. // </copyright> //----------------------------------------------------------------------- @@ -19,7 +19,7 @@ namespace DotNetOpenAuth.Test.OpenId.DiscoveryServices { [TestFixture] public class UriDiscoveryServiceTests : OpenIdTestBase { - [TestCase] + [Test] public void DiscoveryWithRedirects() { Identifier claimedId = this.GetMockIdentifier(ProtocolVersion.V20, false); @@ -34,7 +34,7 @@ namespace DotNetOpenAuth.Test.OpenId.DiscoveryServices { Assert.AreEqual(1, this.Discover(userSuppliedIdentifier).Count()); } - [TestCase] + [Test] public void DiscoverRequireSslWithSecureRedirects() { Identifier claimedId = this.GetMockIdentifier(ProtocolVersion.V20, true); @@ -65,7 +65,7 @@ namespace DotNetOpenAuth.Test.OpenId.DiscoveryServices { this.Discover(userSuppliedIdentifier); } - [TestCase] + [Test] public void DiscoveryRequireSslWithInsecureXrdsInSecureHtmlHead() { var insecureXrdsSource = this.GetMockIdentifier(ProtocolVersion.V20, false); Uri secureClaimedUri = new Uri("https://localhost/secureId"); @@ -77,7 +77,7 @@ namespace DotNetOpenAuth.Test.OpenId.DiscoveryServices { Assert.AreEqual(0, this.Discover(userSuppliedIdentifier).Count()); } - [TestCase] + [Test] public void DiscoveryRequireSslWithInsecureXrdsInSecureHttpHeader() { var insecureXrdsSource = this.GetMockIdentifier(ProtocolVersion.V20, false); @@ -91,7 +91,7 @@ namespace DotNetOpenAuth.Test.OpenId.DiscoveryServices { Assert.AreEqual(0, this.Discover(userSuppliedIdentifier).Count()); } - [TestCase] + [Test] public void DiscoveryRequireSslWithInsecureXrdsButSecureLinkTags() { var insecureXrdsSource = this.GetMockIdentifier(ProtocolVersion.V20, false); string html = string.Format( @@ -113,7 +113,7 @@ namespace DotNetOpenAuth.Test.OpenId.DiscoveryServices { Assert.AreEqual(OPLocalIdentifiersSsl[1].AbsoluteUri, this.Discover(userSuppliedIdentifier).Single().ProviderLocalIdentifier.ToString()); } - [TestCase] + [Test] public void DiscoveryRequiresSslIgnoresInsecureEndpointsInXrds() { var insecureEndpoint = GetServiceEndpoint(0, ProtocolVersion.V20, 10, false); var secureEndpoint = GetServiceEndpoint(1, ProtocolVersion.V20, 20, true); @@ -122,7 +122,7 @@ namespace DotNetOpenAuth.Test.OpenId.DiscoveryServices { Assert.AreEqual(secureEndpoint.ProviderLocalIdentifier, this.Discover(secureClaimedId).Single().ProviderLocalIdentifier); } - [TestCase] + [Test] public void XrdsDirectDiscovery_10() { this.FailDiscoverXrds("xrds-irrelevant"); this.DiscoverXrds("xrds10", ProtocolVersion.V10, null, "http://a/b"); @@ -130,14 +130,14 @@ namespace DotNetOpenAuth.Test.OpenId.DiscoveryServices { this.DiscoverXrds("xrds1020", ProtocolVersion.V10, null, "http://a/b"); } - [TestCase] + [Test] public void XrdsDirectDiscovery_20() { this.DiscoverXrds("xrds20", ProtocolVersion.V20, null, "http://a/b"); this.DiscoverXrds("xrds2010a", ProtocolVersion.V20, null, "http://a/b"); this.DiscoverXrds("xrds2010b", ProtocolVersion.V20, null, "http://a/b"); } - [TestCase] + [Test] public void HtmlDiscover_11() { this.DiscoverHtml("html10prov", ProtocolVersion.V11, null, "http://a/b"); this.DiscoverHtml("html10both", ProtocolVersion.V11, "http://c/d", "http://a/b"); @@ -151,7 +151,7 @@ namespace DotNetOpenAuth.Test.OpenId.DiscoveryServices { this.DiscoverHtml("html2010combinedC", ProtocolVersion.V11, "http://c/d", "http://a/b"); } - [TestCase] + [Test] public void HtmlDiscover_20() { this.DiscoverHtml("html20prov", ProtocolVersion.V20, null, "http://a/b"); this.DiscoverHtml("html20both", ProtocolVersion.V20, "http://c/d", "http://a/b"); @@ -164,13 +164,13 @@ namespace DotNetOpenAuth.Test.OpenId.DiscoveryServices { this.FailDiscoverHtml("html20relative"); } - [TestCase] + [Test] public void XrdsDiscoveryFromHead() { this.MockResponder.RegisterMockResponse(new Uri("http://localhost/xrds1020.xml"), "application/xrds+xml", LoadEmbeddedFile("/Discovery/xrdsdiscovery/xrds1020.xml")); this.DiscoverXrds("XrdsReferencedInHead.html", ProtocolVersion.V10, null, "http://a/b"); } - [TestCase] + [Test] public void XrdsDiscoveryFromHttpHeader() { WebHeaderCollection headers = new WebHeaderCollection(); headers.Add("X-XRDS-Location", new Uri("http://localhost/xrds1020.xml").AbsoluteUri); @@ -181,7 +181,7 @@ namespace DotNetOpenAuth.Test.OpenId.DiscoveryServices { /// <summary> /// Verifies HTML discovery proceeds if an XRDS document is referenced that doesn't contain OpenID endpoints. /// </summary> - [TestCase] + [Test] public void HtmlDiscoveryProceedsIfXrdsIsEmpty() { this.MockResponder.RegisterMockResponse(new Uri("http://localhost/xrds-irrelevant.xml"), "application/xrds+xml", LoadEmbeddedFile("/Discovery/xrdsdiscovery/xrds-irrelevant.xml")); this.DiscoverHtml("html20provWithEmptyXrds", ProtocolVersion.V20, null, "http://a/b"); @@ -190,7 +190,7 @@ namespace DotNetOpenAuth.Test.OpenId.DiscoveryServices { /// <summary> /// Verifies HTML discovery proceeds if the XRDS that is referenced cannot be found. /// </summary> - [TestCase] + [Test] public void HtmlDiscoveryProceedsIfXrdsIsBadOrMissing() { this.DiscoverHtml("html20provWithBadXrds", ProtocolVersion.V20, null, "http://a/b"); } @@ -198,7 +198,7 @@ namespace DotNetOpenAuth.Test.OpenId.DiscoveryServices { /// <summary> /// Verifies that a dual identifier yields only one service endpoint by default. /// </summary> - [TestCase] + [Test] public void DualIdentifierOffByDefault() { this.MockResponder.RegisterMockResponse(VanityUri, "application/xrds+xml", LoadEmbeddedFile("/Discovery/xrdsdiscovery/xrds20dual.xml")); var results = this.Discover(VanityUri).ToList(); @@ -209,7 +209,7 @@ namespace DotNetOpenAuth.Test.OpenId.DiscoveryServices { /// <summary> /// Verifies that a dual identifier yields two service endpoints when that feature is turned on. /// </summary> - [TestCase] + [Test] public void DualIdentifier() { this.MockResponder.RegisterMockResponse(VanityUri, "application/xrds+xml", LoadEmbeddedFile("/Discovery/xrdsdiscovery/xrds20dual.xml")); var rp = this.CreateRelyingParty(true); diff --git a/src/DotNetOpenAuth.Test/OpenId/DiscoveryServices/XriDiscoveryProxyServiceTests.cs b/src/DotNetOpenAuth.Test/OpenId/DiscoveryServices/XriDiscoveryProxyServiceTests.cs index 5d914f5..fe767ea 100644 --- a/src/DotNetOpenAuth.Test/OpenId/DiscoveryServices/XriDiscoveryProxyServiceTests.cs +++ b/src/DotNetOpenAuth.Test/OpenId/DiscoveryServices/XriDiscoveryProxyServiceTests.cs @@ -1,6 +1,6 @@ //----------------------------------------------------------------------- -// <copyright file="XriDiscoveryProxyServiceTests.cs" company="Andrew Arnott"> -// Copyright (c) Andrew Arnott. All rights reserved. +// <copyright file="XriDiscoveryProxyServiceTests.cs" company="Outercurve Foundation"> +// Copyright (c) Outercurve Foundation. All rights reserved. // </copyright> //----------------------------------------------------------------------- @@ -15,7 +15,7 @@ namespace DotNetOpenAuth.Test.OpenId.DiscoveryServices { [TestFixture] public class XriDiscoveryProxyServiceTests : OpenIdTestBase { - [TestCase] + [Test] public void Discover() { string xrds = @"<?xml version='1.0' encoding='UTF-8'?> <XRD version='2.0' xmlns='xri://$xrd*($v*2.0)'> @@ -62,7 +62,7 @@ namespace DotNetOpenAuth.Test.OpenId.DiscoveryServices { Assert.AreEqual("=Arnott", se.FriendlyIdentifierForDisplay); } - [TestCase] + [Test] public void DiscoverCommunityInameCanonicalIDs() { string llliResponse = @"<?xml version='1.0' encoding='UTF-8'?> <XRD version='2.0' xmlns='xri://$xrd*($v*2.0)'> @@ -292,7 +292,7 @@ uEyb50RJ7DWmXctSC0b3eymZ2lSXxAWNOsNy this.VerifyCanonicalId("=Web", "=!91F2.8153.F600.AE24"); } - [TestCase] + [Test] public void DiscoveryCommunityInameDelegateWithoutCanonicalID() { this.MockResponder.RegisterMockXrdsResponses(new Dictionary<string, string> { { "https://xri.net/=Web*andrew.arnott?_xrd_r=application/xrd%2Bxml;sep=false", @"<?xml version='1.0' encoding='UTF-8'?> diff --git a/src/DotNetOpenAuth.Test/OpenId/Extensions/AttributeExchange/AttributeExchangeRoundtripTests.cs b/src/DotNetOpenAuth.Test/OpenId/Extensions/AttributeExchange/AttributeExchangeRoundtripTests.cs index 3433cfa..ab0a10b 100644 --- a/src/DotNetOpenAuth.Test/OpenId/Extensions/AttributeExchange/AttributeExchangeRoundtripTests.cs +++ b/src/DotNetOpenAuth.Test/OpenId/Extensions/AttributeExchange/AttributeExchangeRoundtripTests.cs @@ -1,6 +1,6 @@ //----------------------------------------------------------------------- -// <copyright file="AttributeExchangeRoundtripTests.cs" company="Andrew Arnott"> -// Copyright (c) Andrew Arnott. All rights reserved. +// <copyright file="AttributeExchangeRoundtripTests.cs" company="Outercurve Foundation"> +// Copyright (c) Outercurve Foundation. All rights reserved. // </copyright> //----------------------------------------------------------------------- @@ -16,7 +16,7 @@ namespace DotNetOpenAuth.Test.OpenId.Extensions { private const string IncrementingAttribute = "http://incatt"; private int incrementingAttributeValue = 1; - [TestCase] + [Test] public void Fetch() { var request = new FetchRequest(); request.Attributes.Add(new AttributeRequest(NicknameTypeUri)); @@ -29,7 +29,7 @@ namespace DotNetOpenAuth.Test.OpenId.Extensions { ExtensionTestUtilities.Roundtrip(Protocol.Default, new[] { request }, new[] { response }); } - [TestCase] + [Test] public void Store() { var request = new StoreRequest(); var newAttribute = new AttributeValues( diff --git a/src/DotNetOpenAuth.Test/OpenId/Extensions/AttributeExchange/AttributeRequestTests.cs b/src/DotNetOpenAuth.Test/OpenId/Extensions/AttributeExchange/AttributeRequestTests.cs index 3a7ecd7..337663e 100644 --- a/src/DotNetOpenAuth.Test/OpenId/Extensions/AttributeExchange/AttributeRequestTests.cs +++ b/src/DotNetOpenAuth.Test/OpenId/Extensions/AttributeExchange/AttributeRequestTests.cs @@ -1,6 +1,6 @@ //----------------------------------------------------------------------- -// <copyright file="AttributeRequestTests.cs" company="Andrew Arnott"> -// Copyright (c) Andrew Arnott. All rights reserved. +// <copyright file="AttributeRequestTests.cs" company="Outercurve Foundation"> +// Copyright (c) Outercurve Foundation. All rights reserved. // </copyright> //----------------------------------------------------------------------- @@ -12,7 +12,7 @@ namespace DotNetOpenAuth.Test.OpenId.Extensions { [TestFixture] public class AttributeRequestTests : OpenIdTestBase { - [TestCase] + [Test] public void CtorDefault() { AttributeRequest req = new AttributeRequest(); Assert.AreEqual(1, req.Count); @@ -40,7 +40,7 @@ namespace DotNetOpenAuth.Test.OpenId.Extensions { new AttributeRequest(WellKnownAttributes.Contact.Email, false, -1); } - [TestCase] + [Test] public void CtorFull() { var req = new AttributeRequest(WellKnownAttributes.Contact.Email, true, 5); Assert.AreEqual(WellKnownAttributes.Contact.Email, req.TypeUri); @@ -60,7 +60,7 @@ namespace DotNetOpenAuth.Test.OpenId.Extensions { req.Count = -1; } - [TestCase] + [Test] public void EqualityTests() { var req1 = new AttributeRequest(); var req2 = new AttributeRequest(); diff --git a/src/DotNetOpenAuth.Test/OpenId/Extensions/AttributeExchange/AttributeValuesTests.cs b/src/DotNetOpenAuth.Test/OpenId/Extensions/AttributeExchange/AttributeValuesTests.cs index 6c28461..6b6edd8 100644 --- a/src/DotNetOpenAuth.Test/OpenId/Extensions/AttributeExchange/AttributeValuesTests.cs +++ b/src/DotNetOpenAuth.Test/OpenId/Extensions/AttributeExchange/AttributeValuesTests.cs @@ -1,6 +1,6 @@ //----------------------------------------------------------------------- -// <copyright file="AttributeValuesTests.cs" company="Andrew Arnott"> -// Copyright (c) Andrew Arnott. All rights reserved. +// <copyright file="AttributeValuesTests.cs" company="Outercurve Foundation"> +// Copyright (c) Outercurve Foundation. All rights reserved. // </copyright> //----------------------------------------------------------------------- @@ -14,7 +14,7 @@ namespace DotNetOpenAuth.Test.OpenId.Extensions.AttributeExchange { [TestFixture] public class AttributeValuesTests : OpenIdTestBase { - [TestCase] + [Test] public void Ctor() { var att = new AttributeValues(); Assert.IsNull(att.TypeUri); @@ -37,7 +37,7 @@ namespace DotNetOpenAuth.Test.OpenId.Extensions.AttributeExchange { /// <summary> /// Verifies the Equals method. /// </summary> - [TestCase] + [Test] public void EqualityTests() { var att1 = new AttributeValues(); var att2 = new AttributeValues(); diff --git a/src/DotNetOpenAuth.Test/OpenId/Extensions/AttributeExchange/FetchRequestTests.cs b/src/DotNetOpenAuth.Test/OpenId/Extensions/AttributeExchange/FetchRequestTests.cs index 2388798..62f54a2 100644 --- a/src/DotNetOpenAuth.Test/OpenId/Extensions/AttributeExchange/FetchRequestTests.cs +++ b/src/DotNetOpenAuth.Test/OpenId/Extensions/AttributeExchange/FetchRequestTests.cs @@ -1,6 +1,6 @@ //----------------------------------------------------------------------- -// <copyright file="FetchRequestTests.cs" company="Andrew Arnott"> -// Copyright (c) Andrew Arnott. All rights reserved. +// <copyright file="FetchRequestTests.cs" company="Outercurve Foundation"> +// Copyright (c) Outercurve Foundation. All rights reserved. // </copyright> //----------------------------------------------------------------------- @@ -18,13 +18,13 @@ namespace DotNetOpenAuth.Test.OpenId.Extensions { new FetchRequest().Attributes.Add(null); } - [TestCase] + [Test] public void AddAttributeRequest() { var req = new FetchRequest(); req.Attributes.Add(new AttributeRequest() { TypeUri = "http://someUri" }); } - [TestCase] + [Test] public void AddAttributeRequestStrangeUri() { var req = new FetchRequest(); req.Attributes.Add(new AttributeRequest() { TypeUri = "=someUri*who*knows*but*this*is*legal" }); @@ -37,7 +37,7 @@ namespace DotNetOpenAuth.Test.OpenId.Extensions { req.Attributes.Add(new AttributeRequest() { TypeUri = "http://UriTwice" }); } - [TestCase] + [Test] public void RespondSimpleValue() { var req = new AttributeRequest(); req.TypeUri = "http://someType"; @@ -47,7 +47,7 @@ namespace DotNetOpenAuth.Test.OpenId.Extensions { Assert.AreEqual("value", resp.Values[0]); } - [TestCase] + [Test] public void RespondTwoValues() { var req = new AttributeRequest(); req.TypeUri = "http://someType"; @@ -75,7 +75,7 @@ namespace DotNetOpenAuth.Test.OpenId.Extensions { req.Respond(null); } - [TestCase] + [Test] public void EqualityTests() { var req1 = new FetchRequest(); var req2 = new FetchRequest(); @@ -100,7 +100,7 @@ namespace DotNetOpenAuth.Test.OpenId.Extensions { /// <summary> /// Verifies that the class is serializable. /// </summary> - [TestCase] + [Test] public void Serializable() { var fetch = new FetchRequest(); fetch.Attributes.AddRequired("http://someAttribute"); diff --git a/src/DotNetOpenAuth.Test/OpenId/Extensions/AttributeExchange/FetchResponseTests.cs b/src/DotNetOpenAuth.Test/OpenId/Extensions/AttributeExchange/FetchResponseTests.cs index c545a46..53d1ef4 100644 --- a/src/DotNetOpenAuth.Test/OpenId/Extensions/AttributeExchange/FetchResponseTests.cs +++ b/src/DotNetOpenAuth.Test/OpenId/Extensions/AttributeExchange/FetchResponseTests.cs @@ -1,6 +1,6 @@ //----------------------------------------------------------------------- -// <copyright file="FetchResponseTests.cs" company="Andrew Arnott"> -// Copyright (c) Andrew Arnott. All rights reserved. +// <copyright file="FetchResponseTests.cs" company="Outercurve Foundation"> +// Copyright (c) Outercurve Foundation. All rights reserved. // </copyright> //----------------------------------------------------------------------- @@ -13,13 +13,13 @@ namespace DotNetOpenAuth.Test.OpenId.Extensions { [TestFixture] public class FetchResponseTests : OpenIdTestBase { - [TestCase] + [Test] public void AddAttribute() { var response = new FetchResponse(); response.Attributes.Add(new AttributeValues("http://someattribute", "Value1")); } - [TestCase] + [Test] public void AddTwoAttributes() { var response = new FetchResponse(); response.Attributes.Add(new AttributeValues("http://someattribute", "Value1")); @@ -39,7 +39,7 @@ namespace DotNetOpenAuth.Test.OpenId.Extensions { response.Attributes.Add(null); } - [TestCase] + [Test] public void GetAttributeValue() { var response = new FetchResponse(); @@ -55,7 +55,7 @@ namespace DotNetOpenAuth.Test.OpenId.Extensions { Assert.AreEqual("a", response.GetAttributeValue("http://someattribute3")); } - [TestCase] + [Test] public void EqualityTests() { var response1 = new FetchResponse(); var response2 = new FetchResponse(); @@ -80,7 +80,7 @@ namespace DotNetOpenAuth.Test.OpenId.Extensions { /// <summary> /// Verifies that the class is serializable. /// </summary> - [TestCase] + [Test] public void Serializable() { var fetch = new FetchResponse(); fetch.Attributes.Add("http://someAttribute", "val1", "val2"); diff --git a/src/DotNetOpenAuth.Test/OpenId/Extensions/AttributeExchange/StoreRequestTests.cs b/src/DotNetOpenAuth.Test/OpenId/Extensions/AttributeExchange/StoreRequestTests.cs index fc486aa..9741be3 100644 --- a/src/DotNetOpenAuth.Test/OpenId/Extensions/AttributeExchange/StoreRequestTests.cs +++ b/src/DotNetOpenAuth.Test/OpenId/Extensions/AttributeExchange/StoreRequestTests.cs @@ -1,6 +1,6 @@ //----------------------------------------------------------------------- -// <copyright file="StoreRequestTests.cs" company="Andrew Arnott"> -// Copyright (c) Andrew Arnott. All rights reserved. +// <copyright file="StoreRequestTests.cs" company="Outercurve Foundation"> +// Copyright (c) Outercurve Foundation. All rights reserved. // </copyright> //----------------------------------------------------------------------- @@ -19,7 +19,7 @@ namespace DotNetOpenAuth.Test.OpenId.Extensions.AttributeExchange { /// <summary> /// Verifies the constructor behavior. /// </summary> - [TestCase] + [Test] public void Ctor() { var req = new StoreRequest(); Assert.IsFalse(req.Attributes.Any()); @@ -28,7 +28,7 @@ namespace DotNetOpenAuth.Test.OpenId.Extensions.AttributeExchange { /// <summary> /// Verifies the AddAttribute method. /// </summary> - [TestCase] + [Test] public void AddAttributeByValue() { var req = new StoreRequest(); AttributeValues value = new AttributeValues(); @@ -39,7 +39,7 @@ namespace DotNetOpenAuth.Test.OpenId.Extensions.AttributeExchange { /// <summary> /// Verifies the AddAttribute method. /// </summary> - [TestCase] + [Test] public void AddAttributeByPrimitives() { var req = new StoreRequest(); req.Attributes.Add("http://att1", "value1", "value2"); @@ -51,7 +51,7 @@ namespace DotNetOpenAuth.Test.OpenId.Extensions.AttributeExchange { /// <summary> /// Verifies the Equals method. /// </summary> - [TestCase] + [Test] public void EqualityTests() { var req1 = new StoreRequest(); var req2 = new StoreRequest(); @@ -71,7 +71,7 @@ namespace DotNetOpenAuth.Test.OpenId.Extensions.AttributeExchange { /// <summary> /// Verifies that the class is serializable. /// </summary> - [TestCase] + [Test] public void Serializable() { var store = new StoreRequest(); store.Attributes.Add("http://someAttribute", "val1", "val2"); diff --git a/src/DotNetOpenAuth.Test/OpenId/Extensions/AttributeExchange/StoreResponseTests.cs b/src/DotNetOpenAuth.Test/OpenId/Extensions/AttributeExchange/StoreResponseTests.cs index 564ef7f..32682bd 100644 --- a/src/DotNetOpenAuth.Test/OpenId/Extensions/AttributeExchange/StoreResponseTests.cs +++ b/src/DotNetOpenAuth.Test/OpenId/Extensions/AttributeExchange/StoreResponseTests.cs @@ -1,6 +1,6 @@ //----------------------------------------------------------------------- -// <copyright file="StoreResponseTests.cs" company="Andrew Arnott"> -// Copyright (c) Andrew Arnott. All rights reserved. +// <copyright file="StoreResponseTests.cs" company="Outercurve Foundation"> +// Copyright (c) Outercurve Foundation. All rights reserved. // </copyright> //----------------------------------------------------------------------- @@ -14,7 +14,7 @@ namespace DotNetOpenAuth.Test.OpenId.Extensions.AttributeExchange { /// <summary> /// Verifies the constructor's behavior. /// </summary> - [TestCase] + [Test] public void Ctor() { var response = new StoreResponse(); Assert.IsTrue(response.Succeeded, "The default status should be Succeeded."); @@ -28,7 +28,7 @@ namespace DotNetOpenAuth.Test.OpenId.Extensions.AttributeExchange { /// <summary> /// Verifies the Equals method. /// </summary> - [TestCase] + [Test] public void EqualityTests() { var response1 = new StoreResponse(); var response2 = new StoreResponse(); @@ -51,7 +51,7 @@ namespace DotNetOpenAuth.Test.OpenId.Extensions.AttributeExchange { /// <summary> /// Verifies that the class is serializable. /// </summary> - [TestCase] + [Test] public void Serializable() { var store = new StoreResponse(); store.Succeeded = false; diff --git a/src/DotNetOpenAuth.Test/OpenId/Extensions/ExtensionTestUtilities.cs b/src/DotNetOpenAuth.Test/OpenId/Extensions/ExtensionTestUtilities.cs index 4a78fc1..fd5bba2 100644 --- a/src/DotNetOpenAuth.Test/OpenId/Extensions/ExtensionTestUtilities.cs +++ b/src/DotNetOpenAuth.Test/OpenId/Extensions/ExtensionTestUtilities.cs @@ -1,6 +1,6 @@ //----------------------------------------------------------------------- -// <copyright file="ExtensionTestUtilities.cs" company="Andrew Arnott"> -// Copyright (c) Andrew Arnott. All rights reserved. +// <copyright file="ExtensionTestUtilities.cs" company="Outercurve Foundation"> +// Copyright (c) Outercurve Foundation. All rights reserved. // </copyright> //----------------------------------------------------------------------- diff --git a/src/DotNetOpenAuth.Test/OpenId/Extensions/ExtensionsInteropHelperOPTests.cs b/src/DotNetOpenAuth.Test/OpenId/Extensions/ExtensionsInteropHelperOPTests.cs index 8d7de0e..9592605 100644 --- a/src/DotNetOpenAuth.Test/OpenId/Extensions/ExtensionsInteropHelperOPTests.cs +++ b/src/DotNetOpenAuth.Test/OpenId/Extensions/ExtensionsInteropHelperOPTests.cs @@ -1,6 +1,6 @@ //----------------------------------------------------------------------- -// <copyright file="ExtensionsInteropHelperOPTests.cs" company="Andrew Arnott"> -// Copyright (c) Andrew Arnott. All rights reserved. +// <copyright file="ExtensionsInteropHelperOPTests.cs" company="Outercurve Foundation"> +// Copyright (c) Outercurve Foundation. All rights reserved. // </copyright> //----------------------------------------------------------------------- @@ -37,7 +37,7 @@ namespace DotNetOpenAuth.Test.OpenId.Extensions { /// <summary> /// Verifies no extensions appear as no extensions /// </summary> - [TestCase] + [Test] public void NoRequestedExtensions() { var sreg = ExtensionsInteropHelper.UnifyExtensionsAsSreg(this.request); Assert.IsNull(sreg); @@ -52,7 +52,7 @@ namespace DotNetOpenAuth.Test.OpenId.Extensions { Assert.AreSame(sregResponse, extensions.Single()); } - [TestCase] + [Test] public void NegativeResponse() { this.request.IsAuthenticated = false; ExtensionsInteropHelper.ConvertSregToMatchRequest(this.request); @@ -61,7 +61,7 @@ namespace DotNetOpenAuth.Test.OpenId.Extensions { /// <summary> /// Verifies sreg coming in is seen as sreg. /// </summary> - [TestCase] + [Test] public void UnifyExtensionsAsSregWithSreg() { var sregInjected = new ClaimsRequest(DotNetOpenAuth.OpenId.Extensions.SimpleRegistration.Constants.sreg_ns) { Nickname = DemandLevel.Request, @@ -82,7 +82,7 @@ namespace DotNetOpenAuth.Test.OpenId.Extensions { /// <summary> /// Verifies AX coming in looks like sreg. /// </summary> - [TestCase] + [Test] public void UnifyExtensionsAsSregWithAX() { this.ParameterizedAXTest(AXAttributeFormats.AXSchemaOrg); } @@ -90,7 +90,7 @@ namespace DotNetOpenAuth.Test.OpenId.Extensions { /// <summary> /// Verifies AX coming in looks like sreg. /// </summary> - [TestCase] + [Test] public void UnifyExtensionsAsSregWithAXSchemaOpenIdNet() { this.ParameterizedAXTest(AXAttributeFormats.SchemaOpenIdNet); } @@ -98,7 +98,7 @@ namespace DotNetOpenAuth.Test.OpenId.Extensions { /// <summary> /// Verifies sreg and AX in one request has a preserved sreg request. /// </summary> - [TestCase] + [Test] public void UnifyExtensionsAsSregWithBothSregAndAX() { var sregInjected = new ClaimsRequest(DotNetOpenAuth.OpenId.Extensions.SimpleRegistration.Constants.sreg_ns) { Nickname = DemandLevel.Request, diff --git a/src/DotNetOpenAuth.Test/OpenId/Extensions/ExtensionsInteropHelperRPRequestTests.cs b/src/DotNetOpenAuth.Test/OpenId/Extensions/ExtensionsInteropHelperRPRequestTests.cs index c70f023..b5bcd7b 100644 --- a/src/DotNetOpenAuth.Test/OpenId/Extensions/ExtensionsInteropHelperRPRequestTests.cs +++ b/src/DotNetOpenAuth.Test/OpenId/Extensions/ExtensionsInteropHelperRPRequestTests.cs @@ -1,6 +1,6 @@ //----------------------------------------------------------------------- -// <copyright file="ExtensionsInteropHelperRPRequestTests.cs" company="Andrew Arnott"> -// Copyright (c) Andrew Arnott. All rights reserved. +// <copyright file="ExtensionsInteropHelperRPRequestTests.cs" company="Outercurve Foundation"> +// Copyright (c) Outercurve Foundation. All rights reserved. // </copyright> //----------------------------------------------------------------------- @@ -44,7 +44,7 @@ namespace DotNetOpenAuth.Test.OpenId.Extensions { /// <summary> /// Verifies that without an Sreg extension to copy from, no AX extension request is added. /// </summary> - [TestCase] + [Test] public void SpreadSregToAXNoExtensions() { ExtensionsInteropHelper.SpreadSregToAX(this.authReq, AXAttributeFormats.AXSchemaOrg); Assert.AreEqual(0, this.authReq.AppliedExtensions.Count()); @@ -53,7 +53,7 @@ namespace DotNetOpenAuth.Test.OpenId.Extensions { /// <summary> /// Verifies that Sreg requests are correctly copied to axschema.org AX requests. /// </summary> - [TestCase] + [Test] public void SpreadSregToAXBasic() { this.authReq.AddExtension(this.sreg); ExtensionsInteropHelper.SpreadSregToAX(this.authReq, AXAttributeFormats.AXSchemaOrg); @@ -72,7 +72,7 @@ namespace DotNetOpenAuth.Test.OpenId.Extensions { /// <summary> /// Verifies that sreg can spread to multiple AX schemas. /// </summary> - [TestCase] + [Test] public void SpreadSregToAxMultipleSchemas() { this.authReq.AddExtension(this.sreg); ExtensionsInteropHelper.SpreadSregToAX(this.authReq, AXAttributeFormats.AXSchemaOrg | AXAttributeFormats.SchemaOpenIdNet); @@ -85,7 +85,7 @@ namespace DotNetOpenAuth.Test.OpenId.Extensions { /// <summary> /// Verifies no spread if the OP advertises sreg support. /// </summary> - [TestCase] + [Test] public void SpreadSregToAxNoOpIfOPSupportsSreg() { this.authReq.AddExtension(this.sreg); this.InjectAdvertisedTypeUri(DotNetOpenAuth.OpenId.Extensions.SimpleRegistration.Constants.sreg_ns); @@ -96,7 +96,7 @@ namespace DotNetOpenAuth.Test.OpenId.Extensions { /// <summary> /// Verifies a targeted AX request if the OP advertises a recognized type URI format. /// </summary> - [TestCase] + [Test] public void SpreadSregToAxTargetedAtOPFormat() { this.authReq.AddExtension(this.sreg); this.InjectAdvertisedTypeUri(WellKnownAttributes.Name.FullName); @@ -109,7 +109,7 @@ namespace DotNetOpenAuth.Test.OpenId.Extensions { /// <summary> /// Verifies that TransformAXFormat correctly translates AX schema Type URIs. /// </summary> - [TestCase] + [Test] public void TransformAXFormatTest() { Assert.AreEqual(WellKnownAttributes.Name.Alias, ExtensionsInteropProviderHelper.TransformAXFormatTestHook(WellKnownAttributes.Name.Alias, AXAttributeFormats.AXSchemaOrg)); Assert.AreEqual("http://schema.openid.net/namePerson/friendly", ExtensionsInteropProviderHelper.TransformAXFormatTestHook(WellKnownAttributes.Name.Alias, AXAttributeFormats.SchemaOpenIdNet)); diff --git a/src/DotNetOpenAuth.Test/OpenId/Extensions/ExtensionsInteropHelperRPResponseTests.cs b/src/DotNetOpenAuth.Test/OpenId/Extensions/ExtensionsInteropHelperRPResponseTests.cs index d8d1529..b8ae42c 100644 --- a/src/DotNetOpenAuth.Test/OpenId/Extensions/ExtensionsInteropHelperRPResponseTests.cs +++ b/src/DotNetOpenAuth.Test/OpenId/Extensions/ExtensionsInteropHelperRPResponseTests.cs @@ -1,6 +1,6 @@ //----------------------------------------------------------------------- -// <copyright file="ExtensionsInteropHelperRPResponseTests.cs" company="Andrew Arnott"> -// Copyright (c) Andrew Arnott. All rights reserved. +// <copyright file="ExtensionsInteropHelperRPResponseTests.cs" company="Outercurve Foundation"> +// Copyright (c) Outercurve Foundation. All rights reserved. // </copyright> //----------------------------------------------------------------------- @@ -34,7 +34,7 @@ namespace DotNetOpenAuth.Test.OpenId.Extensions { /// <summary> /// Verifies that with no extensions present, UnifyExtensionsAsSreg returns an empty ClaimsResponse. /// </summary> - [TestCase] + [Test] public void UnifyExtensionsAsSregNoExtensions() { var sreg = ExtensionsInteropHelper.UnifyExtensionsAsSreg(this.response, true); Assert.IsNotNull(sreg); @@ -44,7 +44,7 @@ namespace DotNetOpenAuth.Test.OpenId.Extensions { /// <summary> /// Verifies that with sreg and AX extensions present, the sreg extension is returned. /// </summary> - [TestCase] + [Test] public void UnifyExtensionsAsSregWithSreg() { var sregInjected = new ClaimsResponse { Nickname = "andy", @@ -61,7 +61,7 @@ namespace DotNetOpenAuth.Test.OpenId.Extensions { /// <summary> /// Verifies UnifyExtensionsAsSreg correctly converts AX to sreg. /// </summary> - [TestCase] + [Test] public void UnifyExtensionsAsSregFromAXSchemaOrg() { var axInjected = new FetchResponse(); axInjected.Attributes.Add(WellKnownAttributes.Name.Alias, "nate"); @@ -73,7 +73,7 @@ namespace DotNetOpenAuth.Test.OpenId.Extensions { /// <summary> /// Verifies UnifyExtensionsAsSreg correctly converts AX in a non-standard format to sreg. /// </summary> - [TestCase] + [Test] public void UnifyExtensionsasSregFromSchemaOpenIdNet() { var axInjected = new FetchResponse(); axInjected.Attributes.Add(ExtensionsInteropProviderHelper.TransformAXFormatTestHook(WellKnownAttributes.Name.Alias, AXAttributeFormats.SchemaOpenIdNet), "nate"); diff --git a/src/DotNetOpenAuth.Test/OpenId/Extensions/ProviderAuthenticationPolicy/PapeRoundTripTests.cs b/src/DotNetOpenAuth.Test/OpenId/Extensions/ProviderAuthenticationPolicy/PapeRoundTripTests.cs index 6f35f85..cba54bf 100644 --- a/src/DotNetOpenAuth.Test/OpenId/Extensions/ProviderAuthenticationPolicy/PapeRoundTripTests.cs +++ b/src/DotNetOpenAuth.Test/OpenId/Extensions/ProviderAuthenticationPolicy/PapeRoundTripTests.cs @@ -1,6 +1,6 @@ //----------------------------------------------------------------------- -// <copyright file="PapeRoundTripTests.cs" company="Andrew Arnott"> -// Copyright (c) Andrew Arnott. All rights reserved. +// <copyright file="PapeRoundTripTests.cs" company="Outercurve Foundation"> +// Copyright (c) Outercurve Foundation. All rights reserved. // </copyright> //----------------------------------------------------------------------- @@ -13,14 +13,14 @@ namespace DotNetOpenAuth.Test.OpenId.Extensions.ProviderAuthenticationPolicy { [TestFixture] public class PapeRoundTripTests : OpenIdTestBase { - [TestCase] + [Test] public void Trivial() { var request = new PolicyRequest(); var response = new PolicyResponse(); ExtensionTestUtilities.Roundtrip(Protocol.Default, new[] { request }, new[] { response }); } - [TestCase] + [Test] public void Full() { var request = new PolicyRequest(); request.MaximumAuthenticationAge = TimeSpan.FromMinutes(10); diff --git a/src/DotNetOpenAuth.Test/OpenId/Extensions/ProviderAuthenticationPolicy/PolicyRequestTests.cs b/src/DotNetOpenAuth.Test/OpenId/Extensions/ProviderAuthenticationPolicy/PolicyRequestTests.cs index d75eccc..0806754 100644 --- a/src/DotNetOpenAuth.Test/OpenId/Extensions/ProviderAuthenticationPolicy/PolicyRequestTests.cs +++ b/src/DotNetOpenAuth.Test/OpenId/Extensions/ProviderAuthenticationPolicy/PolicyRequestTests.cs @@ -1,6 +1,6 @@ //----------------------------------------------------------------------- -// <copyright file="PolicyRequestTests.cs" company="Andrew Arnott"> -// Copyright (c) Andrew Arnott. All rights reserved. +// <copyright file="PolicyRequestTests.cs" company="Outercurve Foundation"> +// Copyright (c) Outercurve Foundation. All rights reserved. // </copyright> //----------------------------------------------------------------------- @@ -17,7 +17,7 @@ namespace DotNetOpenAuth.Test.OpenId.Extensions.ProviderAuthenticationPolicy { [TestFixture] public class PolicyRequestTests : OpenIdTestBase { - [TestCase] + [Test] public void Ctor() { PolicyRequest req = new PolicyRequest(); Assert.IsNull(req.MaximumAuthenticationAge); @@ -25,7 +25,7 @@ namespace DotNetOpenAuth.Test.OpenId.Extensions.ProviderAuthenticationPolicy { Assert.AreEqual(0, req.PreferredPolicies.Count); } - [TestCase] + [Test] public void MaximumAuthenticationAgeTest() { PolicyRequest req = new PolicyRequest(); req.MaximumAuthenticationAge = TimeSpan.FromHours(1); @@ -35,7 +35,7 @@ namespace DotNetOpenAuth.Test.OpenId.Extensions.ProviderAuthenticationPolicy { Assert.IsNull(req.MaximumAuthenticationAge); } - [TestCase] + [Test] public void AddPolicies() { PolicyRequest resp = new PolicyRequest(); resp.PreferredPolicies.Add(AuthenticationPolicies.MultiFactor); @@ -45,7 +45,7 @@ namespace DotNetOpenAuth.Test.OpenId.Extensions.ProviderAuthenticationPolicy { Assert.AreEqual(AuthenticationPolicies.PhishingResistant, resp.PreferredPolicies[1]); } - [TestCase] + [Test] public void AddPolicyMultipleTimes() { // Although this isn't really the desired behavior (we'd prefer to see an // exception thrown), since we're using a List<string> internally we can't @@ -57,7 +57,7 @@ namespace DotNetOpenAuth.Test.OpenId.Extensions.ProviderAuthenticationPolicy { Assert.AreEqual(2, resp.PreferredPolicies.Count); } - [TestCase] + [Test] public void AddAuthLevelTypes() { PolicyRequest req = new PolicyRequest(); req.PreferredAuthLevelTypes.Add(Constants.AssuranceLevels.NistTypeUri); @@ -65,7 +65,7 @@ namespace DotNetOpenAuth.Test.OpenId.Extensions.ProviderAuthenticationPolicy { Assert.IsTrue(req.PreferredAuthLevelTypes.Contains(Constants.AssuranceLevels.NistTypeUri)); } - [TestCase] + [Test] public void EqualsTest() { PolicyRequest req = new PolicyRequest(); PolicyRequest req2 = new PolicyRequest(); @@ -104,7 +104,7 @@ namespace DotNetOpenAuth.Test.OpenId.Extensions.ProviderAuthenticationPolicy { Assert.AreEqual(req, req2); } - [TestCase] + [Test] public void Serialize() { PolicyRequest req = new PolicyRequest(); IMessageWithEvents reqEvents = req; diff --git a/src/DotNetOpenAuth.Test/OpenId/Extensions/ProviderAuthenticationPolicy/PolicyResponseTests.cs b/src/DotNetOpenAuth.Test/OpenId/Extensions/ProviderAuthenticationPolicy/PolicyResponseTests.cs index 7491e21..8126d65 100644 --- a/src/DotNetOpenAuth.Test/OpenId/Extensions/ProviderAuthenticationPolicy/PolicyResponseTests.cs +++ b/src/DotNetOpenAuth.Test/OpenId/Extensions/ProviderAuthenticationPolicy/PolicyResponseTests.cs @@ -1,6 +1,6 @@ //----------------------------------------------------------------------- -// <copyright file="PolicyResponseTests.cs" company="Andrew Arnott"> -// Copyright (c) Andrew Arnott. All rights reserved. +// <copyright file="PolicyResponseTests.cs" company="Outercurve Foundation"> +// Copyright (c) Outercurve Foundation. All rights reserved. // </copyright> //----------------------------------------------------------------------- @@ -20,7 +20,7 @@ namespace DotNetOpenAuth.Test.OpenId.Extensions.ProviderAuthenticationPolicy { private static readonly DateTime someUtcTime = new DateTime(2008, 1, 1, 1, 1, 1, 0, DateTimeKind.Utc); private static readonly DateTime someUnspecifiedTime = new DateTime(2008, 1, 1, 1, 1, 1, 0, DateTimeKind.Unspecified); - [TestCase] + [Test] public void Ctor() { PolicyResponse resp = new PolicyResponse(); Assert.IsNotNull(resp.ActualPolicies); @@ -29,7 +29,7 @@ namespace DotNetOpenAuth.Test.OpenId.Extensions.ProviderAuthenticationPolicy { Assert.IsNull(resp.NistAssuranceLevel); } - [TestCase] + [Test] public void AddPolicies() { PolicyResponse resp = new PolicyResponse(); resp.ActualPolicies.Add(AuthenticationPolicies.MultiFactor); @@ -39,7 +39,7 @@ namespace DotNetOpenAuth.Test.OpenId.Extensions.ProviderAuthenticationPolicy { Assert.AreEqual(AuthenticationPolicies.PhishingResistant, resp.ActualPolicies[1]); } - [TestCase] + [Test] public void AddPolicyMultipleTimes() { // Although this isn't really the desired behavior (we'd prefer to see an // exception thrown), since we're using a List<string> internally we can't @@ -51,7 +51,7 @@ namespace DotNetOpenAuth.Test.OpenId.Extensions.ProviderAuthenticationPolicy { Assert.AreEqual(2, resp.ActualPolicies.Count); } - [TestCase] + [Test] public void AuthenticationTimeUtcConvertsToUtc() { PolicyResponse resp = new PolicyResponse(); resp.AuthenticationTimeUtc = someLocalTime; @@ -60,7 +60,7 @@ namespace DotNetOpenAuth.Test.OpenId.Extensions.ProviderAuthenticationPolicy { Assert.AreEqual(someLocalTime.ToUniversalTime(), resp.AuthenticationTimeUtc.Value); } - [TestCase] + [Test] public void AuthenticationTimeUtcSetUtc() { PolicyResponse resp = new PolicyResponse(); resp.AuthenticationTimeUtc = someUtcTime; @@ -73,7 +73,7 @@ namespace DotNetOpenAuth.Test.OpenId.Extensions.ProviderAuthenticationPolicy { resp.AuthenticationTimeUtc = someUnspecifiedTime; } - [TestCase] + [Test] public void AuthenticationTimeUtcSetNull() { PolicyResponse resp = new PolicyResponse(); resp.AuthenticationTimeUtc = null; @@ -84,7 +84,7 @@ namespace DotNetOpenAuth.Test.OpenId.Extensions.ProviderAuthenticationPolicy { Assert.IsNull(resp.AuthenticationTimeUtc); } - [TestCase] + [Test] public void NistAssuranceLevelSetVarious() { PolicyResponse resp = new PolicyResponse(); resp.NistAssuranceLevel = NistAssuranceLevel.Level1; @@ -95,7 +95,7 @@ namespace DotNetOpenAuth.Test.OpenId.Extensions.ProviderAuthenticationPolicy { Assert.AreEqual(NistAssuranceLevel.InsufficientForLevel1, resp.NistAssuranceLevel); } - [TestCase] + [Test] public void AssuranceLevels() { PolicyResponse resp = new PolicyResponse(); Assert.AreEqual(0, resp.AssuranceLevels.Count); @@ -108,7 +108,7 @@ namespace DotNetOpenAuth.Test.OpenId.Extensions.ProviderAuthenticationPolicy { Assert.IsNull(resp.NistAssuranceLevel); } - [TestCase] + [Test] public void EqualsTest() { PolicyResponse resp = new PolicyResponse(); PolicyResponse resp2 = new PolicyResponse(); @@ -164,7 +164,7 @@ namespace DotNetOpenAuth.Test.OpenId.Extensions.ProviderAuthenticationPolicy { Assert.AreEqual(resp, resp2); } - [TestCase] + [Test] public void Serialize() { PolicyResponse resp = new PolicyResponse(); IMessageWithEvents respEvents = resp; diff --git a/src/DotNetOpenAuth.Test/OpenId/Extensions/SimpleRegistration/ClaimsRequestTests.cs b/src/DotNetOpenAuth.Test/OpenId/Extensions/SimpleRegistration/ClaimsRequestTests.cs index f7a948e..6be02e7 100644 --- a/src/DotNetOpenAuth.Test/OpenId/Extensions/SimpleRegistration/ClaimsRequestTests.cs +++ b/src/DotNetOpenAuth.Test/OpenId/Extensions/SimpleRegistration/ClaimsRequestTests.cs @@ -1,6 +1,6 @@ //----------------------------------------------------------------------- -// <copyright file="ClaimsRequestTests.cs" company="Andrew Arnott"> -// Copyright (c) Andrew Arnott. All rights reserved. +// <copyright file="ClaimsRequestTests.cs" company="Outercurve Foundation"> +// Copyright (c) Outercurve Foundation. All rights reserved. // </copyright> //----------------------------------------------------------------------- @@ -12,7 +12,7 @@ namespace DotNetOpenAuth.Test.OpenId.Extensions { [TestFixture] public class ClaimsRequestTests : OpenIdTestBase { - [TestCase] + [Test] public void CreateResponse() { // some unofficial type URIs... this.ParameterizedTypeUriPreservedTest("http://openid.net/sreg/1.0"); @@ -21,7 +21,7 @@ namespace DotNetOpenAuth.Test.OpenId.Extensions { this.ParameterizedTypeUriPreservedTest("http://openid.net/extensions/sreg/1.1"); } - [TestCase] + [Test] public void RequiredOptionalLists() { ClaimsRequest req = new ClaimsRequest(); MessageDictionary dictionary = this.MessageDescriptions.GetAccessor(req); @@ -39,7 +39,7 @@ namespace DotNetOpenAuth.Test.OpenId.Extensions { Assert.AreEqual("nickname,postcode", dictionary["required"]); } - [TestCase] + [Test] public void EqualityTests() { ClaimsRequest req1 = new ClaimsRequest(); ClaimsRequest req2 = new ClaimsRequest(); diff --git a/src/DotNetOpenAuth.Test/OpenId/Extensions/SimpleRegistration/ClaimsResponseTests.cs b/src/DotNetOpenAuth.Test/OpenId/Extensions/SimpleRegistration/ClaimsResponseTests.cs index 69bb935..1b2c2ec 100644 --- a/src/DotNetOpenAuth.Test/OpenId/Extensions/SimpleRegistration/ClaimsResponseTests.cs +++ b/src/DotNetOpenAuth.Test/OpenId/Extensions/SimpleRegistration/ClaimsResponseTests.cs @@ -1,6 +1,6 @@ //----------------------------------------------------------------------- -// <copyright file="ClaimsResponseTests.cs" company="Andrew Arnott"> -// Copyright (c) Andrew Arnott. All rights reserved. +// <copyright file="ClaimsResponseTests.cs" company="Outercurve Foundation"> +// Copyright (c) Outercurve Foundation. All rights reserved. // </copyright> //----------------------------------------------------------------------- @@ -17,7 +17,7 @@ namespace DotNetOpenAuth.Test.OpenId.Extensions { [TestFixture] public class ClaimsResponseTests { - [TestCase] + [Test] public void EmptyMailAddress() { ClaimsResponse response = new ClaimsResponse(Constants.sreg_ns); response.Email = string.Empty; @@ -48,7 +48,7 @@ namespace DotNetOpenAuth.Test.OpenId.Extensions { Assert.AreEqual(fields, fields2); } - [TestCase] + [Test] public void EqualityTest() { ClaimsResponse fields1 = this.GetFilledData(); @@ -96,7 +96,7 @@ namespace DotNetOpenAuth.Test.OpenId.Extensions { Assert.AreNotEqual(fields1, fields2); } - [TestCase] + [Test] public void Birthdates() { var response = new ClaimsResponse(); // Verify that they both start out as null @@ -131,7 +131,7 @@ namespace DotNetOpenAuth.Test.OpenId.Extensions { response.BirthDateRaw = "2008"; } - [TestCase] + [Test] public void ResponseAlternateTypeUriTests() { var request = new ClaimsRequest(Constants.sreg_ns10); request.Email = DemandLevel.Require; diff --git a/src/DotNetOpenAuth.Test/OpenId/Extensions/UI/UIRequestTests.cs b/src/DotNetOpenAuth.Test/OpenId/Extensions/UI/UIRequestTests.cs index 389fa5d..97a8545 100644 --- a/src/DotNetOpenAuth.Test/OpenId/Extensions/UI/UIRequestTests.cs +++ b/src/DotNetOpenAuth.Test/OpenId/Extensions/UI/UIRequestTests.cs @@ -1,6 +1,6 @@ //----------------------------------------------------------------------- -// <copyright file="UIRequestTests.cs" company="Andrew Arnott"> -// Copyright (c) Andrew Arnott. All rights reserved. +// <copyright file="UIRequestTests.cs" company="Outercurve Foundation"> +// Copyright (c) Outercurve Foundation. All rights reserved. // </copyright> //----------------------------------------------------------------------- @@ -12,7 +12,7 @@ namespace DotNetOpenAuth.Test.OpenId.Extensions.UI { [TestFixture] public class UIRequestTests : OpenIdTestBase { - [TestCase] + [Test] public void Defaults() { var request = new UIRequest(); Assert.AreEqual("popup", request.Mode); @@ -21,7 +21,7 @@ namespace DotNetOpenAuth.Test.OpenId.Extensions.UI { Assert.IsFalse(request.Icon.HasValue); } - [TestCase] + [Test] public void IconEncodingDecoding() { var request = new UIRequest(); @@ -37,7 +37,7 @@ namespace DotNetOpenAuth.Test.OpenId.Extensions.UI { Assert.AreEqual("true", dictionary["icon"]); } - [TestCase] + [Test] public void LanguagePreferenceEncodingDecoding() { var request = new UIRequest(); MessageDictionary dictionary = this.MessageDescriptions.GetAccessor(request); @@ -59,7 +59,7 @@ namespace DotNetOpenAuth.Test.OpenId.Extensions.UI { Assert.AreEqual(new CultureInfo("es-ES"), request.LanguagePreference[1]); } - [TestCase] + [Test] public void ModeEncoding() { var request = new UIRequest(); MessageDictionary dictionary = this.MessageDescriptions.GetAccessor(request); diff --git a/src/DotNetOpenAuth.Test/OpenId/IdentifierTests.cs b/src/DotNetOpenAuth.Test/OpenId/IdentifierTests.cs index 5d3a15e..ee9ad6b 100644 --- a/src/DotNetOpenAuth.Test/OpenId/IdentifierTests.cs +++ b/src/DotNetOpenAuth.Test/OpenId/IdentifierTests.cs @@ -1,6 +1,6 @@ //----------------------------------------------------------------------- -// <copyright file="IdentifierTests.cs" company="Andrew Arnott"> -// Copyright (c) Andrew Arnott. All rights reserved. +// <copyright file="IdentifierTests.cs" company="Outercurve Foundation"> +// Copyright (c) Outercurve Foundation. All rights reserved. // </copyright> //----------------------------------------------------------------------- @@ -18,14 +18,14 @@ namespace DotNetOpenAuth.Test.OpenId { private string uriHttps = "https://www.yahoo.com/"; private string xri = "=arnott*andrew"; - [TestCase] + [Test] public void TryParseNoThrow() { Identifier id; Assert.IsFalse(Identifier.TryParse(null, out id)); Assert.IsFalse(Identifier.TryParse(string.Empty, out id)); } - [TestCase] + [Test] public void TryParse() { Identifier id; Assert.IsTrue(Identifier.TryParse("http://host/path", out id)); @@ -34,7 +34,7 @@ namespace DotNetOpenAuth.Test.OpenId { Assert.AreEqual("=arnott", id.ToString()); } - [TestCase] + [Test] public void Parse() { Assert.IsInstanceOf<UriIdentifier>(Identifier.Parse(this.uri)); Assert.IsInstanceOf<XriIdentifier>(Identifier.Parse(this.xri)); @@ -43,7 +43,7 @@ namespace DotNetOpenAuth.Test.OpenId { /// <summary> /// Tests conformance with 2.0 spec section 7.2#2 /// </summary> - [TestCase] + [Test] public void ParseEndUserSuppliedXriIdentifer() { List<char> symbols = new List<char>(XriIdentifier.GlobalContextSymbols); symbols.Add('('); @@ -59,7 +59,7 @@ namespace DotNetOpenAuth.Test.OpenId { /// <summary> /// Verifies conformance with 2.0 spec section 7.2#3 /// </summary> - [TestCase] + [Test] public void ParseEndUserSuppliedUriIdentifier() { // verify a fully-qualified Uri var id = Identifier.Parse(this.uri); diff --git a/src/DotNetOpenAuth.Test/OpenId/Messages/AssociateDiffieHellmanRequestTests.cs b/src/DotNetOpenAuth.Test/OpenId/Messages/AssociateDiffieHellmanRequestTests.cs index b091062..fd10b15 100644 --- a/src/DotNetOpenAuth.Test/OpenId/Messages/AssociateDiffieHellmanRequestTests.cs +++ b/src/DotNetOpenAuth.Test/OpenId/Messages/AssociateDiffieHellmanRequestTests.cs @@ -1,6 +1,6 @@ //----------------------------------------------------------------------- -// <copyright file="AssociateDiffieHellmanRequestTests.cs" company="Andrew Arnott"> -// Copyright (c) Andrew Arnott. All rights reserved. +// <copyright file="AssociateDiffieHellmanRequestTests.cs" company="Outercurve Foundation"> +// Copyright (c) Outercurve Foundation. All rights reserved. // </copyright> //----------------------------------------------------------------------- @@ -20,12 +20,12 @@ namespace DotNetOpenAuth.Test.OpenId.Messages { this.request = new AssociateDiffieHellmanRequest(Protocol.V20.Version, Recipient); } - [TestCase] + [Test] public void Ctor() { Assert.AreEqual(Recipient, this.request.Recipient); } - [TestCase] + [Test] public void Mode() { Assert.AreEqual("associate", this.request.Mode); } diff --git a/src/DotNetOpenAuth.Test/OpenId/Messages/AssociateRequestTests.cs b/src/DotNetOpenAuth.Test/OpenId/Messages/AssociateRequestTests.cs index 2d40f76..72931c5 100644 --- a/src/DotNetOpenAuth.Test/OpenId/Messages/AssociateRequestTests.cs +++ b/src/DotNetOpenAuth.Test/OpenId/Messages/AssociateRequestTests.cs @@ -1,6 +1,6 @@ //----------------------------------------------------------------------- -// <copyright file="AssociateRequestTests.cs" company="Andrew Arnott"> -// Copyright (c) Andrew Arnott. All rights reserved. +// <copyright file="AssociateRequestTests.cs" company="Outercurve Foundation"> +// Copyright (c) Outercurve Foundation. All rights reserved. // </copyright> //----------------------------------------------------------------------- @@ -25,17 +25,17 @@ namespace DotNetOpenAuth.Test.OpenId.Messages { this.request = new AssociateUnencryptedRequest(this.protocol.Version, this.secureRecipient); } - [TestCase] + [Test] public void ConstructorTest() { Assert.AreEqual(this.secureRecipient, this.request.Recipient); } - [TestCase] + [Test] public void Mode() { Assert.AreEqual(this.protocol.Args.Mode.associate, this.request.Mode); } - [TestCase] + [Test] public void MessagePartsTest() { this.request.AssociationType = this.protocol.Args.SignatureAlgorithm.HMAC_SHA1; this.request.SessionType = this.protocol.Args.SessionType.NoEncryption; @@ -51,7 +51,7 @@ namespace DotNetOpenAuth.Test.OpenId.Messages { Assert.AreEqual(this.protocol.Args.SessionType.NoEncryption, dict[this.protocol.openid.session_type]); } - [TestCase] + [Test] public void ValidMessageTest() { this.request = new AssociateUnencryptedRequest(Protocol.V20.Version, this.secureRecipient); this.request.AssociationType = this.protocol.Args.SignatureAlgorithm.HMAC_SHA1; @@ -65,12 +65,12 @@ namespace DotNetOpenAuth.Test.OpenId.Messages { this.request.EnsureValidMessage(); // no-encryption only allowed for secure channels. } - [TestCase] + [Test] public void RequiredProtection() { Assert.AreEqual(MessageProtections.None, this.request.RequiredProtection); } - [TestCase] + [Test] public void Transport() { Assert.AreEqual(MessageTransport.Direct, this.request.Transport); } @@ -78,7 +78,7 @@ namespace DotNetOpenAuth.Test.OpenId.Messages { /// <summary> /// Verifies security settings limit RP's initial associate request /// </summary> - [TestCase] + [Test] public void AssociateRequestDeterminedBySecuritySettings() { Protocol protocol = Protocol.V20; SecuritySettings securitySettings = new RelyingPartySecuritySettings(); diff --git a/src/DotNetOpenAuth.Test/OpenId/Messages/AssociateUnencryptedResponseTests.cs b/src/DotNetOpenAuth.Test/OpenId/Messages/AssociateUnencryptedResponseTests.cs index 37be1cb..99a0ed9 100644 --- a/src/DotNetOpenAuth.Test/OpenId/Messages/AssociateUnencryptedResponseTests.cs +++ b/src/DotNetOpenAuth.Test/OpenId/Messages/AssociateUnencryptedResponseTests.cs @@ -1,6 +1,6 @@ //----------------------------------------------------------------------- -// <copyright file="AssociateUnencryptedResponseTests.cs" company="Andrew Arnott"> -// Copyright (c) Andrew Arnott. All rights reserved. +// <copyright file="AssociateUnencryptedResponseTests.cs" company="Outercurve Foundation"> +// Copyright (c) Outercurve Foundation. All rights reserved. // </copyright> //----------------------------------------------------------------------- @@ -22,7 +22,7 @@ namespace DotNetOpenAuth.Test.OpenId.Messages { this.response = new AssociateUnencryptedResponse(request.Version, request); } - [TestCase] + [Test] public void ParameterNames() { this.response.AssociationHandle = "HANDLE"; this.response.AssociationType = "HMAC-SHA1"; @@ -38,12 +38,12 @@ namespace DotNetOpenAuth.Test.OpenId.Messages { Assert.AreEqual("50", fields["expires_in"]); } - [TestCase] + [Test] public void RequiredProtection() { Assert.AreEqual(MessageProtections.None, this.response.RequiredProtection); } - [TestCase] + [Test] public void Transport() { Assert.AreEqual(MessageTransport.Direct, this.response.Transport); } diff --git a/src/DotNetOpenAuth.Test/OpenId/Messages/AssociateUnsuccessfulResponseTests.cs b/src/DotNetOpenAuth.Test/OpenId/Messages/AssociateUnsuccessfulResponseTests.cs index 9b76473..6b06dc8 100644 --- a/src/DotNetOpenAuth.Test/OpenId/Messages/AssociateUnsuccessfulResponseTests.cs +++ b/src/DotNetOpenAuth.Test/OpenId/Messages/AssociateUnsuccessfulResponseTests.cs @@ -1,6 +1,6 @@ //----------------------------------------------------------------------- -// <copyright file="AssociateUnsuccessfulResponseTests.cs" company="Andrew Arnott"> -// Copyright (c) Andrew Arnott. All rights reserved. +// <copyright file="AssociateUnsuccessfulResponseTests.cs" company="Outercurve Foundation"> +// Copyright (c) Outercurve Foundation. All rights reserved. // </copyright> //----------------------------------------------------------------------- @@ -22,7 +22,7 @@ namespace DotNetOpenAuth.Test.OpenId.Messages { this.response = new AssociateUnsuccessfulResponse(request.Version, request); } - [TestCase] + [Test] public void ParameterNames() { this.response.ErrorMessage = "Some Error"; this.response.AssociationType = "HMAC-SHA1"; diff --git a/src/DotNetOpenAuth.Test/OpenId/Messages/CheckAuthenticationRequestTests.cs b/src/DotNetOpenAuth.Test/OpenId/Messages/CheckAuthenticationRequestTests.cs index d2d2cc4..79723ff 100644 --- a/src/DotNetOpenAuth.Test/OpenId/Messages/CheckAuthenticationRequestTests.cs +++ b/src/DotNetOpenAuth.Test/OpenId/Messages/CheckAuthenticationRequestTests.cs @@ -1,6 +1,6 @@ //----------------------------------------------------------------------- -// <copyright file="CheckAuthenticationRequestTests.cs" company="Andrew Arnott"> -// Copyright (c) Andrew Arnott. All rights reserved. +// <copyright file="CheckAuthenticationRequestTests.cs" company="Outercurve Foundation"> +// Copyright (c) Outercurve Foundation. All rights reserved. // </copyright> //----------------------------------------------------------------------- @@ -22,7 +22,7 @@ namespace DotNetOpenAuth.Test.OpenId.Messages { /// and cause the authentication to inappropriately fail. /// Designed to verify fix to Trac #198. /// </remarks> - [TestCase] + [Test] public void ExactPositiveAssertionPreservation() { var rp = CreateRelyingParty(true); diff --git a/src/DotNetOpenAuth.Test/OpenId/Messages/CheckAuthenticationResponseTests.cs b/src/DotNetOpenAuth.Test/OpenId/Messages/CheckAuthenticationResponseTests.cs index cbe6638..b8adc1f 100644 --- a/src/DotNetOpenAuth.Test/OpenId/Messages/CheckAuthenticationResponseTests.cs +++ b/src/DotNetOpenAuth.Test/OpenId/Messages/CheckAuthenticationResponseTests.cs @@ -1,6 +1,6 @@ //----------------------------------------------------------------------- -// <copyright file="CheckAuthenticationResponseTests.cs" company="Andrew Arnott"> -// Copyright (c) Andrew Arnott. All rights reserved. +// <copyright file="CheckAuthenticationResponseTests.cs" company="Outercurve Foundation"> +// Copyright (c) Outercurve Foundation. All rights reserved. // </copyright> //----------------------------------------------------------------------- @@ -21,7 +21,7 @@ namespace DotNetOpenAuth.Test.OpenId.Messages { base.SetUp(); } - [TestCase] + [Test] public void IsValid() { Protocol protocol = Protocol.Default; var request = new CheckAuthenticationRequest(protocol.Version, OPUri); diff --git a/src/DotNetOpenAuth.Test/OpenId/Messages/CheckIdRequestTests.cs b/src/DotNetOpenAuth.Test/OpenId/Messages/CheckIdRequestTests.cs index e33a191..7289ed9 100644 --- a/src/DotNetOpenAuth.Test/OpenId/Messages/CheckIdRequestTests.cs +++ b/src/DotNetOpenAuth.Test/OpenId/Messages/CheckIdRequestTests.cs @@ -1,6 +1,6 @@ //----------------------------------------------------------------------- -// <copyright file="CheckIdRequestTests.cs" company="Andrew Arnott"> -// Copyright (c) Andrew Arnott. All rights reserved. +// <copyright file="CheckIdRequestTests.cs" company="Outercurve Foundation"> +// Copyright (c) Outercurve Foundation. All rights reserved. // </copyright> //----------------------------------------------------------------------- diff --git a/src/DotNetOpenAuth.Test/OpenId/Messages/DirectErrorResponseTests.cs b/src/DotNetOpenAuth.Test/OpenId/Messages/DirectErrorResponseTests.cs index 039748f..d5de6b2 100644 --- a/src/DotNetOpenAuth.Test/OpenId/Messages/DirectErrorResponseTests.cs +++ b/src/DotNetOpenAuth.Test/OpenId/Messages/DirectErrorResponseTests.cs @@ -1,6 +1,6 @@ //----------------------------------------------------------------------- -// <copyright file="DirectErrorResponseTests.cs" company="Andrew Arnott"> -// Copyright (c) Andrew Arnott. All rights reserved. +// <copyright file="DirectErrorResponseTests.cs" company="Outercurve Foundation"> +// Copyright (c) Outercurve Foundation. All rights reserved. // </copyright> //----------------------------------------------------------------------- @@ -24,7 +24,7 @@ namespace DotNetOpenAuth.Test.OpenId.Messages { this.response = new DirectErrorResponse(request.Version, request); } - [TestCase] + [Test] public void ParameterNames() { this.response.ErrorMessage = "Some Error"; this.response.Contact = "Andrew Arnott"; @@ -42,7 +42,7 @@ namespace DotNetOpenAuth.Test.OpenId.Messages { /// Verifies that error messages are created as HTTP 400 errors, /// per OpenID 2.0 section 5.1.2.2. /// </summary> - [TestCase] + [Test] public void ErrorMessagesAsHttp400() { var httpStatusMessage = (IHttpDirectResponse)this.response; Assert.AreEqual(HttpStatusCode.BadRequest, httpStatusMessage.HttpStatusCode); diff --git a/src/DotNetOpenAuth.Test/OpenId/Messages/IndirectErrorResponseTests.cs b/src/DotNetOpenAuth.Test/OpenId/Messages/IndirectErrorResponseTests.cs index c9fb535..fd4953a 100644 --- a/src/DotNetOpenAuth.Test/OpenId/Messages/IndirectErrorResponseTests.cs +++ b/src/DotNetOpenAuth.Test/OpenId/Messages/IndirectErrorResponseTests.cs @@ -1,6 +1,6 @@ //----------------------------------------------------------------------- -// <copyright file="IndirectErrorResponseTests.cs" company="Andrew Arnott"> -// Copyright (c) Andrew Arnott. All rights reserved. +// <copyright file="IndirectErrorResponseTests.cs" company="Outercurve Foundation"> +// Copyright (c) Outercurve Foundation. All rights reserved. // </copyright> //----------------------------------------------------------------------- @@ -23,12 +23,12 @@ namespace DotNetOpenAuth.Test.OpenId.Messages { this.response = new IndirectErrorResponse(request); } - [TestCase] + [Test] public void Ctor() { Assert.AreEqual(RPUri, this.response.Recipient); } - [TestCase] + [Test] public void ParameterNames() { this.response.ErrorMessage = "Some Error"; this.response.Contact = "Andrew Arnott"; diff --git a/src/DotNetOpenAuth.Test/OpenId/Messages/IndirectSignedResponseTests.cs b/src/DotNetOpenAuth.Test/OpenId/Messages/IndirectSignedResponseTests.cs index 848c849..ac49a14 100644 --- a/src/DotNetOpenAuth.Test/OpenId/Messages/IndirectSignedResponseTests.cs +++ b/src/DotNetOpenAuth.Test/OpenId/Messages/IndirectSignedResponseTests.cs @@ -1,6 +1,6 @@ //----------------------------------------------------------------------- -// <copyright file="IndirectSignedResponseTests.cs" company="Andrew Arnott"> -// Copyright (c) Andrew Arnott. All rights reserved. +// <copyright file="IndirectSignedResponseTests.cs" company="Outercurve Foundation"> +// Copyright (c) Outercurve Foundation. All rights reserved. // </copyright> //----------------------------------------------------------------------- @@ -39,7 +39,7 @@ namespace DotNetOpenAuth.Test.OpenId.Messages { this.unsolicited = new IndirectSignedResponse(this.protocol.Version, RPUri); } - [TestCase] + [Test] public void CtorFromRequest() { Assert.AreEqual(this.protocol.Args.Mode.id_res, this.response.Mode); Assert.AreEqual(this.request.Version, this.response.Version); @@ -48,7 +48,7 @@ namespace DotNetOpenAuth.Test.OpenId.Messages { Assert.IsTrue(DateTime.UtcNow - ((ITamperResistantOpenIdMessage)this.response).UtcCreationDate < TimeSpan.FromSeconds(5)); } - [TestCase] + [Test] public void CtorUnsolicited() { Assert.AreEqual(this.protocol.Args.Mode.id_res, this.unsolicited.Mode); Assert.AreEqual(this.protocol.Version, this.unsolicited.Version); @@ -60,7 +60,7 @@ namespace DotNetOpenAuth.Test.OpenId.Messages { Assert.AreEqual(OPUri, this.unsolicited.ProviderEndpoint); } - [TestCase] + [Test] public void ResponseNonceSetter() { const string HybridValue = CreationDateString + "UNIQUE"; IReplayProtectedProtocolMessage responseReplay = this.response; @@ -73,7 +73,7 @@ namespace DotNetOpenAuth.Test.OpenId.Messages { Assert.IsNull(responseReplay.Nonce); } - [TestCase] + [Test] public void ResponseNonceGetter() { IReplayProtectedProtocolMessage responseReplay = this.response; responseReplay.Nonce = "UnIqUe"; @@ -84,7 +84,7 @@ namespace DotNetOpenAuth.Test.OpenId.Messages { Assert.AreEqual(this.creationDate, responseReplay.UtcCreationDate); } - [TestCase] + [Test] public void UtcCreationDateConvertsToUniversal() { IReplayProtectedProtocolMessage responseReplay = this.response; DateTime local = DateTime.Parse("1982-01-01", CultureInfo.InvariantCulture, DateTimeStyles.AssumeLocal); @@ -107,7 +107,7 @@ namespace DotNetOpenAuth.Test.OpenId.Messages { Assert.AreEqual(this.creationDate.Hour, utcCreationDate.Hour, "The hour should match since both times are UTC time."); } - [TestCase] + [Test] public void ReturnToDoesNotMatchRecipient() { // Make sure its valid first, so we know that when it's invalid // it is due to our tampering. @@ -135,14 +135,14 @@ namespace DotNetOpenAuth.Test.OpenId.Messages { this.response.GetReturnToArgument(string.Empty); } - [TestCase] + [Test] public void GetReturnToArgumentDoesNotReturnExtraArgs() { this.response.ExtraData["a"] = "b"; Assert.IsNull(this.response.GetReturnToArgument("a")); Assert.AreEqual(0, this.response.GetReturnToParameterNames().Count()); } - [TestCase] + [Test] public void GetReturnToArgumentAndNames() { UriBuilder returnToBuilder = new UriBuilder(this.response.ReturnTo); returnToBuilder.AppendQueryArgs(new Dictionary<string, string> { { "a", "b" } }); diff --git a/src/DotNetOpenAuth.Test/OpenId/Messages/NegativeAssertionResponseTests.cs b/src/DotNetOpenAuth.Test/OpenId/Messages/NegativeAssertionResponseTests.cs index c35780d..76178b0 100644 --- a/src/DotNetOpenAuth.Test/OpenId/Messages/NegativeAssertionResponseTests.cs +++ b/src/DotNetOpenAuth.Test/OpenId/Messages/NegativeAssertionResponseTests.cs @@ -1,6 +1,6 @@ //----------------------------------------------------------------------- -// <copyright file="NegativeAssertionResponseTests.cs" company="Andrew Arnott"> -// Copyright (c) Andrew Arnott. All rights reserved. +// <copyright file="NegativeAssertionResponseTests.cs" company="Outercurve Foundation"> +// Copyright (c) Outercurve Foundation. All rights reserved. // </copyright> //----------------------------------------------------------------------- @@ -22,7 +22,7 @@ namespace DotNetOpenAuth.Test.OpenId.Messages { base.SetUp(); } - [TestCase] + [Test] public void Mode() { var setupRequestV1 = new CheckIdRequest(Protocol.V10.Version, OPUri, AuthenticationRequestMode.Setup); setupRequestV1.ReturnTo = RPUri; @@ -52,7 +52,7 @@ namespace DotNetOpenAuth.Test.OpenId.Messages { new NegativeAssertionResponse(immediateRequestV1).EnsureValidMessage(); } - [TestCase] + [Test] public void UserSetupUrlSetForV1Immediate() { var immediateRequestV1 = new CheckIdRequest(Protocol.V10.Version, OPUri, AuthenticationRequestMode.Immediate); immediateRequestV1.ReturnTo = RPUri; @@ -61,7 +61,7 @@ namespace DotNetOpenAuth.Test.OpenId.Messages { response.EnsureValidMessage(); } - [TestCase] + [Test] public void UserSetupUrlNotRequiredInV1SetupOrV2() { var setupRequestV1 = new CheckIdRequest(Protocol.V10.Version, OPUri, AuthenticationRequestMode.Setup); setupRequestV1.ReturnTo = RPUri; diff --git a/src/DotNetOpenAuth.Test/OpenId/Messages/PositiveAssertionResponseTests.cs b/src/DotNetOpenAuth.Test/OpenId/Messages/PositiveAssertionResponseTests.cs index 90d24b1..75a5daf 100644 --- a/src/DotNetOpenAuth.Test/OpenId/Messages/PositiveAssertionResponseTests.cs +++ b/src/DotNetOpenAuth.Test/OpenId/Messages/PositiveAssertionResponseTests.cs @@ -1,6 +1,6 @@ //----------------------------------------------------------------------- -// <copyright file="PositiveAssertionResponseTests.cs" company="Andrew Arnott"> -// Copyright (c) Andrew Arnott. All rights reserved. +// <copyright file="PositiveAssertionResponseTests.cs" company="Outercurve Foundation"> +// Copyright (c) Outercurve Foundation. All rights reserved. // </copyright> //----------------------------------------------------------------------- @@ -38,7 +38,7 @@ namespace DotNetOpenAuth.Test.OpenId.Messages { this.unsolicited = new PositiveAssertionResponse(this.protocol.Version, RPUri); } - [TestCase] + [Test] public void CtorFromRequest() { Assert.AreEqual(this.protocol.Args.Mode.id_res, this.response.Mode); Assert.AreEqual(this.request.Version, this.response.Version); @@ -46,7 +46,7 @@ namespace DotNetOpenAuth.Test.OpenId.Messages { Assert.AreEqual(OPUri, this.response.ProviderEndpoint); } - [TestCase] + [Test] public void CtorUnsolicited() { Assert.AreEqual(this.protocol.Args.Mode.id_res, this.unsolicited.Mode); Assert.AreEqual(this.protocol.Version, this.unsolicited.Version); @@ -60,7 +60,7 @@ namespace DotNetOpenAuth.Test.OpenId.Messages { /// <summary> /// Verifies that local_id and claimed_id can either be null or specified. /// </summary> - [TestCase] + [Test] public void ClaimedIdAndLocalIdSpecifiedIsValid() { this.response.LocalIdentifier = "http://local"; this.response.ClaimedIdentifier = "http://claimedid"; diff --git a/src/DotNetOpenAuth.Test/OpenId/Messages/SignedResponseRequestTests.cs b/src/DotNetOpenAuth.Test/OpenId/Messages/SignedResponseRequestTests.cs index bc95f8b..ee660e5 100644 --- a/src/DotNetOpenAuth.Test/OpenId/Messages/SignedResponseRequestTests.cs +++ b/src/DotNetOpenAuth.Test/OpenId/Messages/SignedResponseRequestTests.cs @@ -1,6 +1,6 @@ //----------------------------------------------------------------------- -// <copyright file="SignedResponseRequestTests.cs" company="Andrew Arnott"> -// Copyright (c) Andrew Arnott. All rights reserved. +// <copyright file="SignedResponseRequestTests.cs" company="Outercurve Foundation"> +// Copyright (c) Outercurve Foundation. All rights reserved. // </copyright> //----------------------------------------------------------------------- diff --git a/src/DotNetOpenAuth.Test/OpenId/NonIdentityTests.cs b/src/DotNetOpenAuth.Test/OpenId/NonIdentityTests.cs index 6e3a289..393239b 100644 --- a/src/DotNetOpenAuth.Test/OpenId/NonIdentityTests.cs +++ b/src/DotNetOpenAuth.Test/OpenId/NonIdentityTests.cs @@ -1,6 +1,6 @@ //----------------------------------------------------------------------- -// <copyright file="NonIdentityTests.cs" company="Andrew Arnott"> -// Copyright (c) Andrew Arnott. All rights reserved. +// <copyright file="NonIdentityTests.cs" company="Outercurve Foundation"> +// Copyright (c) Outercurve Foundation. All rights reserved. // </copyright> //----------------------------------------------------------------------- @@ -13,7 +13,7 @@ namespace DotNetOpenAuth.Test.OpenId { [TestFixture] public class NonIdentityTests : OpenIdTestBase { - [TestCase] + [Test] public void ExtensionOnlyChannelLevel() { Protocol protocol = Protocol.V20; AuthenticationRequestMode mode = AuthenticationRequestMode.Setup; @@ -30,7 +30,7 @@ namespace DotNetOpenAuth.Test.OpenId { coordinator.Run(); } - [TestCase] + [Test] public void ExtensionOnlyFacadeLevel() { Protocol protocol = Protocol.V20; var coordinator = new OpenIdCoordinator( diff --git a/src/DotNetOpenAuth.Test/OpenId/OpenIdCoordinator.cs b/src/DotNetOpenAuth.Test/OpenId/OpenIdCoordinator.cs index e5c3c64..41528a7 100644 --- a/src/DotNetOpenAuth.Test/OpenId/OpenIdCoordinator.cs +++ b/src/DotNetOpenAuth.Test/OpenId/OpenIdCoordinator.cs @@ -1,6 +1,6 @@ //----------------------------------------------------------------------- -// <copyright file="OpenIdCoordinator.cs" company="Andrew Arnott"> -// Copyright (c) Andrew Arnott. All rights reserved. +// <copyright file="OpenIdCoordinator.cs" company="Outercurve Foundation"> +// Copyright (c) Outercurve Foundation. All rights reserved. // </copyright> //----------------------------------------------------------------------- diff --git a/src/DotNetOpenAuth.Test/OpenId/OpenIdTestBase.cs b/src/DotNetOpenAuth.Test/OpenId/OpenIdTestBase.cs index 4b96d65..3a27e96 100644 --- a/src/DotNetOpenAuth.Test/OpenId/OpenIdTestBase.cs +++ b/src/DotNetOpenAuth.Test/OpenId/OpenIdTestBase.cs @@ -1,6 +1,6 @@ //----------------------------------------------------------------------- -// <copyright file="OpenIdTestBase.cs" company="Andrew Arnott"> -// Copyright (c) Andrew Arnott. All rights reserved. +// <copyright file="OpenIdTestBase.cs" company="Outercurve Foundation"> +// Copyright (c) Outercurve Foundation. All rights reserved. // </copyright> //----------------------------------------------------------------------- diff --git a/src/DotNetOpenAuth.Test/OpenId/OpenIdUtilitiesTests.cs b/src/DotNetOpenAuth.Test/OpenId/OpenIdUtilitiesTests.cs index fefb852..86c66aa 100644 --- a/src/DotNetOpenAuth.Test/OpenId/OpenIdUtilitiesTests.cs +++ b/src/DotNetOpenAuth.Test/OpenId/OpenIdUtilitiesTests.cs @@ -1,6 +1,6 @@ //----------------------------------------------------------------------- -// <copyright file="OpenIdUtilitiesTests.cs" company="Andrew Arnott"> -// Copyright (c) Andrew Arnott. All rights reserved. +// <copyright file="OpenIdUtilitiesTests.cs" company="Outercurve Foundation"> +// Copyright (c) Outercurve Foundation. All rights reserved. // </copyright> //----------------------------------------------------------------------- diff --git a/src/DotNetOpenAuth.Test/OpenId/Provider/AnonymousRequestTests.cs b/src/DotNetOpenAuth.Test/OpenId/Provider/AnonymousRequestTests.cs index 1df4c9e..9b39522 100644 --- a/src/DotNetOpenAuth.Test/OpenId/Provider/AnonymousRequestTests.cs +++ b/src/DotNetOpenAuth.Test/OpenId/Provider/AnonymousRequestTests.cs @@ -1,6 +1,6 @@ //----------------------------------------------------------------------- -// <copyright file="AnonymousRequestTests.cs" company="Andrew Arnott"> -// Copyright (c) Andrew Arnott. All rights reserved. +// <copyright file="AnonymousRequestTests.cs" company="Outercurve Foundation"> +// Copyright (c) Outercurve Foundation. All rights reserved. // </copyright> //----------------------------------------------------------------------- @@ -16,7 +16,7 @@ namespace DotNetOpenAuth.Test.OpenId.Provider { /// <summary> /// Verifies that IsApproved controls which response message is returned. /// </summary> - [TestCase] + [Test] public void IsApprovedDeterminesReturnedMessage() { var op = CreateProvider(); Protocol protocol = Protocol.V20; diff --git a/src/DotNetOpenAuth.Test/OpenId/Provider/AuthenticationRequestTest.cs b/src/DotNetOpenAuth.Test/OpenId/Provider/AuthenticationRequestTest.cs index d124c7a..2819e40 100644 --- a/src/DotNetOpenAuth.Test/OpenId/Provider/AuthenticationRequestTest.cs +++ b/src/DotNetOpenAuth.Test/OpenId/Provider/AuthenticationRequestTest.cs @@ -1,6 +1,6 @@ //----------------------------------------------------------------------- -// <copyright file="AuthenticationRequestTest.cs" company="Andrew Arnott"> -// Copyright (c) Andrew Arnott. All rights reserved. +// <copyright file="AuthenticationRequestTest.cs" company="Outercurve Foundation"> +// Copyright (c) Outercurve Foundation. All rights reserved. // </copyright> //----------------------------------------------------------------------- @@ -17,7 +17,7 @@ namespace DotNetOpenAuth.Test.OpenId.Provider { /// <summary> /// Verifies the user_setup_url is set properly for immediate negative responses. /// </summary> - [TestCase] + [Test] public void UserSetupUrl() { // Construct a V1 immediate request Protocol protocol = Protocol.V11; diff --git a/src/DotNetOpenAuth.Test/OpenId/Provider/HostProcessedRequestTests.cs b/src/DotNetOpenAuth.Test/OpenId/Provider/HostProcessedRequestTests.cs index 66b2f53..2e3e7ec 100644 --- a/src/DotNetOpenAuth.Test/OpenId/Provider/HostProcessedRequestTests.cs +++ b/src/DotNetOpenAuth.Test/OpenId/Provider/HostProcessedRequestTests.cs @@ -1,6 +1,6 @@ //----------------------------------------------------------------------- -// <copyright file="HostProcessedRequestTests.cs" company="Andrew Arnott"> -// Copyright (c) Andrew Arnott. All rights reserved. +// <copyright file="HostProcessedRequestTests.cs" company="Outercurve Foundation"> +// Copyright (c) Outercurve Foundation. All rights reserved. // </copyright> //----------------------------------------------------------------------- @@ -30,12 +30,12 @@ namespace DotNetOpenAuth.Test.OpenId.Provider { this.request = new AuthenticationRequest(this.provider, this.checkIdRequest); } - [TestCase] + [Test] public void IsReturnUrlDiscoverableNoResponse() { Assert.AreEqual(RelyingPartyDiscoveryResult.NoServiceDocument, this.request.IsReturnUrlDiscoverable(this.provider.Channel.WebRequestHandler)); } - [TestCase] + [Test] public void IsReturnUrlDiscoverableValidResponse() { this.MockResponder.RegisterMockRPDiscovery(); this.request = new AuthenticationRequest(this.provider, this.checkIdRequest); @@ -46,7 +46,7 @@ namespace DotNetOpenAuth.Test.OpenId.Provider { /// Verifies that when discovery would be performed over standard HTTP and RequireSsl /// is set, that discovery fails. /// </summary> - [TestCase] + [Test] public void IsReturnUrlDiscoverableNotSsl() { this.provider.SecuritySettings.RequireSsl = true; this.MockResponder.RegisterMockRPDiscovery(); @@ -56,7 +56,7 @@ namespace DotNetOpenAuth.Test.OpenId.Provider { /// <summary> /// Verifies that when discovery would be performed over HTTPS that discovery succeeds. /// </summary> - [TestCase] + [Test] public void IsReturnUrlDiscoverableRequireSsl() { this.MockResponder.RegisterMockRPDiscovery(); this.checkIdRequest.Realm = RPRealmUriSsl; @@ -73,7 +73,7 @@ namespace DotNetOpenAuth.Test.OpenId.Provider { Assert.AreEqual(RelyingPartyDiscoveryResult.Success, this.request.IsReturnUrlDiscoverable(this.provider.Channel.WebRequestHandler)); } - [TestCase] + [Test] public void IsReturnUrlDiscoverableValidButNoMatch() { this.MockResponder.RegisterMockRPDiscovery(); this.provider.SecuritySettings.RequireSsl = false; // reset for another failure test case diff --git a/src/DotNetOpenAuth.Test/OpenId/Provider/OpenIdProviderTests.cs b/src/DotNetOpenAuth.Test/OpenId/Provider/OpenIdProviderTests.cs index 98cabe9..d981e71 100644 --- a/src/DotNetOpenAuth.Test/OpenId/Provider/OpenIdProviderTests.cs +++ b/src/DotNetOpenAuth.Test/OpenId/Provider/OpenIdProviderTests.cs @@ -1,6 +1,6 @@ //----------------------------------------------------------------------- -// <copyright file="OpenIdProviderTests.cs" company="Andrew Arnott"> -// Copyright (c) Andrew Arnott. All rights reserved. +// <copyright file="OpenIdProviderTests.cs" company="Outercurve Foundation"> +// Copyright (c) Outercurve Foundation. All rights reserved. // </copyright> //----------------------------------------------------------------------- @@ -47,14 +47,14 @@ namespace DotNetOpenAuth.Test.OpenId.Provider { /// <summary> /// Verifies the SecuritySettings property can be set to a new instance. /// </summary> - [TestCase] + [Test] public void SecuritySettings() { var newSettings = new ProviderSecuritySettings(); this.provider.SecuritySettings = newSettings; Assert.AreSame(newSettings, this.provider.SecuritySettings); } - [TestCase] + [Test] public void ExtensionFactories() { var factories = this.provider.ExtensionFactories; Assert.IsNotNull(factories); @@ -65,7 +65,7 @@ namespace DotNetOpenAuth.Test.OpenId.Provider { /// <summary> /// Verifies the Channel property. /// </summary> - [TestCase] + [Test] public void ChannelGetter() { Assert.IsNotNull(this.provider.Channel); } @@ -90,7 +90,7 @@ namespace DotNetOpenAuth.Test.OpenId.Provider { /// <summary> /// Verifies that GetRequest correctly returns the right messages. /// </summary> - [TestCase] + [Test] public void GetRequest() { HttpRequestInfo httpInfo = new HttpRequestInfo(); httpInfo.UrlBeforeRewriting = new Uri("http://someUri"); @@ -110,7 +110,7 @@ namespace DotNetOpenAuth.Test.OpenId.Provider { coordinator.Run(); } - [TestCase] + [Test] public void BadRequestsGenerateValidErrorResponses() { var coordinator = new OpenIdCoordinator( rp => { diff --git a/src/DotNetOpenAuth.Test/OpenId/Provider/PerformanceTests.cs b/src/DotNetOpenAuth.Test/OpenId/Provider/PerformanceTests.cs index 1e15bde..27e65cc 100644 --- a/src/DotNetOpenAuth.Test/OpenId/Provider/PerformanceTests.cs +++ b/src/DotNetOpenAuth.Test/OpenId/Provider/PerformanceTests.cs @@ -1,6 +1,6 @@ //----------------------------------------------------------------------- -// <copyright file="PerformanceTests.cs" company="Andrew Arnott"> -// Copyright (c) Andrew Arnott. All rights reserved. +// <copyright file="PerformanceTests.cs" company="Outercurve Foundation"> +// Copyright (c) Outercurve Foundation. All rights reserved. // </copyright> //----------------------------------------------------------------------- @@ -33,7 +33,7 @@ namespace DotNetOpenAuth.Test.OpenId.Provider { this.provider = CreateProvider(); } - [TestCase] + [Test] public void AssociateDH() { var associateRequest = this.CreateAssociateRequest(OPUri); MeasurePerformance( @@ -46,7 +46,7 @@ namespace DotNetOpenAuth.Test.OpenId.Provider { iterations: 1); } - [TestCase] + [Test] public void AssociateClearText() { var associateRequest = this.CreateAssociateRequest(OPUriSsl); // SSL will cause a plaintext association MeasurePerformance( @@ -59,14 +59,14 @@ namespace DotNetOpenAuth.Test.OpenId.Provider { iterations: 1000); } - [TestCase] + [Test] public void CheckIdSharedHmacSha1Association() { Protocol protocol = Protocol.Default; string assocType = protocol.Args.SignatureAlgorithm.HMAC_SHA1; this.ParameterizedCheckIdTest(protocol, assocType); } - [TestCase] + [Test] public void CheckIdSharedHmacSha256Association() { Protocol protocol = Protocol.Default; string assocType = protocol.Args.SignatureAlgorithm.HMAC_SHA256; diff --git a/src/DotNetOpenAuth.Test/OpenId/ProviderEndpointDescriptionTests.cs b/src/DotNetOpenAuth.Test/OpenId/ProviderEndpointDescriptionTests.cs index 65185fc..783bf1f 100644 --- a/src/DotNetOpenAuth.Test/OpenId/ProviderEndpointDescriptionTests.cs +++ b/src/DotNetOpenAuth.Test/OpenId/ProviderEndpointDescriptionTests.cs @@ -1,6 +1,6 @@ //----------------------------------------------------------------------- -// <copyright file="ProviderEndpointDescriptionTests.cs" company="Andrew Arnott"> -// Copyright (c) Andrew Arnott. All rights reserved. +// <copyright file="ProviderEndpointDescriptionTests.cs" company="Outercurve Foundation"> +// Copyright (c) Outercurve Foundation. All rights reserved. // </copyright> //----------------------------------------------------------------------- @@ -14,7 +14,7 @@ namespace DotNetOpenAuth.Test.OpenId { [TestFixture] public class ProviderEndpointDescriptionTests : OpenIdTestBase { - [TestCase] + [Test] public void NonNullCapabilities() { var epd = new ProviderEndpointDescription(OPUri, Protocol.Default.Version); Assert.IsNotNull(epd.Capabilities); diff --git a/src/DotNetOpenAuth.Test/OpenId/RealmTests.cs b/src/DotNetOpenAuth.Test/OpenId/RealmTests.cs index fceb15a..20f9fe2 100644 --- a/src/DotNetOpenAuth.Test/OpenId/RealmTests.cs +++ b/src/DotNetOpenAuth.Test/OpenId/RealmTests.cs @@ -1,6 +1,6 @@ //----------------------------------------------------------------------- -// <copyright file="RealmTests.cs" company="Andrew Arnott"> -// Copyright (c) Andrew Arnott. All rights reserved. +// <copyright file="RealmTests.cs" company="Outercurve Foundation"> +// Copyright (c) Outercurve Foundation. All rights reserved. // </copyright> //----------------------------------------------------------------------- @@ -11,7 +11,7 @@ namespace DotNetOpenAuth.Test { [TestFixture] public class RealmTests { - [TestCase] + [Test] public void ValidRealmsTest() { // Just create these. If any are determined to be invalid, // an exception should be thrown that would fail this test. @@ -26,67 +26,67 @@ namespace DotNetOpenAuth.Test { new Realm("http://*.guest.myopenid.com/"); } - [TestCase] + [Test] [ExpectedException(typeof(ArgumentNullException))] public void InvalidRealmNullString() { new Realm((string)null); } - [TestCase] + [Test] [ExpectedException(typeof(ArgumentNullException))] public void InvalidRealmNullUri() { new Realm((Uri)null); } - [TestCase] + [Test] [ExpectedException(typeof(UriFormatException))] public void InvalidRealmEmpty() { new Realm(string.Empty); } - [TestCase] + [Test] [ExpectedException(typeof(UriFormatException))] public void InvalidRealmBadProtocol() { new Realm("asdf://www.microsoft.com/"); } - [TestCase] + [Test] [ExpectedException(typeof(UriFormatException))] public void InvalidRealmNoScheme() { new Realm("www.guy.com"); } - [TestCase] + [Test] [ExpectedException(typeof(UriFormatException))] public void InvalidRealmBadWildcard1() { new Realm("http://*www.my.com"); } - [TestCase] + [Test] [ExpectedException(typeof(UriFormatException))] public void InvalidRealmBadWildcard2() { new Realm("http://www.*.com"); } - [TestCase] + [Test] [ExpectedException(typeof(UriFormatException))] public void InvalidRealmBadWildcard3() { new Realm("http://www.my.*/"); } - [TestCase] + [Test] [ExpectedException(typeof(UriFormatException))] public void InvalidRealmTwoWildcards1() { new Realm("http://**.my.com"); } - [TestCase] + [Test] [ExpectedException(typeof(UriFormatException))] public void InvalidRealmTwoWildcards2() { new Realm("http://*.*.my.com"); } - [TestCase] + [Test] public void IsSaneTest() { Assert.IsTrue(new Realm("http://www.myopenid.com").IsSane); Assert.IsTrue(new Realm("http://myopenid.com").IsSane); @@ -98,7 +98,7 @@ namespace DotNetOpenAuth.Test { Assert.IsFalse(new Realm("http://*.co.uk").IsSane); } - [TestCase] + [Test] public void IsUrlWithinRealmTests() { /* * The openid.return_to URL MUST descend from the openid.trust_root, or the @@ -166,7 +166,7 @@ namespace DotNetOpenAuth.Test { Assert.IsFalse(new Realm("http://www.my.com/abc").Contains("http://www.my.com/ABC")); } - [TestCase] + [Test] public void ImplicitConversionFromStringTests() { Realm realm = "http://host"; Assert.AreEqual("host", realm.Host); @@ -174,7 +174,7 @@ namespace DotNetOpenAuth.Test { Assert.IsNull(realm); } - [TestCase] + [Test] public void ImplicitConversionToStringTests() { Realm realm = new Realm("http://host/"); string realmString = realm; @@ -184,7 +184,7 @@ namespace DotNetOpenAuth.Test { Assert.IsNull(realmString); } - [TestCase] + [Test] public void ImplicitConverstionFromUriTests() { Uri uri = new Uri("http://host"); Realm realm = uri; @@ -194,7 +194,7 @@ namespace DotNetOpenAuth.Test { Assert.IsNull(realm); } - [TestCase] + [Test] public void EqualsTest() { Realm testRealm1a = new Realm("http://www.yahoo.com"); Realm testRealm1b = new Realm("http://www.yahoo.com"); diff --git a/src/DotNetOpenAuth.Test/OpenId/RelyingParty/AssociationsTests.cs b/src/DotNetOpenAuth.Test/OpenId/RelyingParty/AssociationsTests.cs index 531fb45..b4113a6 100644 --- a/src/DotNetOpenAuth.Test/OpenId/RelyingParty/AssociationsTests.cs +++ b/src/DotNetOpenAuth.Test/OpenId/RelyingParty/AssociationsTests.cs @@ -1,6 +1,6 @@ //----------------------------------------------------------------------- -// <copyright file="AssociationsTests.cs" company="Andrew Arnott"> -// Copyright (c) Andrew Arnott. All rights reserved. +// <copyright file="AssociationsTests.cs" company="Outercurve Foundation"> +// Copyright (c) Outercurve Foundation. All rights reserved. // </copyright> //----------------------------------------------------------------------- @@ -26,17 +26,17 @@ namespace DotNetOpenAuth.Test.OpenId.RelyingParty { this.assocs = new Associations(); } - [TestCase] + [Test] public void GetNonexistentHandle() { Assert.IsNull(this.assocs.Get("someinvalidhandle")); } - [TestCase] + [Test] public void RemoveNonexistentHandle() { Assert.IsFalse(this.assocs.Remove("someinvalidhandle")); } - [TestCase] + [Test] public void HandleLifecycle() { Association a = HmacShaAssociation.Create( Protocol.Default, @@ -51,7 +51,7 @@ namespace DotNetOpenAuth.Test.OpenId.RelyingParty { Assert.IsFalse(this.assocs.Remove(a.Handle)); } - [TestCase] + [Test] public void Best() { Association a = HmacShaAssociation.Create( Protocol.Default, diff --git a/src/DotNetOpenAuth.Test/OpenId/RelyingParty/AuthenticationRequestTests.cs b/src/DotNetOpenAuth.Test/OpenId/RelyingParty/AuthenticationRequestTests.cs index 793669a..a7e9144 100644 --- a/src/DotNetOpenAuth.Test/OpenId/RelyingParty/AuthenticationRequestTests.cs +++ b/src/DotNetOpenAuth.Test/OpenId/RelyingParty/AuthenticationRequestTests.cs @@ -1,6 +1,6 @@ //----------------------------------------------------------------------- -// <copyright file="AuthenticationRequestTests.cs" company="Andrew Arnott"> -// Copyright (c) Andrew Arnott. All rights reserved. +// <copyright file="AuthenticationRequestTests.cs" company="Outercurve Foundation"> +// Copyright (c) Outercurve Foundation. All rights reserved. // </copyright> //----------------------------------------------------------------------- @@ -36,7 +36,7 @@ namespace DotNetOpenAuth.Test.OpenId.RelyingParty { /// <summary> /// Verifies IsDirectedIdentity returns true when appropriate. /// </summary> - [TestCase] + [Test] public void IsDirectedIdentity() { var iauthRequest = this.CreateAuthenticationRequest(this.claimedId, this.claimedId); Assert.IsFalse(iauthRequest.IsDirectedIdentity); @@ -48,7 +48,7 @@ namespace DotNetOpenAuth.Test.OpenId.RelyingParty { /// <summary> /// Verifies ClaimedIdentifier behavior. /// </summary> - [TestCase] + [Test] public void ClaimedIdentifier() { var iauthRequest = this.CreateAuthenticationRequest(this.claimedId, this.delegatedLocalId); Assert.AreEqual(this.claimedId, iauthRequest.ClaimedIdentifier); @@ -60,7 +60,7 @@ namespace DotNetOpenAuth.Test.OpenId.RelyingParty { /// <summary> /// Verifies ProviderVersion behavior. /// </summary> - [TestCase] + [Test] public void ProviderVersion() { var authRequest = this.CreateAuthenticationRequest(this.claimedId, this.claimedId); Assert.AreEqual(this.protocol.Version, authRequest.DiscoveryResult.Version); @@ -69,7 +69,7 @@ namespace DotNetOpenAuth.Test.OpenId.RelyingParty { /// <summary> /// Verifies RedirectingResponse. /// </summary> - [TestCase] + [Test] public void CreateRequestMessage() { OpenIdCoordinator coordinator = new OpenIdCoordinator( rp => { @@ -107,7 +107,7 @@ namespace DotNetOpenAuth.Test.OpenId.RelyingParty { /// <summary> /// Verifies that delegating authentication requests are filtered out when configured to do so. /// </summary> - [TestCase] + [Test] public void CreateFiltersDelegatingIdentifiers() { Identifier id = GetMockIdentifier(ProtocolVersion.V20, false, true); var rp = CreateRelyingParty(); @@ -123,7 +123,7 @@ namespace DotNetOpenAuth.Test.OpenId.RelyingParty { /// <summary> /// Verifies the Provider property returns non-null. /// </summary> - [TestCase] + [Test] public void Provider() { var authRequest = this.CreateAuthenticationRequest(this.claimedId, this.claimedId); Assert.IsNotNull(authRequest.Provider); @@ -134,7 +134,7 @@ namespace DotNetOpenAuth.Test.OpenId.RelyingParty { /// <summary> /// Verifies that AddCallbackArguments adds query arguments to the return_to URL of the message. /// </summary> - [TestCase] + [Test] public void AddCallbackArgument() { var authRequest = this.CreateAuthenticationRequest(this.claimedId, this.claimedId); Assert.AreEqual(this.returnTo, authRequest.ReturnToUrl); @@ -148,7 +148,7 @@ namespace DotNetOpenAuth.Test.OpenId.RelyingParty { /// Verifies that AddCallbackArguments replaces pre-existing parameter values /// rather than appending them. /// </summary> - [TestCase] + [Test] public void AddCallbackArgumentClearsPreviousArgument() { UriBuilder returnToWithArgs = new UriBuilder(this.returnTo); returnToWithArgs.AppendQueryArgs(new Dictionary<string, string> { { "p1", "v1" } }); @@ -163,7 +163,7 @@ namespace DotNetOpenAuth.Test.OpenId.RelyingParty { /// <summary> /// Verifies identity-less checkid_* request behavior. /// </summary> - [TestCase] + [Test] public void NonIdentityRequest() { var authRequest = this.CreateAuthenticationRequest(this.claimedId, this.claimedId); authRequest.IsExtensionOnly = true; @@ -176,7 +176,7 @@ namespace DotNetOpenAuth.Test.OpenId.RelyingParty { /// Verifies that discovery on identifiers that serve as OP identifiers and claimed identifiers /// only generate OP Identifier auth requests. /// </summary> - [TestCase] + [Test] public void DualIdentifierUsedOnlyAsOPIdentifierForAuthRequest() { var rp = this.CreateRelyingParty(true); var results = AuthenticationRequest.Create(GetMockDualIdentifier(), rp, this.realm, this.returnTo, false).ToList(); diff --git a/src/DotNetOpenAuth.Test/OpenId/RelyingParty/FailedAuthenticationResponseTests.cs b/src/DotNetOpenAuth.Test/OpenId/RelyingParty/FailedAuthenticationResponseTests.cs index 43d056f..1b01b7e 100644 --- a/src/DotNetOpenAuth.Test/OpenId/RelyingParty/FailedAuthenticationResponseTests.cs +++ b/src/DotNetOpenAuth.Test/OpenId/RelyingParty/FailedAuthenticationResponseTests.cs @@ -1,6 +1,6 @@ //----------------------------------------------------------------------- -// <copyright file="FailedAuthenticationResponseTests.cs" company="Andrew Arnott"> -// Copyright (c) Andrew Arnott. All rights reserved. +// <copyright file="FailedAuthenticationResponseTests.cs" company="Outercurve Foundation"> +// Copyright (c) Outercurve Foundation. All rights reserved. // </copyright> //----------------------------------------------------------------------- @@ -32,7 +32,7 @@ namespace DotNetOpenAuth.Test.OpenId.RelyingParty { new FailedAuthenticationResponse(null); } - [TestCase] + [Test] public void CommonProperties() { Assert.AreEqual(AuthenticationStatus.Failed, this.response.Status); Assert.AreSame(this.exception, this.response.Exception); @@ -40,7 +40,7 @@ namespace DotNetOpenAuth.Test.OpenId.RelyingParty { Assert.IsNull(this.response.FriendlyIdentifierForDisplay); } - [TestCase] + [Test] public void CommonMethods() { Assert.IsNull(this.response.GetExtension<ClaimsRequest>()); Assert.IsNull(this.response.GetExtension(typeof(ClaimsRequest))); diff --git a/src/DotNetOpenAuth.Test/OpenId/RelyingParty/IdentifierDiscoveryResultTests.cs b/src/DotNetOpenAuth.Test/OpenId/RelyingParty/IdentifierDiscoveryResultTests.cs index 6d2de71..929a0fb 100644 --- a/src/DotNetOpenAuth.Test/OpenId/RelyingParty/IdentifierDiscoveryResultTests.cs +++ b/src/DotNetOpenAuth.Test/OpenId/RelyingParty/IdentifierDiscoveryResultTests.cs @@ -1,6 +1,6 @@ //----------------------------------------------------------------------- -// <copyright file="IdentifierDiscoveryResultTests.cs" company="Andrew Arnott"> -// Copyright (c) Andrew Arnott. All rights reserved. +// <copyright file="IdentifierDiscoveryResultTests.cs" company="Outercurve Foundation"> +// Copyright (c) Outercurve Foundation. All rights reserved. // </copyright> //----------------------------------------------------------------------- @@ -35,7 +35,7 @@ namespace DotNetOpenAuth.Test.OpenId.RelyingParty { base.SetUp(); } - [TestCase] + [Test] public void Ctor() { IdentifierDiscoveryResult se = IdentifierDiscoveryResult.CreateForClaimedIdentifier(this.claimedId, this.localId, new ProviderEndpointDescription(this.providerEndpoint, this.v20TypeUris), this.servicePriority, this.uriPriority); Assert.AreEqual(this.claimedId, se.ClaimedIdentifier); @@ -45,7 +45,7 @@ namespace DotNetOpenAuth.Test.OpenId.RelyingParty { Assert.AreEqual(this.servicePriority, se.ServicePriority); } - [TestCase] + [Test] public void CtorImpliedLocalIdentifier() { IdentifierDiscoveryResult se = IdentifierDiscoveryResult.CreateForClaimedIdentifier(this.claimedId, null, new ProviderEndpointDescription(this.providerEndpoint, this.v20TypeUris), this.servicePriority, this.uriPriority); Assert.AreEqual(this.claimedId, se.ClaimedIdentifier); @@ -54,7 +54,7 @@ namespace DotNetOpenAuth.Test.OpenId.RelyingParty { CollectionAssert<string>.AreEquivalent(this.v20TypeUris, se.Capabilities); } - [TestCase] + [Test] public void ProtocolDetection() { IdentifierDiscoveryResult se = IdentifierDiscoveryResult.CreateForClaimedIdentifier(this.claimedId, this.localId, new ProviderEndpointDescription(this.providerEndpoint, this.v20TypeUris), this.servicePriority, this.uriPriority); Assert.AreSame(Protocol.V20, se.Protocol); @@ -69,7 +69,7 @@ namespace DotNetOpenAuth.Test.OpenId.RelyingParty { Assert.AreSame(Protocol.V11, se.Protocol); } - [TestCase] + [Test] public void EqualsTests() { IdentifierDiscoveryResult se = IdentifierDiscoveryResult.CreateForClaimedIdentifier(this.claimedId, this.localId, new ProviderEndpointDescription(this.providerEndpoint, this.v20TypeUris), this.servicePriority, this.uriPriority); IdentifierDiscoveryResult se2 = IdentifierDiscoveryResult.CreateForClaimedIdentifier(this.claimedId, this.localId, new ProviderEndpointDescription(this.providerEndpoint, this.v20TypeUris), (int?)null, (int?)null); @@ -92,7 +92,7 @@ namespace DotNetOpenAuth.Test.OpenId.RelyingParty { Assert.IsTrue(list.Contains(se2)); } - [TestCase] + [Test] public void GetFriendlyIdentifierForDisplay() { Uri providerEndpoint = new Uri("http://someprovider"); Identifier localId = "someuser"; @@ -136,7 +136,7 @@ namespace DotNetOpenAuth.Test.OpenId.RelyingParty { Assert.AreEqual("=!9B72.7DD1.50A9.5CCD", se.FriendlyIdentifierForDisplay); } - [TestCase] + [Test] public void IsTypeUriPresent() { IdentifierDiscoveryResult se = IdentifierDiscoveryResult.CreateForClaimedIdentifier(this.claimedXri, this.userSuppliedXri, this.localId, new ProviderEndpointDescription(this.providerEndpoint, this.v20TypeUris), this.servicePriority, this.uriPriority); Assert.IsTrue(se.IsTypeUriPresent(Protocol.Default.ClaimedIdentifierServiceTypeURI)); @@ -179,7 +179,7 @@ namespace DotNetOpenAuth.Test.OpenId.RelyingParty { se.IsExtensionSupported((IOpenIdMessageExtension)null); } - [TestCase] + [Test] public void IsExtensionSupported() { var se = IdentifierDiscoveryResult.CreateForProviderIdentifier(OPUri, new ProviderEndpointDescription(OPUri, this.v20TypeUris), null, null); Assert.IsFalse(se.IsExtensionSupported<ClaimsRequest>()); diff --git a/src/DotNetOpenAuth.Test/OpenId/RelyingParty/NegativeAuthenticationResponseTests.cs b/src/DotNetOpenAuth.Test/OpenId/RelyingParty/NegativeAuthenticationResponseTests.cs index dbb4a42..60a7318 100644 --- a/src/DotNetOpenAuth.Test/OpenId/RelyingParty/NegativeAuthenticationResponseTests.cs +++ b/src/DotNetOpenAuth.Test/OpenId/RelyingParty/NegativeAuthenticationResponseTests.cs @@ -1,6 +1,6 @@ //----------------------------------------------------------------------- -// <copyright file="NegativeAuthenticationResponseTests.cs" company="Andrew Arnott"> -// Copyright (c) Andrew Arnott. All rights reserved. +// <copyright file="NegativeAuthenticationResponseTests.cs" company="Outercurve Foundation"> +// Copyright (c) Outercurve Foundation. All rights reserved. // </copyright> //----------------------------------------------------------------------- @@ -40,7 +40,7 @@ namespace DotNetOpenAuth.Test.OpenId.RelyingParty { /// <summary> /// Verifies that immediate/setup modes are correctly detected. /// </summary> - [TestCase] + [Test] public void ImmediateVsSetupModes() { this.responseMessage = new NegativeAssertionResponse(this.protocol.Version, RPUri, this.protocol.Args.Mode.cancel); this.response = new NegativeAuthenticationResponse(this.responseMessage); @@ -58,14 +58,14 @@ namespace DotNetOpenAuth.Test.OpenId.RelyingParty { Assert.AreEqual(UserSuppliedIdentifier, (string)this.response.UserSuppliedIdentifier); } - [TestCase] + [Test] public void CommonProperties() { Assert.IsNull(this.response.Exception); Assert.IsNull(this.response.ClaimedIdentifier); Assert.IsNull(this.response.FriendlyIdentifierForDisplay); } - [TestCase] + [Test] public void CommonMethods() { Assert.IsNull(this.response.GetExtension<ClaimsRequest>()); Assert.IsNull(this.response.GetExtension(typeof(ClaimsRequest))); diff --git a/src/DotNetOpenAuth.Test/OpenId/RelyingParty/OpenIdRelyingPartyTests.cs b/src/DotNetOpenAuth.Test/OpenId/RelyingParty/OpenIdRelyingPartyTests.cs index b0ec395..86dd68c 100644 --- a/src/DotNetOpenAuth.Test/OpenId/RelyingParty/OpenIdRelyingPartyTests.cs +++ b/src/DotNetOpenAuth.Test/OpenId/RelyingParty/OpenIdRelyingPartyTests.cs @@ -1,6 +1,6 @@ //----------------------------------------------------------------------- -// <copyright file="OpenIdRelyingPartyTests.cs" company="Andrew Arnott"> -// Copyright (c) Andrew Arnott. All rights reserved. +// <copyright file="OpenIdRelyingPartyTests.cs" company="Outercurve Foundation"> +// Copyright (c) Outercurve Foundation. All rights reserved. // </copyright> //----------------------------------------------------------------------- @@ -21,7 +21,7 @@ namespace DotNetOpenAuth.Test.OpenId.RelyingParty { base.SetUp(); } - [TestCase] + [Test] public void CreateRequestDumbMode() { var rp = this.CreateRelyingParty(true); Identifier id = this.GetMockIdentifier(ProtocolVersion.V20); @@ -36,7 +36,7 @@ namespace DotNetOpenAuth.Test.OpenId.RelyingParty { rp.SecuritySettings = null; } - [TestCase] + [Test] public void ExtensionFactories() { var rp = new OpenIdRelyingParty(null); var factories = rp.ExtensionFactories; @@ -45,7 +45,7 @@ namespace DotNetOpenAuth.Test.OpenId.RelyingParty { Assert.IsInstanceOf<StandardOpenIdExtensionFactory>(factories[0]); } - [TestCase] + [Test] public void CreateRequest() { var rp = this.CreateRelyingParty(); StoreAssociation(rp, OPUri, HmacShaAssociation.Create("somehandle", new byte[20], TimeSpan.FromDays(1))); @@ -54,7 +54,7 @@ namespace DotNetOpenAuth.Test.OpenId.RelyingParty { Assert.IsNotNull(req); } - [TestCase] + [Test] public void CreateRequests() { var rp = this.CreateRelyingParty(); StoreAssociation(rp, OPUri, HmacShaAssociation.Create("somehandle", new byte[20], TimeSpan.FromDays(1))); @@ -63,7 +63,7 @@ namespace DotNetOpenAuth.Test.OpenId.RelyingParty { Assert.AreEqual(1, requests.Count()); } - [TestCase] + [Test] public void CreateRequestsWithEndpointFilter() { var rp = this.CreateRelyingParty(); StoreAssociation(rp, OPUri, HmacShaAssociation.Create("somehandle", new byte[20], TimeSpan.FromDays(1))); @@ -86,7 +86,7 @@ namespace DotNetOpenAuth.Test.OpenId.RelyingParty { rp.CreateRequest(nonOpenId, RPRealmUri, RPUri); } - [TestCase] + [Test] public void CreateRequestsOnNonOpenID() { Uri nonOpenId = new Uri("http://www.microsoft.com/"); var rp = this.CreateRelyingParty(); @@ -99,7 +99,7 @@ namespace DotNetOpenAuth.Test.OpenId.RelyingParty { /// Verifies that incoming positive assertions throw errors if they come from /// OPs that are not approved by <see cref="OpenIdRelyingParty.EndpointFilter"/>. /// </summary> - [TestCase] + [Test] public void AssertionWithEndpointFilter() { var coordinator = new OpenIdCoordinator( rp => { diff --git a/src/DotNetOpenAuth.Test/OpenId/RelyingParty/OpenIdTextBoxTests.cs b/src/DotNetOpenAuth.Test/OpenId/RelyingParty/OpenIdTextBoxTests.cs index 2c70e0f..3c91b52 100644 --- a/src/DotNetOpenAuth.Test/OpenId/RelyingParty/OpenIdTextBoxTests.cs +++ b/src/DotNetOpenAuth.Test/OpenId/RelyingParty/OpenIdTextBoxTests.cs @@ -1,6 +1,6 @@ //----------------------------------------------------------------------- -// <copyright file="OpenIdTextBoxTests.cs" company="Andrew Arnott"> -// Copyright (c) Andrew Arnott. All rights reserved. +// <copyright file="OpenIdTextBoxTests.cs" company="Outercurve Foundation"> +// Copyright (c) Outercurve Foundation. All rights reserved. // </copyright> //----------------------------------------------------------------------- @@ -13,7 +13,7 @@ namespace DotNetOpenAuth.Test.OpenId.RelyingParty { /// <summary> /// Verifies that the Text and Identifier properties interact correctly. /// </summary> - [TestCase] + [Test] public void IdentifierTextInteraction() { var box = new OpenIdTextBox(); Assert.AreEqual(string.Empty, box.Text); diff --git a/src/DotNetOpenAuth.Test/OpenId/RelyingParty/PositiveAnonymousResponseTests.cs b/src/DotNetOpenAuth.Test/OpenId/RelyingParty/PositiveAnonymousResponseTests.cs index b0586a6..bacd97d 100644 --- a/src/DotNetOpenAuth.Test/OpenId/RelyingParty/PositiveAnonymousResponseTests.cs +++ b/src/DotNetOpenAuth.Test/OpenId/RelyingParty/PositiveAnonymousResponseTests.cs @@ -1,6 +1,6 @@ //----------------------------------------------------------------------- -// <copyright file="PositiveAnonymousResponseTests.cs" company="Andrew Arnott"> -// Copyright (c) Andrew Arnott. All rights reserved. +// <copyright file="PositiveAnonymousResponseTests.cs" company="Outercurve Foundation"> +// Copyright (c) Outercurve Foundation. All rights reserved. // </copyright> //----------------------------------------------------------------------- @@ -25,7 +25,7 @@ namespace DotNetOpenAuth.Test.OpenId.RelyingParty { /// <summary> /// Verifies that the Status property returns the correct value. /// </summary> - [TestCase] + [Test] public void CtorAndProperties() { var responseMessage = new IndirectSignedResponse(Protocol.V20.Version, this.returnTo); var ext = new ClaimsResponse(); @@ -43,7 +43,7 @@ namespace DotNetOpenAuth.Test.OpenId.RelyingParty { /// <summary> /// Verifies the Provider property. /// </summary> - [TestCase] + [Test] public void ProviderTest() { var responseMessage = new IndirectSignedResponse(Protocol.V20.Version, this.returnTo); responseMessage.ProviderEndpoint = OPUri; diff --git a/src/DotNetOpenAuth.Test/OpenId/RelyingParty/PositiveAuthenticationResponseSnapshotTests.cs b/src/DotNetOpenAuth.Test/OpenId/RelyingParty/PositiveAuthenticationResponseSnapshotTests.cs index 0bb994c..321deed 100644 --- a/src/DotNetOpenAuth.Test/OpenId/RelyingParty/PositiveAuthenticationResponseSnapshotTests.cs +++ b/src/DotNetOpenAuth.Test/OpenId/RelyingParty/PositiveAuthenticationResponseSnapshotTests.cs @@ -1,6 +1,6 @@ //----------------------------------------------------------------------- -// <copyright file="PositiveAuthenticationResponseSnapshotTests.cs" company="Andrew Arnott"> -// Copyright (c) Andrew Arnott. All rights reserved. +// <copyright file="PositiveAuthenticationResponseSnapshotTests.cs" company="Outercurve Foundation"> +// Copyright (c) Outercurve Foundation. All rights reserved. // </copyright> //----------------------------------------------------------------------- diff --git a/src/DotNetOpenAuth.Test/OpenId/RelyingParty/PositiveAuthenticationResponseTests.cs b/src/DotNetOpenAuth.Test/OpenId/RelyingParty/PositiveAuthenticationResponseTests.cs index fc7ed0f..f71f4be 100644 --- a/src/DotNetOpenAuth.Test/OpenId/RelyingParty/PositiveAuthenticationResponseTests.cs +++ b/src/DotNetOpenAuth.Test/OpenId/RelyingParty/PositiveAuthenticationResponseTests.cs @@ -1,6 +1,6 @@ //----------------------------------------------------------------------- -// <copyright file="PositiveAuthenticationResponseTests.cs" company="Andrew Arnott"> -// Copyright (c) Andrew Arnott. All rights reserved. +// <copyright file="PositiveAuthenticationResponseTests.cs" company="Outercurve Foundation"> +// Copyright (c) Outercurve Foundation. All rights reserved. // </copyright> //----------------------------------------------------------------------- @@ -28,7 +28,7 @@ namespace DotNetOpenAuth.Test.OpenId.RelyingParty { /// <summary> /// Verifies good, positive assertions are accepted. /// </summary> - [TestCase] + [Test] public void Valid() { PositiveAssertionResponse assertion = this.GetPositiveAssertion(); ClaimsResponse extension = new ClaimsResponse(); @@ -48,7 +48,7 @@ namespace DotNetOpenAuth.Test.OpenId.RelyingParty { /// <summary> /// Verifies that discovery verification of a positive assertion can match a dual identifier. /// </summary> - [TestCase] + [Test] public void DualIdentifierMatchesInAssertionVerification() { PositiveAssertionResponse assertion = this.GetPositiveAssertion(true); ClaimsResponse extension = new ClaimsResponse(); @@ -97,7 +97,7 @@ namespace DotNetOpenAuth.Test.OpenId.RelyingParty { var authResponse = new PositiveAuthenticationResponse(assertion, rp); } - [TestCase] + [Test] public void GetCallbackArguments() { PositiveAssertionResponse assertion = this.GetPositiveAssertion(); var rp = CreateRelyingParty(); @@ -123,7 +123,7 @@ namespace DotNetOpenAuth.Test.OpenId.RelyingParty { /// <summary> /// Verifies that certain problematic claimed identifiers pass through to the RP response correctly. /// </summary> - [TestCase] + [Test] public void ProblematicClaimedId() { var providerEndpoint = new ProviderEndpointDescription(OpenIdTestBase.OPUri, Protocol.Default.Version); string claimed_id = BaseMockUri + "a./b."; diff --git a/src/DotNetOpenAuth.Test/OpenId/RelyingParty/RelyingPartySecuritySettingsTests.cs b/src/DotNetOpenAuth.Test/OpenId/RelyingParty/RelyingPartySecuritySettingsTests.cs index 2f6d218..75e0607 100644 --- a/src/DotNetOpenAuth.Test/OpenId/RelyingParty/RelyingPartySecuritySettingsTests.cs +++ b/src/DotNetOpenAuth.Test/OpenId/RelyingParty/RelyingPartySecuritySettingsTests.cs @@ -1,6 +1,6 @@ //----------------------------------------------------------------------- -// <copyright file="RelyingPartySecuritySettingsTests.cs" company="Andrew Arnott"> -// Copyright (c) Andrew Arnott. All rights reserved. +// <copyright file="RelyingPartySecuritySettingsTests.cs" company="Outercurve Foundation"> +// Copyright (c) Outercurve Foundation. All rights reserved. // </copyright> //----------------------------------------------------------------------- @@ -23,7 +23,7 @@ namespace DotNetOpenAuth.Test.OpenId.RelyingParty { this.settings = new RelyingPartySecuritySettings(); } - [TestCase] + [Test] public void Defaults() { Assert.IsFalse(this.settings.RejectUnsolicitedAssertions); Assert.IsFalse(this.settings.RequireSsl, "Default should be to not require SSL."); @@ -33,7 +33,7 @@ namespace DotNetOpenAuth.Test.OpenId.RelyingParty { /// Verifies that the <see cref="RelyingPartySecuritySettings.RequireSsl"/> property /// getter/setter are implemented correctly. /// </summary> - [TestCase] + [Test] public void RequireSsl() { this.settings.RequireSsl = true; Assert.IsTrue(this.settings.RequireSsl); @@ -45,7 +45,7 @@ namespace DotNetOpenAuth.Test.OpenId.RelyingParty { /// Verifies that the <see cref="RelyingPartySecuritySettings.RequireDirectedIdentity"/> /// property getter/setter are implemented correctly. /// </summary> - [TestCase] + [Test] public void RequireDirectedIdentity() { this.settings.RequireDirectedIdentity = true; Assert.IsTrue(this.settings.RequireDirectedIdentity); @@ -57,7 +57,7 @@ namespace DotNetOpenAuth.Test.OpenId.RelyingParty { /// Verifies that the <see cref="RelyingPartySecuritySettings.RequireAssociation"/> /// property getter/setter are implemented correctly. /// </summary> - [TestCase] + [Test] public void RequireAssociation() { this.settings.RequireAssociation = true; Assert.IsTrue(this.settings.RequireAssociation); diff --git a/src/DotNetOpenAuth.Test/OpenId/UriIdentifierTests.cs b/src/DotNetOpenAuth.Test/OpenId/UriIdentifierTests.cs index 427f890..0c63113 100644 --- a/src/DotNetOpenAuth.Test/OpenId/UriIdentifierTests.cs +++ b/src/DotNetOpenAuth.Test/OpenId/UriIdentifierTests.cs @@ -1,6 +1,6 @@ //----------------------------------------------------------------------- -// <copyright file="UriIdentifierTests.cs" company="Andrew Arnott"> -// Copyright (c) Andrew Arnott. All rights reserved. +// <copyright file="UriIdentifierTests.cs" company="Outercurve Foundation"> +// Copyright (c) Outercurve Foundation. All rights reserved. // </copyright> //----------------------------------------------------------------------- @@ -46,7 +46,7 @@ namespace DotNetOpenAuth.Test.OpenId { new UriIdentifier(this.badUri); } - [TestCase] + [Test] public void CtorGoodUri() { var uri = new UriIdentifier(this.goodUri); Assert.AreEqual(new Uri(this.goodUri), uri.Uri); @@ -54,14 +54,14 @@ namespace DotNetOpenAuth.Test.OpenId { Assert.IsFalse(uri.IsDiscoverySecureEndToEnd); } - [TestCase] + [Test] public void CtorStringNoSchemeSecure() { var uri = new UriIdentifier("host/path", true); Assert.AreEqual("https://host/path", uri.Uri.AbsoluteUri); Assert.IsTrue(uri.IsDiscoverySecureEndToEnd); } - [TestCase] + [Test] public void CtorStringHttpsSchemeSecure() { var uri = new UriIdentifier("https://host/path", true); Assert.AreEqual("https://host/path", uri.Uri.AbsoluteUri); @@ -73,7 +73,7 @@ namespace DotNetOpenAuth.Test.OpenId { new UriIdentifier("http://host/path", true); } - [TestCase] + [Test] public void CtorUriHttpsSchemeSecure() { var uri = new UriIdentifier(new Uri("https://host/path"), true); Assert.AreEqual("https://host/path", uri.Uri.AbsoluteUri); @@ -93,21 +93,21 @@ namespace DotNetOpenAuth.Test.OpenId { /// they should NOT be stripped from claimed identifiers. So the UriIdentifier /// class, which serves both identifier types, must not do the stripping. /// </remarks> - [TestCase] + [Test] public void DoesNotStripFragment() { Uri original = new Uri("http://a/b#c"); UriIdentifier identifier = new UriIdentifier(original); Assert.AreEqual(original.Fragment, identifier.Uri.Fragment); } - [TestCase] + [Test] public void IsValid() { Assert.IsTrue(UriIdentifier.IsValidUri(this.goodUri)); Assert.IsFalse(UriIdentifier.IsValidUri(this.badUri)); Assert.IsTrue(UriIdentifier.IsValidUri(this.relativeUri), "URL lacking http:// prefix should have worked anyway."); } - [TestCase] + [Test] public void TrimFragment() { Identifier noFragment = UriIdentifier.Parse("http://a/b"); Identifier fragment = UriIdentifier.Parse("http://a/b#c"); @@ -123,7 +123,7 @@ namespace DotNetOpenAuth.Test.OpenId { }); } - [TestCase] + [Test] public void ToStringTest() { Assert.AreEqual(this.goodUri, new UriIdentifier(this.goodUri).ToString()); TestAsFullAndPartialTrust(fullTrust => { @@ -140,7 +140,7 @@ namespace DotNetOpenAuth.Test.OpenId { }); } - [TestCase] + [Test] public void EqualsTest() { TestAsFullAndPartialTrust(fulltrust => { Assert.AreEqual(new UriIdentifier(this.goodUri), new UriIdentifier(this.goodUri)); @@ -163,7 +163,7 @@ namespace DotNetOpenAuth.Test.OpenId { }); } - [TestCase] + [Test] public void UnicodeTest() { string unicodeUrl = "http://nerdbank.org/opaffirmative/崎村.aspx"; Assert.IsTrue(UriIdentifier.IsValidUri(unicodeUrl)); @@ -173,7 +173,7 @@ namespace DotNetOpenAuth.Test.OpenId { Assert.AreEqual(Uri.EscapeUriString(unicodeUrl), id.ToString()); } - [TestCase] + [Test] public void NormalizeCase() { // only the host name can be normalized in casing safely. Identifier id = "http://HOST:80/PaTH?KeY=VaLUE#fRag"; @@ -191,7 +191,7 @@ namespace DotNetOpenAuth.Test.OpenId { /// which may end with a period. The default .NET Uri parser trims off /// trailing periods, which breaks OpenID unless special precautions are taken. /// </remarks> - [TestCase] + [Test] public void TrailingPeriodsNotTrimmed() { TestAsFullAndPartialTrust(fullTrust => { string claimedIdentifier = "https://me.yahoo.com/a/AsDf.#asdf"; @@ -228,7 +228,7 @@ namespace DotNetOpenAuth.Test.OpenId { }); } - [TestCase] + [Test] public void HttpSchemePrepended() { UriIdentifier id = new UriIdentifier("www.yahoo.com"); Assert.AreEqual("http://www.yahoo.com/", id.ToString()); @@ -242,7 +242,7 @@ namespace DotNetOpenAuth.Test.OpenId { Assert.IsTrue(id.SchemeImplicitlyPrepended); } - [TestCase] + [Test] public void TryRequireSslAdjustsIdentifier() { Identifier secureId; // Try Parse and ctor without explicit scheme @@ -275,7 +275,7 @@ namespace DotNetOpenAuth.Test.OpenId { /// <summary> /// Verifies that unicode hostnames are handled. /// </summary> - [TestCase] + [Test] public void UnicodeHostSupport() { var id = new UriIdentifier("http://server崎/村"); Assert.AreEqual("server崎", id.Uri.Host); @@ -284,7 +284,7 @@ namespace DotNetOpenAuth.Test.OpenId { /// <summary> /// Verifies SimpleUri behavior /// </summary> - [TestCase] + [Test] public void SimpleUri() { Assert.AreEqual("http://abc/D./e.?Qq#Ff", new UriIdentifier.SimpleUri("HTTP://ABC/D./e.?Qq#Ff").ToString()); Assert.AreEqual("http://abc/D./e.?Qq", new UriIdentifier.SimpleUri("HTTP://ABC/D./e.?Qq").ToString()); diff --git a/src/DotNetOpenAuth.Test/OpenId/XriIdentifierTests.cs b/src/DotNetOpenAuth.Test/OpenId/XriIdentifierTests.cs index e2acf34..e6871f8 100644 --- a/src/DotNetOpenAuth.Test/OpenId/XriIdentifierTests.cs +++ b/src/DotNetOpenAuth.Test/OpenId/XriIdentifierTests.cs @@ -1,6 +1,6 @@ //----------------------------------------------------------------------- -// <copyright file="XriIdentifierTests.cs" company="Andrew Arnott"> -// Copyright (c) Andrew Arnott. All rights reserved. +// <copyright file="XriIdentifierTests.cs" company="Outercurve Foundation"> +// Copyright (c) Outercurve Foundation. All rights reserved. // </copyright> //----------------------------------------------------------------------- @@ -37,7 +37,7 @@ namespace DotNetOpenAuth.Test.OpenId { new XriIdentifier(this.badXri); } - [TestCase] + [Test] public void CtorGoodXri() { var xri = new XriIdentifier(this.goodXri); Assert.AreEqual(this.goodXri, xri.OriginalXri); @@ -45,7 +45,7 @@ namespace DotNetOpenAuth.Test.OpenId { Assert.IsFalse(xri.IsDiscoverySecureEndToEnd); } - [TestCase] + [Test] public void CtorGoodXriSecure() { var xri = new XriIdentifier(this.goodXri, true); Assert.AreEqual(this.goodXri, xri.OriginalXri); @@ -53,7 +53,7 @@ namespace DotNetOpenAuth.Test.OpenId { Assert.IsTrue(xri.IsDiscoverySecureEndToEnd); } - [TestCase] + [Test] public void IsValid() { Assert.IsTrue(XriIdentifier.IsValidXri(this.goodXri)); Assert.IsFalse(XriIdentifier.IsValidXri(this.badXri)); @@ -62,25 +62,25 @@ namespace DotNetOpenAuth.Test.OpenId { /// <summary> /// Verifies 2.0 spec section 7.2#1 /// </summary> - [TestCase] + [Test] public void StripXriScheme() { var xri = new XriIdentifier("xri://" + this.goodXri); Assert.AreEqual("xri://" + this.goodXri, xri.OriginalXri); Assert.AreEqual(this.goodXri, xri.CanonicalXri); } - [TestCase] + [Test] public void TrimFragment() { Identifier xri = new XriIdentifier(this.goodXri); Assert.AreSame(xri, xri.TrimFragment()); } - [TestCase] + [Test] public void ToStringTest() { Assert.AreEqual(this.goodXri, new XriIdentifier(this.goodXri).ToString()); } - [TestCase] + [Test] public void EqualsTest() { Assert.AreEqual(new XriIdentifier(this.goodXri), new XriIdentifier(this.goodXri)); Assert.AreNotEqual(new XriIdentifier(this.goodXri), new XriIdentifier(this.goodXri + "a")); diff --git a/src/DotNetOpenAuth.Test/Performance/HighPerformance.cs b/src/DotNetOpenAuth.Test/Performance/HighPerformance.cs index 695aeda..8909a7c 100644 --- a/src/DotNetOpenAuth.Test/Performance/HighPerformance.cs +++ b/src/DotNetOpenAuth.Test/Performance/HighPerformance.cs @@ -1,6 +1,6 @@ //----------------------------------------------------------------------- -// <copyright file="HighPerformance.cs" company="Andrew Arnott"> -// Copyright (c) Andrew Arnott. All rights reserved. +// <copyright file="HighPerformance.cs" company="Outercurve Foundation"> +// Copyright (c) Outercurve Foundation. All rights reserved. // </copyright> //----------------------------------------------------------------------- diff --git a/src/DotNetOpenAuth.Test/Performance/PerformanceTestUtilities.cs b/src/DotNetOpenAuth.Test/Performance/PerformanceTestUtilities.cs index 5e28732..541d8d3 100644 --- a/src/DotNetOpenAuth.Test/Performance/PerformanceTestUtilities.cs +++ b/src/DotNetOpenAuth.Test/Performance/PerformanceTestUtilities.cs @@ -1,6 +1,6 @@ //----------------------------------------------------------------------- -// <copyright file="PerformanceTestUtilities.cs" company="Andrew Arnott"> -// Copyright (c) Andrew Arnott. All rights reserved. +// <copyright file="PerformanceTestUtilities.cs" company="Outercurve Foundation"> +// Copyright (c) Outercurve Foundation. All rights reserved. // </copyright> //----------------------------------------------------------------------- diff --git a/src/DotNetOpenAuth.Test/Properties/AssemblyInfo.cs b/src/DotNetOpenAuth.Test/Properties/AssemblyInfo.cs index 4744bfe..f8bf9d0 100644 --- a/src/DotNetOpenAuth.Test/Properties/AssemblyInfo.cs +++ b/src/DotNetOpenAuth.Test/Properties/AssemblyInfo.cs @@ -1,6 +1,6 @@ //----------------------------------------------------------------------- -// <copyright file="AssemblyInfo.cs" company="Andrew Arnott"> -// Copyright (c) Andrew Arnott. All rights reserved. +// <copyright file="AssemblyInfo.cs" company="Outercurve Foundation"> +// Copyright (c) Outercurve Foundation. All rights reserved. // </copyright> //----------------------------------------------------------------------- @@ -17,7 +17,7 @@ using System.Runtime.InteropServices; [assembly: AssemblyConfiguration("")] [assembly: AssemblyCompany("")] [assembly: AssemblyProduct("DotNetOpenAuth.Test")] -[assembly: AssemblyCopyright("Copyright © 2008")] +[assembly: AssemblyCopyright("Copyright © 2011 Outercurve Foundation")] [assembly: AssemblyTrademark("")] [assembly: AssemblyCulture("")] diff --git a/src/DotNetOpenAuth.Test/TestBase.cs b/src/DotNetOpenAuth.Test/TestBase.cs index 4a6eaca..92adafa 100644 --- a/src/DotNetOpenAuth.Test/TestBase.cs +++ b/src/DotNetOpenAuth.Test/TestBase.cs @@ -1,6 +1,6 @@ //----------------------------------------------------------------------- -// <copyright file="TestBase.cs" company="Andrew Arnott"> -// Copyright (c) Andrew Arnott. All rights reserved. +// <copyright file="TestBase.cs" company="Outercurve Foundation"> +// Copyright (c) Outercurve Foundation. All rights reserved. // </copyright> //----------------------------------------------------------------------- diff --git a/src/DotNetOpenAuth.Test/TestUtilities.cs b/src/DotNetOpenAuth.Test/TestUtilities.cs index b8c6be9..cf9b5a3 100644 --- a/src/DotNetOpenAuth.Test/TestUtilities.cs +++ b/src/DotNetOpenAuth.Test/TestUtilities.cs @@ -1,6 +1,6 @@ //----------------------------------------------------------------------- -// <copyright file="TestUtilities.cs" company="Andrew Arnott"> -// Copyright (c) Andrew Arnott. All rights reserved. +// <copyright file="TestUtilities.cs" company="Outercurve Foundation"> +// Copyright (c) Outercurve Foundation. All rights reserved. // </copyright> //----------------------------------------------------------------------- diff --git a/src/DotNetOpenAuth.Test/UriUtilTests.cs b/src/DotNetOpenAuth.Test/UriUtilTests.cs index a2cf1a2..1e5451e 100644 --- a/src/DotNetOpenAuth.Test/UriUtilTests.cs +++ b/src/DotNetOpenAuth.Test/UriUtilTests.cs @@ -1,6 +1,6 @@ //----------------------------------------------------------------------- -// <copyright file="UriUtilTests.cs" company="Andrew Arnott"> -// Copyright (c) Andrew Arnott. All rights reserved. +// <copyright file="UriUtilTests.cs" company="Outercurve Foundation"> +// Copyright (c) Outercurve Foundation. All rights reserved. // </copyright> //----------------------------------------------------------------------- @@ -13,7 +13,7 @@ namespace DotNetOpenAuth.Test { [TestFixture] public class UriUtilTests { - [TestCase] + [Test] public void QueryStringContainPrefixedParametersNull() { Assert.IsFalse(UriUtil.QueryStringContainPrefixedParameters(null, "prefix.")); } diff --git a/src/DotNetOpenAuth.Test/UtilTests.cs b/src/DotNetOpenAuth.Test/UtilTests.cs index 0930e8d..96fc254 100644 --- a/src/DotNetOpenAuth.Test/UtilTests.cs +++ b/src/DotNetOpenAuth.Test/UtilTests.cs @@ -1,6 +1,6 @@ //----------------------------------------------------------------------- -// <copyright file="UtilTests.cs" company="Andrew Arnott"> -// Copyright (c) Andrew Arnott. All rights reserved. +// <copyright file="UtilTests.cs" company="Outercurve Foundation"> +// Copyright (c) Outercurve Foundation. All rights reserved. // </copyright> //----------------------------------------------------------------------- @@ -16,7 +16,7 @@ namespace DotNetOpenAuth.Test { /// <summary> /// Verifies ToStringDeferred generates a reasonable string for an empty, multi-line list. /// </summary> - [TestCase] + [Test] public void ToStringDeferredEmptyMultiLine() { Assert.AreEqual("[]", Util.ToStringDeferred(Enumerable.Empty<string>(), true).ToString()); } diff --git a/src/DotNetOpenAuth.Core/Migrated rules for DotNetOpenAuth.ruleset b/src/DotNetOpenAuth.ruleset index 0ba4e6e..3222fb0 100644 --- a/src/DotNetOpenAuth.Core/Migrated rules for DotNetOpenAuth.ruleset +++ b/src/DotNetOpenAuth.ruleset @@ -2,6 +2,7 @@ <RuleSet Name="Migrated rules for DotNetOpenAuth.ruleset" Description="This rule set was created from the CodeAnalysisRules property for the "Debug (Any CPU)" configuration in project "C:\Users\andarno\git\dotnetopenid\src\DotNetOpenAuth\DotNetOpenAuth.csproj"." ToolsVersion="10.0"> <IncludeAll Action="Warning" /> <Rules AnalyzerId="Microsoft.Analyzers.ManagedCodeAnalysis" RuleNamespace="Microsoft.Rules.Managed"> + <Rule Id="CA1026" Action="None" /> <Rule Id="CA1054" Action="None" /> <Rule Id="CA1055" Action="None" /> <Rule Id="CA1056" Action="None" /> diff --git a/src/DotNetOpenAuth.sln b/src/DotNetOpenAuth.sln index c3e2c7c..73e27f8 100644 --- a/src/DotNetOpenAuth.sln +++ b/src/DotNetOpenAuth.sln @@ -13,8 +13,9 @@ Project("{2150E333-8FDC-42A3-9474-1A3956D46DE8}") = "Solution Items", "Solution EndProject Project("{2150E333-8FDC-42A3-9474-1A3956D46DE8}") = "Specs", "Specs", "{CD57219F-24F4-4136-8741-6063D0D7A031}" ProjectSection(SolutionItems) = preProject - ..\doc\specs\draft-ietf-oauth-v2-16.txt = ..\doc\specs\draft-ietf-oauth-v2-16.txt - ..\doc\specs\draft-ietf-oauth.html = ..\doc\specs\draft-ietf-oauth.html + ..\doc\specs\draft-ietf-oauth-v2-23.txt = ..\doc\specs\draft-ietf-oauth-v2-23.txt + ..\doc\specs\draft-ietf-oauth-v2-bearer.htm = ..\doc\specs\draft-ietf-oauth-v2-bearer.htm + ..\doc\specs\draft-jones-json-web-token.htm = ..\doc\specs\draft-jones-json-web-token.htm ..\doc\specs\ICAM_OpenID20Profile.pdf = ..\doc\specs\ICAM_OpenID20Profile.pdf ..\doc\specs\OAuth Core 1.0.htm = ..\doc\specs\OAuth Core 1.0.htm ..\doc\specs\OAuth Core 1.0a (Draft 3).htm = ..\doc\specs\OAuth Core 1.0a (Draft 3).htm @@ -43,10 +44,56 @@ Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "DotNetOpenAuth.Test", "DotN EndProject Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "DotNetOpenAuth.ApplicationBlock", "..\samples\DotNetOpenAuth.ApplicationBlock\DotNetOpenAuth.ApplicationBlock.csproj", "{AA78D112-D889-414B-A7D4-467B34C7B663}" EndProject +Project("{E24C65DC-7377-472B-9ABA-BC803B73C61A}") = "DotNetOpenAuth.TestWeb", "DotNetOpenAuth.TestWeb\", "{47A84EF7-68C3-4D47-926A-9CCEA6518531}" + ProjectSection(WebsiteProperties) = preProject + TargetFrameworkMoniker = ".NETFramework,Version%3Dv3.5" + ProjectReferences = "{4376ECC9-C346-4A99-B13C-FA93C0FBD2C9}|DotNetOpenAuth.Test.dll;{408D10B8-34BA-4CBD-B7AA-FEB1907ABA4C}|DotNetOpenAuth.InfoCard.dll;{60426312-6AE5-4835-8667-37EDEA670222}|DotNetOpenAuth.Core.dll;{A288FCC8-6FCF-46DA-A45E-5F9281556361}|DotNetOpenAuth.OAuth.dll;{3896A32A-E876-4C23-B9B8-78E17D134CD3}|DotNetOpenAuth.OpenId.dll;{56459A6C-6BA2-4BAC-A9C0-27E3BD961FA6}|DotNetOpenAuth.OAuth2.dll;{26DC877F-5987-48DD-9DDB-E62F2DE0E150}|Org.Mentalis.Security.Cryptography.dll;{F4CD3C04-6037-4946-B7A5-34BFC96A75D2}|Mono.Math.dll;{173E7B8D-E751-46E2-A133-F72297C0D2F4}|DotNetOpenAuth.Core.UI.dll;{E040EB58-B4D2-457B-A023-AE6EF3BD34DE}|DotNetOpenAuth.InfoCard.UI.dll;{B202E40D-4663-4A2B-ACDA-865F88FF7CAA}|DotNetOpenAuth.OAuth.Consumer.dll;{FED1923A-6D70-49B5-A37A-FB744FEC1C86}|DotNetOpenAuth.OAuth.ServiceProvider.dll;{99BB7543-EA16-43EE-A7BC-D7A25A3B22F6}|DotNetOpenAuth.OAuth2.AuthorizationServer.dll;{CDEDD439-7F35-4E6E-8605-4E70BDC4CC99}|DotNetOpenAuth.OAuth2.Client.dll;{ADC2CC8C-541E-4F86-ACB1-DD504A36FA4B}|DotNetOpenAuth.OAuth2.Client.UI.dll;{A1A3150A-7B0E-4A34-8E35-045296CD3C76}|DotNetOpenAuth.OAuth2.ResourceServer.dll;{F8284738-3B5D-4733-A511-38C23F4A763F}|DotNetOpenAuth.OpenId.Provider.dll;{F458AB60-BA1C-43D9-8CEF-EC01B50BE87B}|DotNetOpenAuth.OpenId.RelyingParty.dll;{9D0F8866-2131-4C2A-BC0E-16FEA5B50828}|DotNetOpenAuth.OpenId.Provider.UI.dll;{75E13AAE-7D51-4421-ABFD-3F3DC91F576E}|DotNetOpenAuth.OpenId.UI.dll;{1ED8D424-F8AB-4050-ACEB-F27F4F909484}|DotNetOpenAuth.OpenId.RelyingParty.UI.dll;{115217C5-22CD-415C-A292-0DD0238CDD89}|DotNetOpenAuth.OAuth.Common.dll;" + Debug.AspNetCompiler.VirtualPath = "/DotNetOpenAuth.TestWeb" + Debug.AspNetCompiler.PhysicalPath = "DotNetOpenAuth.TestWeb\" + Debug.AspNetCompiler.TargetPath = "PrecompiledWeb\DotNetOpenAuth.TestWeb\" + Debug.AspNetCompiler.Updateable = "false" + Debug.AspNetCompiler.ForceOverwrite = "true" + Debug.AspNetCompiler.FixedNames = "false" + Debug.AspNetCompiler.Debug = "True" + Release.AspNetCompiler.VirtualPath = "/DotNetOpenAuth.TestWeb" + Release.AspNetCompiler.PhysicalPath = "DotNetOpenAuth.TestWeb\" + Release.AspNetCompiler.TargetPath = "PrecompiledWeb\DotNetOpenAuth.TestWeb\" + Release.AspNetCompiler.Updateable = "false" + Release.AspNetCompiler.ForceOverwrite = "true" + Release.AspNetCompiler.FixedNames = "false" + Release.AspNetCompiler.Debug = "False" + VWDPort = "5073" + DefaultWebSiteLanguage = "Visual C#" + StartServerOnDebug = "false" + EndProjectSection +EndProject Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "OpenIdProviderWebForms", "..\samples\OpenIdProviderWebForms\OpenIdProviderWebForms.csproj", "{2A59DE0A-B76A-4B42-9A33-04D34548353D}" EndProject Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "OpenIdProviderMvc", "..\samples\OpenIdProviderMvc\OpenIdProviderMvc.csproj", "{AEA29D4D-396F-47F6-BC81-B58D4B855245}" EndProject +Project("{E24C65DC-7377-472B-9ABA-BC803B73C61A}") = "InfoCardRelyingParty", "..\samples\InfoCardRelyingParty\", "{6EB90284-BD15-461C-BBF2-131CF55F7C8B}" + ProjectSection(WebsiteProperties) = preProject + TargetFrameworkMoniker = ".NETFramework,Version%3Dv3.5" + ProjectReferences = "{408D10B8-34BA-4CBD-B7AA-FEB1907ABA4C}|DotNetOpenAuth.InfoCard.dll;{60426312-6AE5-4835-8667-37EDEA670222}|DotNetOpenAuth.Core.dll;{173E7B8D-E751-46E2-A133-F72297C0D2F4}|DotNetOpenAuth.Core.UI.dll;{26DC877F-5987-48DD-9DDB-E62F2DE0E150}|Org.Mentalis.Security.Cryptography.dll;{F4CD3C04-6037-4946-B7A5-34BFC96A75D2}|Mono.Math.dll;{E040EB58-B4D2-457B-A023-AE6EF3BD34DE}|DotNetOpenAuth.InfoCard.UI.dll;" + Debug.AspNetCompiler.VirtualPath = "/InfoCardRelyingParty" + Debug.AspNetCompiler.PhysicalPath = "..\samples\InfoCardRelyingParty\" + Debug.AspNetCompiler.TargetPath = "PrecompiledWeb\InfoCardRelyingParty\" + Debug.AspNetCompiler.Updateable = "true" + Debug.AspNetCompiler.ForceOverwrite = "true" + Debug.AspNetCompiler.FixedNames = "false" + Debug.AspNetCompiler.Debug = "True" + Release.AspNetCompiler.VirtualPath = "/InfoCardRelyingParty" + Release.AspNetCompiler.PhysicalPath = "..\samples\InfoCardRelyingParty\" + Release.AspNetCompiler.TargetPath = "PrecompiledWeb\InfoCardRelyingParty\" + Release.AspNetCompiler.Updateable = "true" + Release.AspNetCompiler.ForceOverwrite = "true" + Release.AspNetCompiler.FixedNames = "false" + Release.AspNetCompiler.Debug = "False" + VWDPort = "59719" + DefaultWebSiteLanguage = "Visual Basic" + StartServerOnDebug = "false" + EndProjectSection +EndProject Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "OpenIdRelyingPartyMvc", "..\samples\OpenIdRelyingPartyMvc\OpenIdRelyingPartyMvc.csproj", "{07B193F1-68AD-4E9C-98AF-BEFB5E9403CB}" EndProject Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "OpenIdRelyingPartyWebForms", "..\samples\OpenIdRelyingPartyWebForms\OpenIdRelyingPartyWebForms.csproj", "{1E8AEA89-BF69-47A1-B290-E8B0FE588700}" @@ -156,52 +203,20 @@ Project("{2150E333-8FDC-42A3-9474-1A3956D46DE8}") = "Combinations", "Combination EndProject Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "DotNetOpenAuth.OpenIdInfoCard.UI", "DotNetOpenAuth.OpenIdInfoCard.UI\DotNetOpenAuth.OpenIdInfoCard.UI.csproj", "{3A8347E8-59A5-4092-8842-95C75D7D2F36}" EndProject -Project("{E24C65DC-7377-472B-9ABA-BC803B73C61A}") = "InfoCardRelyingParty", "..\samples\InfoCardRelyingParty\", "{8BEDB899-2632-4ADF-AB9A-012088FB2460}" - ProjectSection(WebsiteProperties) = preProject - TargetFrameworkMoniker = ".NETFramework,Version%3Dv3.5" - ProjectReferences = "{408D10B8-34BA-4CBD-B7AA-FEB1907ABA4C}|DotNetOpenAuth.InfoCard.dll;{60426312-6AE5-4835-8667-37EDEA670222}|DotNetOpenAuth.Messaging.dll;{E040EB58-B4D2-457B-A023-AE6EF3BD34DE}|DotNetOpenAuth.InfoCard.UI.dll;{173E7B8D-E751-46E2-A133-F72297C0D2F4}|DotNetOpenAuth.Messaging.UI.dll;" - Debug.AspNetCompiler.VirtualPath = "/InfoCardRelyingParty" - Debug.AspNetCompiler.PhysicalPath = "..\samples\InfoCardRelyingParty\" - Debug.AspNetCompiler.TargetPath = "PrecompiledWeb\InfoCardRelyingParty\" - Debug.AspNetCompiler.Updateable = "true" - Debug.AspNetCompiler.ForceOverwrite = "true" - Debug.AspNetCompiler.FixedNames = "false" - Debug.AspNetCompiler.Debug = "True" - Release.AspNetCompiler.VirtualPath = "/InfoCardRelyingParty" - Release.AspNetCompiler.PhysicalPath = "..\samples\InfoCardRelyingParty\" - Release.AspNetCompiler.TargetPath = "PrecompiledWeb\InfoCardRelyingParty\" - Release.AspNetCompiler.Updateable = "true" - Release.AspNetCompiler.ForceOverwrite = "true" - Release.AspNetCompiler.FixedNames = "false" - Release.AspNetCompiler.Debug = "False" - VWDPort = "59719" - EndProjectSection +Project("{2150E333-8FDC-42A3-9474-1A3956D46DE8}") = "OAuth1", "OAuth1", "{2DA24D4F-6918-43CF-973C-BC9D818F8E90}" EndProject -Project("{E24C65DC-7377-472B-9ABA-BC803B73C61A}") = "DotNetOpenAuth.TestWeb", "DotNetOpenAuth.TestWeb\", "{8E32A4F0-C275-46E0-8604-FB522D7ABE4F}" - ProjectSection(WebsiteProperties) = preProject - TargetFrameworkMoniker = ".NETFramework,Version%3Dv3.5" - ProjectReferences = "{A288FCC8-6FCF-46DA-A45E-5F9281556361}|DotNetOpenAuth.OAuth.dll;{60426312-6AE5-4835-8667-37EDEA670222}|DotNetOpenAuth.Messaging.dll;{3896A32A-E876-4C23-B9B8-78E17D134CD3}|DotNetOpenAuth.OpenId.dll;{26DC877F-5987-48DD-9DDB-E62F2DE0E150}|Org.Mentalis.Security.Cryptography.dll;{F4CD3C04-6037-4946-B7A5-34BFC96A75D2}|Mono.Math.dll;{F8284738-3B5D-4733-A511-38C23F4A763F}|DotNetOpenAuth.OpenId.Provider.dll;{F458AB60-BA1C-43D9-8CEF-EC01B50BE87B}|DotNetOpenAuth.OpenId.RelyingParty.dll;" - Debug.AspNetCompiler.VirtualPath = "/DotNetOpenAuth.TestWeb" - Debug.AspNetCompiler.PhysicalPath = "DotNetOpenAuth.TestWeb\" - Debug.AspNetCompiler.TargetPath = "PrecompiledWeb\DotNetOpenAuth.TestWeb\" - Debug.AspNetCompiler.Updateable = "true" - Debug.AspNetCompiler.ForceOverwrite = "true" - Debug.AspNetCompiler.FixedNames = "false" - Debug.AspNetCompiler.Debug = "True" - Release.AspNetCompiler.VirtualPath = "/DotNetOpenAuth.TestWeb" - Release.AspNetCompiler.PhysicalPath = "DotNetOpenAuth.TestWeb\" - Release.AspNetCompiler.TargetPath = "PrecompiledWeb\DotNetOpenAuth.TestWeb\" - Release.AspNetCompiler.Updateable = "true" - Release.AspNetCompiler.ForceOverwrite = "true" - Release.AspNetCompiler.FixedNames = "false" - Release.AspNetCompiler.Debug = "False" - VWDPort = "5073" - EndProjectSection +Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "OAuthConsumer", "..\samples\OAuthConsumer\OAuthConsumer.csproj", "{2BF1FFD1-607E-40D0-8AB5-EDA677EF932D}" +EndProject +Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "OAuthServiceProvider", "..\samples\OAuthServiceProvider\OAuthServiceProvider.csproj", "{CAA2408C-6918-4902-A512-58BCD62216C3}" +EndProject +Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "DotNetOpenAuth.OpenIdOAuth", "DotNetOpenAuth.OpenIdOAuth\DotNetOpenAuth.OpenIdOAuth.csproj", "{4BFAA336-5DF3-4F27-82D3-06D13240E8AB}" EndProject Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "DotNetOpenAuth.AspNet", "DotNetOpenAuth.AspNet\DotNetOpenAuth.AspNet.csproj", "{51835086-9611-4C53-819B-F2D5C9320873}" EndProject Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "DotNetOpenAuth.AspNet.Test", "DotNetOpenAuth.AspNet.Test\DotNetOpenAuth.AspNet.Test.csproj", "{C23B217B-4D35-4A72-A1F7-FAEB4F39CB91}" EndProject +Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "DotNetOpenAuth.OAuth.Common", "DotNetOpenAuth.OAuth.Common\DotNetOpenAuth.OAuth.Common.csproj", "{115217C5-22CD-415C-A292-0DD0238CDD89}" +EndProject Global GlobalSection(SolutionConfigurationPlatforms) = preSolution CodeAnalysis|Any CPU = CodeAnalysis|Any CPU @@ -224,6 +239,13 @@ Global {AA78D112-D889-414B-A7D4-467B34C7B663}.Release|Any CPU.ActiveCfg = Release|Any CPU {AA78D112-D889-414B-A7D4-467B34C7B663}.Release|Any CPU.Build.0 = Release|Any CPU {AA78D112-D889-414B-A7D4-467B34C7B663}.ReleaseNoUI|Any CPU.ActiveCfg = Release|Any CPU + {47A84EF7-68C3-4D47-926A-9CCEA6518531}.CodeAnalysis|Any CPU.ActiveCfg = Debug|Any CPU + {47A84EF7-68C3-4D47-926A-9CCEA6518531}.CodeAnalysis|Any CPU.Build.0 = Debug|Any CPU + {47A84EF7-68C3-4D47-926A-9CCEA6518531}.Debug|Any CPU.ActiveCfg = Debug|Any CPU + {47A84EF7-68C3-4D47-926A-9CCEA6518531}.Debug|Any CPU.Build.0 = Debug|Any CPU + {47A84EF7-68C3-4D47-926A-9CCEA6518531}.Release|Any CPU.ActiveCfg = Debug|Any CPU + {47A84EF7-68C3-4D47-926A-9CCEA6518531}.Release|Any CPU.Build.0 = Debug|Any CPU + {47A84EF7-68C3-4D47-926A-9CCEA6518531}.ReleaseNoUI|Any CPU.ActiveCfg = Debug|Any CPU {2A59DE0A-B76A-4B42-9A33-04D34548353D}.CodeAnalysis|Any CPU.ActiveCfg = CodeAnalysis|Any CPU {2A59DE0A-B76A-4B42-9A33-04D34548353D}.CodeAnalysis|Any CPU.Build.0 = CodeAnalysis|Any CPU {2A59DE0A-B76A-4B42-9A33-04D34548353D}.Debug|Any CPU.ActiveCfg = Debug|Any CPU @@ -238,6 +260,13 @@ Global {AEA29D4D-396F-47F6-BC81-B58D4B855245}.Release|Any CPU.ActiveCfg = Release|Any CPU {AEA29D4D-396F-47F6-BC81-B58D4B855245}.Release|Any CPU.Build.0 = Release|Any CPU {AEA29D4D-396F-47F6-BC81-B58D4B855245}.ReleaseNoUI|Any CPU.ActiveCfg = Release|Any CPU + {6EB90284-BD15-461C-BBF2-131CF55F7C8B}.CodeAnalysis|Any CPU.ActiveCfg = Debug|Any CPU + {6EB90284-BD15-461C-BBF2-131CF55F7C8B}.CodeAnalysis|Any CPU.Build.0 = Debug|Any CPU + {6EB90284-BD15-461C-BBF2-131CF55F7C8B}.Debug|Any CPU.ActiveCfg = Debug|Any CPU + {6EB90284-BD15-461C-BBF2-131CF55F7C8B}.Debug|Any CPU.Build.0 = Debug|Any CPU + {6EB90284-BD15-461C-BBF2-131CF55F7C8B}.Release|Any CPU.ActiveCfg = Debug|Any CPU + {6EB90284-BD15-461C-BBF2-131CF55F7C8B}.Release|Any CPU.Build.0 = Debug|Any CPU + {6EB90284-BD15-461C-BBF2-131CF55F7C8B}.ReleaseNoUI|Any CPU.ActiveCfg = Debug|Any CPU {07B193F1-68AD-4E9C-98AF-BEFB5E9403CB}.CodeAnalysis|Any CPU.ActiveCfg = Release|Any CPU {07B193F1-68AD-4E9C-98AF-BEFB5E9403CB}.CodeAnalysis|Any CPU.Build.0 = Release|Any CPU {07B193F1-68AD-4E9C-98AF-BEFB5E9403CB}.Debug|Any CPU.ActiveCfg = Debug|Any CPU @@ -515,38 +544,38 @@ Global {3A8347E8-59A5-4092-8842-95C75D7D2F36}.Release|Any CPU.Build.0 = Release|Any CPU {3A8347E8-59A5-4092-8842-95C75D7D2F36}.ReleaseNoUI|Any CPU.ActiveCfg = Release|Any CPU {3A8347E8-59A5-4092-8842-95C75D7D2F36}.ReleaseNoUI|Any CPU.Build.0 = Release|Any CPU - {8BEDB899-2632-4ADF-AB9A-012088FB2460}.CodeAnalysis|Any CPU.ActiveCfg = Debug|Any CPU - {8BEDB899-2632-4ADF-AB9A-012088FB2460}.CodeAnalysis|Any CPU.Build.0 = Debug|Any CPU - {8BEDB899-2632-4ADF-AB9A-012088FB2460}.Debug|Any CPU.ActiveCfg = Debug|Any CPU - {8BEDB899-2632-4ADF-AB9A-012088FB2460}.Debug|Any CPU.Build.0 = Debug|Any CPU - {8BEDB899-2632-4ADF-AB9A-012088FB2460}.Release|Any CPU.ActiveCfg = Debug|Any CPU - {8BEDB899-2632-4ADF-AB9A-012088FB2460}.Release|Any CPU.Build.0 = Debug|Any CPU - {8BEDB899-2632-4ADF-AB9A-012088FB2460}.ReleaseNoUI|Any CPU.ActiveCfg = Debug|Any CPU - {8BEDB899-2632-4ADF-AB9A-012088FB2460}.ReleaseNoUI|Any CPU.Build.0 = Debug|Any CPU - {8E32A4F0-C275-46E0-8604-FB522D7ABE4F}.CodeAnalysis|Any CPU.ActiveCfg = Debug|Any CPU - {8E32A4F0-C275-46E0-8604-FB522D7ABE4F}.CodeAnalysis|Any CPU.Build.0 = Debug|Any CPU - {8E32A4F0-C275-46E0-8604-FB522D7ABE4F}.Debug|Any CPU.ActiveCfg = Debug|Any CPU - {8E32A4F0-C275-46E0-8604-FB522D7ABE4F}.Debug|Any CPU.Build.0 = Debug|Any CPU - {8E32A4F0-C275-46E0-8604-FB522D7ABE4F}.Release|Any CPU.ActiveCfg = Debug|Any CPU - {8E32A4F0-C275-46E0-8604-FB522D7ABE4F}.Release|Any CPU.Build.0 = Debug|Any CPU - {8E32A4F0-C275-46E0-8604-FB522D7ABE4F}.ReleaseNoUI|Any CPU.ActiveCfg = Debug|Any CPU - {8E32A4F0-C275-46E0-8604-FB522D7ABE4F}.ReleaseNoUI|Any CPU.Build.0 = Debug|Any CPU - {51835086-9611-4C53-819B-F2D5C9320873}.CodeAnalysis|Any CPU.ActiveCfg = CodeAnalysis|Any CPU - {51835086-9611-4C53-819B-F2D5C9320873}.CodeAnalysis|Any CPU.Build.0 = CodeAnalysis|Any CPU - {51835086-9611-4C53-819B-F2D5C9320873}.Debug|Any CPU.ActiveCfg = Debug|Any CPU - {51835086-9611-4C53-819B-F2D5C9320873}.Debug|Any CPU.Build.0 = Debug|Any CPU - {51835086-9611-4C53-819B-F2D5C9320873}.Release|Any CPU.ActiveCfg = Release|Any CPU - {51835086-9611-4C53-819B-F2D5C9320873}.Release|Any CPU.Build.0 = Release|Any CPU - {51835086-9611-4C53-819B-F2D5C9320873}.ReleaseNoUI|Any CPU.ActiveCfg = Release|Any CPU - {51835086-9611-4C53-819B-F2D5C9320873}.ReleaseNoUI|Any CPU.Build.0 = Release|Any CPU - {C23B217B-4D35-4A72-A1F7-FAEB4F39CB91}.CodeAnalysis|Any CPU.ActiveCfg = Debug|Any CPU - {C23B217B-4D35-4A72-A1F7-FAEB4F39CB91}.CodeAnalysis|Any CPU.Build.0 = Debug|Any CPU - {C23B217B-4D35-4A72-A1F7-FAEB4F39CB91}.Debug|Any CPU.ActiveCfg = Debug|Any CPU - {C23B217B-4D35-4A72-A1F7-FAEB4F39CB91}.Debug|Any CPU.Build.0 = Debug|Any CPU - {C23B217B-4D35-4A72-A1F7-FAEB4F39CB91}.Release|Any CPU.ActiveCfg = Release|Any CPU - {C23B217B-4D35-4A72-A1F7-FAEB4F39CB91}.Release|Any CPU.Build.0 = Release|Any CPU - {C23B217B-4D35-4A72-A1F7-FAEB4F39CB91}.ReleaseNoUI|Any CPU.ActiveCfg = Release|Any CPU - {C23B217B-4D35-4A72-A1F7-FAEB4F39CB91}.ReleaseNoUI|Any CPU.Build.0 = Release|Any CPU + {2BF1FFD1-607E-40D0-8AB5-EDA677EF932D}.CodeAnalysis|Any CPU.ActiveCfg = Debug|Any CPU + {2BF1FFD1-607E-40D0-8AB5-EDA677EF932D}.CodeAnalysis|Any CPU.Build.0 = Debug|Any CPU + {2BF1FFD1-607E-40D0-8AB5-EDA677EF932D}.Debug|Any CPU.ActiveCfg = Debug|Any CPU + {2BF1FFD1-607E-40D0-8AB5-EDA677EF932D}.Debug|Any CPU.Build.0 = Debug|Any CPU + {2BF1FFD1-607E-40D0-8AB5-EDA677EF932D}.Release|Any CPU.ActiveCfg = Release|Any CPU + {2BF1FFD1-607E-40D0-8AB5-EDA677EF932D}.Release|Any CPU.Build.0 = Release|Any CPU + {2BF1FFD1-607E-40D0-8AB5-EDA677EF932D}.ReleaseNoUI|Any CPU.ActiveCfg = Release|Any CPU + {2BF1FFD1-607E-40D0-8AB5-EDA677EF932D}.ReleaseNoUI|Any CPU.Build.0 = Release|Any CPU + {CAA2408C-6918-4902-A512-58BCD62216C3}.CodeAnalysis|Any CPU.ActiveCfg = Debug|Any CPU + {CAA2408C-6918-4902-A512-58BCD62216C3}.CodeAnalysis|Any CPU.Build.0 = Debug|Any CPU + {CAA2408C-6918-4902-A512-58BCD62216C3}.Debug|Any CPU.ActiveCfg = Debug|Any CPU + {CAA2408C-6918-4902-A512-58BCD62216C3}.Debug|Any CPU.Build.0 = Debug|Any CPU + {CAA2408C-6918-4902-A512-58BCD62216C3}.Release|Any CPU.ActiveCfg = Release|Any CPU + {CAA2408C-6918-4902-A512-58BCD62216C3}.Release|Any CPU.Build.0 = Release|Any CPU + {CAA2408C-6918-4902-A512-58BCD62216C3}.ReleaseNoUI|Any CPU.ActiveCfg = Release|Any CPU + {CAA2408C-6918-4902-A512-58BCD62216C3}.ReleaseNoUI|Any CPU.Build.0 = Release|Any CPU + {4BFAA336-5DF3-4F27-82D3-06D13240E8AB}.CodeAnalysis|Any CPU.ActiveCfg = CodeAnalysis|Any CPU + {4BFAA336-5DF3-4F27-82D3-06D13240E8AB}.CodeAnalysis|Any CPU.Build.0 = CodeAnalysis|Any CPU + {4BFAA336-5DF3-4F27-82D3-06D13240E8AB}.Debug|Any CPU.ActiveCfg = Debug|Any CPU + {4BFAA336-5DF3-4F27-82D3-06D13240E8AB}.Debug|Any CPU.Build.0 = Debug|Any CPU + {4BFAA336-5DF3-4F27-82D3-06D13240E8AB}.Release|Any CPU.ActiveCfg = Release|Any CPU + {4BFAA336-5DF3-4F27-82D3-06D13240E8AB}.Release|Any CPU.Build.0 = Release|Any CPU + {4BFAA336-5DF3-4F27-82D3-06D13240E8AB}.ReleaseNoUI|Any CPU.ActiveCfg = Release|Any CPU + {4BFAA336-5DF3-4F27-82D3-06D13240E8AB}.ReleaseNoUI|Any CPU.Build.0 = Release|Any CPU + {115217C5-22CD-415C-A292-0DD0238CDD89}.CodeAnalysis|Any CPU.ActiveCfg = CodeAnalysis|Any CPU + {115217C5-22CD-415C-A292-0DD0238CDD89}.CodeAnalysis|Any CPU.Build.0 = CodeAnalysis|Any CPU + {115217C5-22CD-415C-A292-0DD0238CDD89}.Debug|Any CPU.ActiveCfg = Debug|Any CPU + {115217C5-22CD-415C-A292-0DD0238CDD89}.Debug|Any CPU.Build.0 = Debug|Any CPU + {115217C5-22CD-415C-A292-0DD0238CDD89}.Release|Any CPU.ActiveCfg = Release|Any CPU + {115217C5-22CD-415C-A292-0DD0238CDD89}.Release|Any CPU.Build.0 = Release|Any CPU + {115217C5-22CD-415C-A292-0DD0238CDD89}.ReleaseNoUI|Any CPU.ActiveCfg = Release|Any CPU + {115217C5-22CD-415C-A292-0DD0238CDD89}.ReleaseNoUI|Any CPU.Build.0 = Release|Any CPU EndGlobalSection GlobalSection(SolutionProperties) = preSolution HideSolutionNode = FALSE @@ -557,6 +586,7 @@ Global {1E2CBAA5-60A3-4AED-912E-541F5753CDC6} = {B4C6F647-C046-4B54-BE12-7701C4119EE7} {8A5CEDB9-7F8A-4BE2-A1B9-97130F453277} = {B4C6F647-C046-4B54-BE12-7701C4119EE7} {AA78D112-D889-414B-A7D4-467B34C7B663} = {B4C6F647-C046-4B54-BE12-7701C4119EE7} + {2DA24D4F-6918-43CF-973C-BC9D818F8E90} = {B4C6F647-C046-4B54-BE12-7701C4119EE7} {2A59DE0A-B76A-4B42-9A33-04D34548353D} = {034D5B5B-7D00-4A9D-8AFE-4A476E0575B1} {AEA29D4D-396F-47F6-BC81-B58D4B855245} = {034D5B5B-7D00-4A9D-8AFE-4A476E0575B1} {07B193F1-68AD-4E9C-98AF-BEFB5E9403CB} = {034D5B5B-7D00-4A9D-8AFE-4A476E0575B1} @@ -569,7 +599,7 @@ Global {9529606E-AF76-4387-BFB7-3D10A5B399AA} = {1E2CBAA5-60A3-4AED-912E-541F5753CDC6} {E135F455-0669-49F8-9207-07FCA8C8FC79} = {1E2CBAA5-60A3-4AED-912E-541F5753CDC6} {C78E8235-1D46-43EB-A912-80B522C4E9AE} = {1E2CBAA5-60A3-4AED-912E-541F5753CDC6} - {8BEDB899-2632-4ADF-AB9A-012088FB2460} = {8A5CEDB9-7F8A-4BE2-A1B9-97130F453277} + {6EB90284-BD15-461C-BBF2-131CF55F7C8B} = {8A5CEDB9-7F8A-4BE2-A1B9-97130F453277} {5C65603B-235F-47E6-B536-06385C60DE7F} = {E9ED920D-1F83-48C0-9A4B-09CCE505FE6D} {A78F8FC6-7B03-4230-BE41-761E400D6810} = {B9EB8729-4B54-4453-B089-FE6761BA3057} {17932639-1F50-48AF-B0A5-E2BF832F82CC} = {B9EB8729-4B54-4453-B089-FE6761BA3057} @@ -582,6 +612,7 @@ Global {173E7B8D-E751-46E2-A133-F72297C0D2F4} = {8D4236F7-C49B-49D3-BA71-6B86C9514BDE} {60426312-6AE5-4835-8667-37EDEA670222} = {8D4236F7-C49B-49D3-BA71-6B86C9514BDE} {57A7DD35-666C-4FA3-9A1B-38961E50CA27} = {8D4236F7-C49B-49D3-BA71-6B86C9514BDE} + {115217C5-22CD-415C-A292-0DD0238CDD89} = {8D4236F7-C49B-49D3-BA71-6B86C9514BDE} {51835086-9611-4C53-819B-F2D5C9320873} = {8D4236F7-C49B-49D3-BA71-6B86C9514BDE} {F8284738-3B5D-4733-A511-38C23F4A763F} = {C7EF1823-3AA7-477E-8476-28929F5C05D2} {F458AB60-BA1C-43D9-8CEF-EC01B50BE87B} = {C7EF1823-3AA7-477E-8476-28929F5C05D2} @@ -602,5 +633,8 @@ Global {A1A3150A-7B0E-4A34-8E35-045296CD3C76} = {238B6BA8-AD99-43C9-B8E2-D2BCE6CE04DC} {ADC2CC8C-541E-4F86-ACB1-DD504A36FA4B} = {238B6BA8-AD99-43C9-B8E2-D2BCE6CE04DC} {3A8347E8-59A5-4092-8842-95C75D7D2F36} = {57A7DD35-666C-4FA3-9A1B-38961E50CA27} + {4BFAA336-5DF3-4F27-82D3-06D13240E8AB} = {57A7DD35-666C-4FA3-9A1B-38961E50CA27} + {2BF1FFD1-607E-40D0-8AB5-EDA677EF932D} = {2DA24D4F-6918-43CF-973C-BC9D818F8E90} + {CAA2408C-6918-4902-A512-58BCD62216C3} = {2DA24D4F-6918-43CF-973C-BC9D818F8E90} EndGlobalSection EndGlobal diff --git a/src/DotNetOpenAuth.sln.DotSettings b/src/DotNetOpenAuth.sln.DotSettings new file mode 100644 index 0000000..f4e5570 --- /dev/null +++ b/src/DotNetOpenAuth.sln.DotSettings @@ -0,0 +1,42 @@ +<wpf:ResourceDictionary xml:space="preserve" xmlns:x="http://schemas.microsoft.com/winfx/2006/xaml" xmlns:s="clr-namespace:System;assembly=mscorlib" xmlns:ss="urn:shemas-jetbrains-com:settings-storage-xaml" xmlns:wpf="http://schemas.microsoft.com/winfx/2006/xaml/presentation"> + <s:Boolean x:Key="/Default/CodeEditing/Intellisense/CodeCompletion/AutoCompleteBasicCompletion/@EntryValue">True</s:Boolean> + <s:Boolean x:Key="/Default/CodeEditing/Intellisense/LookupWindow/ShowSummary/@EntryValue">True</s:Boolean> + <s:Boolean x:Key="/Default/CodeEditing/Localization/CSharpLocalizationOptions/DontAnalyseVerbatimStrings/@EntryValue">False</s:Boolean> + <s:Boolean x:Key="/Default/CodeStyle/CodeFormatting/CSharpFormat/ALIGN_MULTILINE_ARRAY_AND_OBJECT_INITIALIZER/@EntryValue">False</s:Boolean> + <s:String x:Key="/Default/CodeStyle/CodeFormatting/CSharpFormat/ANONYMOUS_METHOD_DECLARATION_BRACES/@EntryValue">END_OF_LINE</s:String> + <s:String x:Key="/Default/CodeStyle/CodeFormatting/CSharpFormat/CASE_BLOCK_BRACES/@EntryValue">NEXT_LINE</s:String> + <s:String x:Key="/Default/CodeStyle/CodeFormatting/CSharpFormat/EMPTY_BLOCK_STYLE/@EntryValue">TOGETHER</s:String> + <s:String x:Key="/Default/CodeStyle/CodeFormatting/CSharpFormat/FORCE_FIXED_BRACES_STYLE/@EntryValue">ALWAYS_ADD</s:String> + <s:String x:Key="/Default/CodeStyle/CodeFormatting/CSharpFormat/FORCE_FOR_BRACES_STYLE/@EntryValue">ALWAYS_ADD</s:String> + <s:String x:Key="/Default/CodeStyle/CodeFormatting/CSharpFormat/FORCE_FOREACH_BRACES_STYLE/@EntryValue">ALWAYS_ADD</s:String> + <s:String x:Key="/Default/CodeStyle/CodeFormatting/CSharpFormat/FORCE_IFELSE_BRACES_STYLE/@EntryValue">ALWAYS_ADD</s:String> + <s:String x:Key="/Default/CodeStyle/CodeFormatting/CSharpFormat/FORCE_USING_BRACES_STYLE/@EntryValue">ALWAYS_ADD</s:String> + <s:String x:Key="/Default/CodeStyle/CodeFormatting/CSharpFormat/FORCE_WHILE_BRACES_STYLE/@EntryValue">ALWAYS_ADD</s:String> + <s:String x:Key="/Default/CodeStyle/CodeFormatting/CSharpFormat/INITIALIZER_BRACES/@EntryValue">END_OF_LINE</s:String> + <s:String x:Key="/Default/CodeStyle/CodeFormatting/CSharpFormat/INVOCABLE_DECLARATION_BRACES/@EntryValue">END_OF_LINE</s:String> + <s:Int64 x:Key="/Default/CodeStyle/CodeFormatting/CSharpFormat/KEEP_BLANK_LINES_IN_CODE/@EntryValue">1</s:Int64> + <s:Int64 x:Key="/Default/CodeStyle/CodeFormatting/CSharpFormat/KEEP_BLANK_LINES_IN_DECLARATIONS/@EntryValue">1</s:Int64> + <s:Boolean x:Key="/Default/CodeStyle/CodeFormatting/CSharpFormat/LINE_FEED_AT_FILE_END/@EntryValue">True</s:Boolean> + <s:String x:Key="/Default/CodeStyle/CodeFormatting/CSharpFormat/OTHER_BRACES/@EntryValue">END_OF_LINE</s:String> + <s:Boolean x:Key="/Default/CodeStyle/CodeFormatting/CSharpFormat/PLACE_CATCH_ON_NEW_LINE/@EntryValue">False</s:Boolean> + <s:Boolean x:Key="/Default/CodeStyle/CodeFormatting/CSharpFormat/PLACE_ELSE_ON_NEW_LINE/@EntryValue">False</s:Boolean> + <s:Boolean x:Key="/Default/CodeStyle/CodeFormatting/CSharpFormat/PLACE_FINALLY_ON_NEW_LINE/@EntryValue">False</s:Boolean> + <s:Boolean x:Key="/Default/CodeStyle/CodeFormatting/CSharpFormat/PLACE_WHILE_ON_NEW_LINE/@EntryValue">True</s:Boolean> + <s:String x:Key="/Default/CodeStyle/CodeFormatting/CSharpFormat/REDUNDANT_THIS_QUALIFIER_STYLE/@EntryValue">ALWAYS_USE</s:String> + <s:Boolean x:Key="/Default/CodeStyle/CodeFormatting/CSharpFormat/SPACE_WITHIN_SINGLE_LINE_ARRAY_INITIALIZER_BRACES/@EntryValue">True</s:Boolean> + <s:Boolean x:Key="/Default/CodeStyle/CodeFormatting/CSharpFormat/STICK_COMMENT/@EntryValue">False</s:Boolean> + <s:String x:Key="/Default/CodeStyle/CodeFormatting/CSharpFormat/TYPE_DECLARATION_BRACES/@EntryValue">END_OF_LINE</s:String> + <s:Boolean x:Key="/Default/CodeStyle/CodeFormatting/JavaScriptCodeFormatting/JavaScriptFormatOther/ALIGN_MULTIPLE_DECLARATION/@EntryValue">True</s:Boolean> + <s:Boolean x:Key="/Default/CodeStyle/CSharpUsing/AddImportsToDeepestScope/@EntryValue">True</s:Boolean> + <s:Boolean x:Key="/Default/CodeStyle/CSharpUsing/QualifiedUsingAtNestedScope/@EntryValue">True</s:Boolean> + <s:String x:Key="/Default/CodeStyle/FileHeader/FileHeaderText/@EntryValue">//-----------------------------------------------------------------------
 +// <copyright file="$FILENAME$" company="Outercurve Foundation">
 +// Copyright (c) Outercurve Foundation. All rights reserved.
 +// </copyright>
 +//-----------------------------------------------------------------------
 +</s:String> + <s:Boolean x:Key="/Default/CodeStyle/Generate/=Implementations/@KeyIndexDefined">True</s:Boolean> + <s:String x:Key="/Default/CodeStyle/Generate/=Implementations/Options/=WrapInRegion/@EntryIndexedValue">True</s:String> + <s:String x:Key="/Default/CodeStyle/Generate/=Implementations/Options/=XmlDocumentation/@EntryIndexedValue">True</s:String> + <s:String x:Key="/Default/CodeStyle/Naming/CSharpNaming/EventHandlerPatternLong/@EntryValue">$object$_On$event$</s:String> + <s:String x:Key="/Default/CodeStyle/Naming/VBNaming/EventHandlerPatternLong/@EntryValue">$object$_On$event$</s:String></wpf:ResourceDictionary>
\ No newline at end of file diff --git a/src/DotNetOpenAuth.Core/GlobalSuppressions.cs b/src/GlobalSuppressions.cs index 2bc6c04..e276042 100644 --- a/src/DotNetOpenAuth.Core/GlobalSuppressions.cs +++ b/src/GlobalSuppressions.cs @@ -67,4 +67,14 @@ using System.Diagnostics.CodeAnalysis; [assembly: SuppressMessage("Microsoft.Naming", "CA1703:ResourceStringsShouldBeSpelledCorrectly", MessageId = "iframe", Scope = "resource", Target = "DotNetOpenAuth.OpenId.OpenIdStrings.resources")] [assembly: SuppressMessage("Microsoft.Naming", "CA1703:ResourceStringsShouldBeSpelledCorrectly", MessageId = "Sig", Scope = "resource", Target = "DotNetOpenAuth.OpenId.OpenIdStrings.resources")] [assembly: SuppressMessage("Microsoft.Naming", "CA1701:ResourceStringCompoundWordsShouldBeCasedCorrectly", MessageId = "DSig", Scope = "resource", Target = "DotNetOpenAuth.OpenId.OpenIdStrings.resources")] -[assembly: System.Diagnostics.CodeAnalysis.SuppressMessage("Microsoft.Design", "CA1020:AvoidNamespacesWithFewTypes", Scope = "namespace", Target = "DotNetOpenAuth.OAuth2.ChannelElements")] +[assembly: SuppressMessage("Microsoft.Design", "CA1020:AvoidNamespacesWithFewTypes", Scope = "namespace", Target = "DotNetOpenAuth.OAuth2.ChannelElements")] +[assembly: SuppressMessage("Microsoft.Portability", "CA1903:UseOnlyApiFromTargetedFramework", MessageId = "System.Web.Abstractions, Version=3.5.0.0, Culture=neutral, PublicKeyToken=31bf3856ad364e35")] +[assembly: SuppressMessage("Microsoft.Design", "CA1026:DefaultParametersShouldNotBeUsed", Justification = "We don't have to cater to lesser CLR languages.")] +[assembly: SuppressMessage("Microsoft.Design", "CA1065:DoNotRaiseExceptionsInUnexpectedLocations", Scope = "member", Target = "DotNetOpenAuth.Messaging.IHttpDirectResponseContract.#DotNetOpenAuth.Messaging.IHttpDirectResponse.Headers", Justification = "Code contract")] +[assembly: SuppressMessage("Microsoft.Design", "CA1033:InterfaceMethodsShouldBeCallableByChildTypes", Scope = "member", Target = "DotNetOpenAuth.Messaging.IHttpDirectResponseContract.#DotNetOpenAuth.Messaging.IHttpDirectResponse.Headers", Justification = "Code contract")] +[assembly: SuppressMessage("Microsoft.Design", "CA1065:DoNotRaiseExceptionsInUnexpectedLocations", Scope = "member", Target = "DotNetOpenAuth.Messaging.IHttpDirectResponseContract.#DotNetOpenAuth.Messaging.IHttpDirectResponse.HttpStatusCode", Justification = "Code contract")] +[assembly: SuppressMessage("Microsoft.Design", "CA1033:InterfaceMethodsShouldBeCallableByChildTypes", Scope = "member", Target = "DotNetOpenAuth.Messaging.IHttpDirectResponseContract.#DotNetOpenAuth.Messaging.IHttpDirectResponse.HttpStatusCode", Justification = "Code contract")] +[assembly: SuppressMessage("Microsoft.Design", "CA1020:AvoidNamespacesWithFewTypes", Scope = "namespace", Target = "DotNetOpenAuth.ComponentModel", Justification = "Types distributed across assemblies.")] +[assembly: SuppressMessage("Microsoft.Design", "CA1020:AvoidNamespacesWithFewTypes", Scope = "namespace", Target = "DotNetOpenAuth.OAuth")] +[assembly: SuppressMessage("Microsoft.Design", "CA1020:AvoidNamespacesWithFewTypes", Scope = "namespace", Target = "DotNetOpenAuth.OAuth.ChannelElements")] +[assembly: SuppressMessage("Microsoft.Design", "CA1020:AvoidNamespacesWithFewTypes", Scope = "namespace", Target = "DotNetOpenAuth.Messaging")] diff --git a/src/Mono.Math/Properties/AssemblyInfo.cs b/src/Mono.Math/Properties/AssemblyInfo.cs index cea21c0..00cc4f4 100644 --- a/src/Mono.Math/Properties/AssemblyInfo.cs +++ b/src/Mono.Math/Properties/AssemblyInfo.cs @@ -1,6 +1,6 @@ //----------------------------------------------------------------------- -// <copyright file="AssemblyInfo.cs" company="Andrew Arnott"> -// Copyright (c) Andrew Arnott. All rights reserved. +// <copyright file="AssemblyInfo.cs" company="Outercurve Foundation"> +// Copyright (c) Outercurve Foundation. All rights reserved. // </copyright> //----------------------------------------------------------------------- @@ -25,7 +25,7 @@ using System.Web.UI; [assembly: AssemblyConfiguration("")] [assembly: AssemblyCompany("")] [assembly: AssemblyProduct("DotNetOpenAuth")] -[assembly: AssemblyCopyright("Copyright © 2008")] +[assembly: AssemblyCopyright("Copyright © 2011 Outercurve Foundation")] [assembly: AssemblyTrademark("")] [assembly: AssemblyCulture("")] [assembly: NeutralResourcesLanguage("en-US")] diff --git a/src/Org.Mentalis.Security.Cryptography/Properties/AssemblyInfo.cs b/src/Org.Mentalis.Security.Cryptography/Properties/AssemblyInfo.cs index 45a2fda..0e6f4b3 100644 --- a/src/Org.Mentalis.Security.Cryptography/Properties/AssemblyInfo.cs +++ b/src/Org.Mentalis.Security.Cryptography/Properties/AssemblyInfo.cs @@ -1,6 +1,6 @@ //----------------------------------------------------------------------- -// <copyright file="AssemblyInfo.cs" company="Andrew Arnott"> -// Copyright (c) Andrew Arnott. All rights reserved. +// <copyright file="AssemblyInfo.cs" company="Outercurve Foundation"> +// Copyright (c) Outercurve Foundation. All rights reserved. // </copyright> //----------------------------------------------------------------------- @@ -25,7 +25,7 @@ using System.Web.UI; [assembly: AssemblyConfiguration("")] [assembly: AssemblyCompany("")] [assembly: AssemblyProduct("DotNetOpenAuth")] -[assembly: AssemblyCopyright("Copyright © 2008")] +[assembly: AssemblyCopyright("Copyright © 2011 Outercurve Foundation")] [assembly: AssemblyTrademark("")] [assembly: AssemblyCulture("")] [assembly: NeutralResourcesLanguage("en-US")] |